aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add PIC load and store patterns for Thumb-2.David Goodwin2009-07-014-2/+79
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74577 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a global context, for easing backwards compatibility.Owen Anderson2009-06-302-0/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74574 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-mc: Introduce method to match a parsed x86 instruction into an MCInst.Daniel Dunbar2009-06-303-26/+31
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74573 91177308-0d34-0410-b5e6-96231b3b80d8
* Fill in some methods for the MCValue field of an MCOperand.Daniel Dunbar2009-06-301-2/+16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74572 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-mc: Accept relocatable expressions when parsing displacements andDaniel Dunbar2009-06-301-13/+13
| | | | | | | immediates. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74568 91177308-0d34-0410-b5e6-96231b3b80d8
* Thumb-2 load and store double description. But nothing yet creates them.David Goodwin2009-06-302-1/+40
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74566 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-mc: Symbols in a relocatable expression of the (a - b + cst) form areDaniel Dunbar2009-06-303-9/+14
| | | | | | | | allowed to be undefined when the expression is seen, we cannot enforce the same-section requirement until the entire assembly file has been seen. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74565 91177308-0d34-0410-b5e6-96231b3b80d8
* Add an "alignment" field to the MachineFunction object. It makes more sense toBill Wendling2009-06-3035-36/+122
| | | | | | | | | | | have the alignment be calculated up front, and have the back-ends obey whatever alignment is decided upon. This allows for future work that would allow for precise no-op placement and the like. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74564 91177308-0d34-0410-b5e6-96231b3b80d8
* Add thumb-2 store word, halfword, and byte.David Goodwin2009-06-304-0/+207
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74555 91177308-0d34-0410-b5e6-96231b3b80d8
* Drop redundant print impl.Andreas Bolka2009-06-301-3/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74553 91177308-0d34-0410-b5e6-96231b3b80d8
* Minor code cleanups.Dan Gohman2009-06-301-2/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74551 91177308-0d34-0410-b5e6-96231b3b80d8
* Reapply 74494, this time removing the conflicting definition of operator<<Dan Gohman2009-06-303-13/+8
| | | | | | | in APIntTest.cpp. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74550 91177308-0d34-0410-b5e6-96231b3b80d8
* Improve Thumb-2 jump table support.David Goodwin2009-06-305-14/+63
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74549 91177308-0d34-0410-b5e6-96231b3b80d8
* Add 256-bit memory operand support.David Greene2009-06-303-0/+16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74548 91177308-0d34-0410-b5e6-96231b3b80d8
* Add conditional and unconditional thumb-2 branch. Add thumb-2 jump table.David Goodwin2009-06-307-33/+112
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74543 91177308-0d34-0410-b5e6-96231b3b80d8
* Add wrappers for type construction to LLVMContext.Owen Anderson2009-06-302-0/+88
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74542 91177308-0d34-0410-b5e6-96231b3b80d8
* add a FAQ.Chris Lattner2009-06-301-0/+141
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74538 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix up header comments to make Chris happy.Owen Anderson2009-06-303-1/+21
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74537 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR4485.Rafael Espindola2009-06-303-4/+22
| | | | | | | | | Avoid unnecessary duplication of operand 0 of X86::FpSET_ST0_80. This duplication would cause one register to remain on the stack at the function return. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74534 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert my intentional breakage.Daniel Dunbar2009-06-301-2/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74531 91177308-0d34-0410-b5e6-96231b3b80d8
* Intentionally break a unittest to test my buildbot gtest command.Daniel Dunbar2009-06-301-0/+2
| | | | | | | - Apologies in advance for the noise. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74530 91177308-0d34-0410-b5e6-96231b3b80d8
* Suppress may-be-used-uninitialized warning.Daniel Dunbar2009-06-301-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74529 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix CMake buildDouglas Gregor2009-06-301-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74527 91177308-0d34-0410-b5e6-96231b3b80d8
* Fixed assert that checks return value of TlsSetValue.Oscar Fuentes2009-06-301-1/+1
| | | | | | | | | See http://msdn.microsoft.com/en-us/library/ms686818(VS.85).aspx Patch by Olaf Krzikalla! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74526 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR4484.Rafael Espindola2009-06-302-3/+20
| | | | | | | | This was caused by me confounding FP0 and ST(0). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74523 91177308-0d34-0410-b5e6-96231b3b80d8
* Temporarily restore the scavenger implicit_def checking code. MachineOperand ↵Evan Cheng2009-06-303-7/+152
| | | | | | isUndef mark is not being put on implicit_def of physical registers (created for parameter passing, etc.). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74519 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a bit IsUndef to MachineOperand. This indicates the def / use register ↵Evan Cheng2009-06-3011-79/+213
| | | | | | | | | | | operand is defined by an implicit_def. That means it can def / use any register and passes (e.g. register scavenger) can feel free to ignore them. The register allocator, when it allocates a register to a virtual register defined by an implicit_def, can allocate any physical register without worrying about overlapping live ranges. It should mark all of operands of the said virtual register so later passes will do the right thing. This is not the best solution. But it should be a lot less fragile to having the scavenger try to track what is defined by implicit_def. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74518 91177308-0d34-0410-b5e6-96231b3b80d8
* Temporarily revert r74494. It was causing failures in the unit tests.Bill Wendling2009-06-302-8/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74515 91177308-0d34-0410-b5e6-96231b3b80d8
* got confused againChris Lattner2009-06-301-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74514 91177308-0d34-0410-b5e6-96231b3b80d8
* fix some issues Jeff Yasskin noticedChris Lattner2009-06-301-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74512 91177308-0d34-0410-b5e6-96231b3b80d8
* add a note about re-evaluating end() every time through a loop.Chris Lattner2009-06-301-0/+63
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74511 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix the build on Cygwin. Patch by Aaron Gray.Owen Anderson2009-06-303-5/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74510 91177308-0d34-0410-b5e6-96231b3b80d8
* remove a bogus note.Chris Lattner2009-06-301-20/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74509 91177308-0d34-0410-b5e6-96231b3b80d8
* add a noteChris Lattner2009-06-301-0/+20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74508 91177308-0d34-0410-b5e6-96231b3b80d8
* #include <iostream> is forbidden. Remove it in favor of raw_ostream.Bill Wendling2009-06-303-27/+24
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74507 91177308-0d34-0410-b5e6-96231b3b80d8
* A few more load instructions.Evan Cheng2009-06-307-39/+246
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74500 91177308-0d34-0410-b5e6-96231b3b80d8
* Array accesses are independent if the underlying arrays differ.Andreas Bolka2009-06-305-2/+96
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74499 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-mc: Accept relocatable expressions for .org, assignments, .byte, etc.Daniel Dunbar2009-06-302-13/+33
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74498 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-mc: Rewrite binary subtraction for relocatable expressions, we can't alwaysDaniel Dunbar2009-06-301-26/+33
| | | | | | | legally negate an MCValue. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74497 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-mc: Evaluation for relocatable expressions.Daniel Dunbar2009-06-306-41/+152
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74496 91177308-0d34-0410-b5e6-96231b3b80d8
* Delete a spurious blank line at the top of the file.Dan Gohman2009-06-301-1/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74495 91177308-0d34-0410-b5e6-96231b3b80d8
* Define an operator<< for APInt to be used with std::ostream.Dan Gohman2009-06-302-0/+8
| | | | | | | | This will allow it to be used in unittests that use gtest's EXPECT_EQ. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74494 91177308-0d34-0410-b5e6-96231b3b80d8
* Minor formatting, whitespace, and 80-column fixes.Dan Gohman2009-06-301-7/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74492 91177308-0d34-0410-b5e6-96231b3b80d8
* Minor code simplification.Dan Gohman2009-06-301-3/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74491 91177308-0d34-0410-b5e6-96231b3b80d8
* Enhance tests to include shifted-register operand testing.David Goodwin2009-06-3014-19/+425
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74490 91177308-0d34-0410-b5e6-96231b3b80d8
* Normalize SourceMgr messages.Daniel Dunbar2009-06-309-20/+33
| | | | | | | | | | | | | - Don't print "Parsing" in front of every message. - Take additional "type" argument which is prepended to the message (with ": ") if given. - Update clients to print errors (warnings) as: <filename>:<line number>: error(warning): ... git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74489 91177308-0d34-0410-b5e6-96231b3b80d8
* Add LLVMContext, which will eventually be used as a container for ↵Owen Anderson2009-06-304-0/+562
| | | | | | | | | privatizing a lot of (currently) global state, including the constant and type uniquing tables. For now, just make it a wrapper around the existing APIs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74488 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-mc: Parse symbol attribute directives.Daniel Dunbar2009-06-303-0/+67
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74487 91177308-0d34-0410-b5e6-96231b3b80d8
* Regenerate.Mikhail Glushenkov2009-06-301-3/+24
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74485 91177308-0d34-0410-b5e6-96231b3b80d8
* Clang is now production quality (at least for C).Mikhail Glushenkov2009-06-301-3/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74484 91177308-0d34-0410-b5e6-96231b3b80d8