aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* There is only one case where GVRequiresExtraLoad returns true for calls:Chris Lattner2009-07-104-80/+37
| | | | | | | | split its handling out to PCRelGVRequiresExtraLoad, and simplify code based on this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75230 91177308-0d34-0410-b5e6-96231b3b80d8
* the "isDirectCall" operand of GVRequiresRegister is always false, eliminate it.Chris Lattner2009-07-103-11/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75229 91177308-0d34-0410-b5e6-96231b3b80d8
* split call handling out of X86SelectAddress into X86SelectCallAddressChris Lattner2009-07-101-18/+164
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75228 91177308-0d34-0410-b5e6-96231b3b80d8
* convert a helper method to be a static function instead of a Chris Lattner2009-07-101-11/+14
| | | | | | | template. Also convert it to take a MachineOperand instead of a GV* git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75227 91177308-0d34-0410-b5e6-96231b3b80d8
* 80 col violation.Evan Cheng2009-07-101-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75226 91177308-0d34-0410-b5e6-96231b3b80d8
* More info about Thumb1 predication support.Evan Cheng2009-07-101-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75220 91177308-0d34-0410-b5e6-96231b3b80d8
* We don't need separate thumb1 instructions tADDSi3 etc. for addc and subc. ↵Evan Cheng2009-07-101-36/+28
| | | | | | The "normal" version always modify condition register CPSR so we should just use def : pat to match to the same instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75219 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a thumb2 pass to insert IT blocks.Evan Cheng2009-07-108-10/+132
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75218 91177308-0d34-0410-b5e6-96231b3b80d8
* Move isPredicated from .cpp to .hEvan Cheng2009-07-102-6/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75217 91177308-0d34-0410-b5e6-96231b3b80d8
* Finish pushing LLVMContext through the IRBuilder/ConstantFolder interface.Owen Anderson2009-07-104-82/+98
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75213 91177308-0d34-0410-b5e6-96231b3b80d8
* 80 col violation.Evan Cheng2009-07-101-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75212 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix #include specification.David Greene2009-07-101-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75208 91177308-0d34-0410-b5e6-96231b3b80d8
* ImmutableMap/ImmutableSet: Allow caching of ImutAVLTree digests while the treeTed Kremenek2009-07-101-21/+12
| | | | | | | | | is still mutable. My experiments show this reduces the amount of times we compute a full tree digest by over 50% on very small cases, and potentially much larger on others. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75207 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove a bogus assertion.Evan Cheng2009-07-102-2/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75206 91177308-0d34-0410-b5e6-96231b3b80d8
* Replace TM.getRegisterInfo() calls by TRI instance variable.Bob Wilson2009-07-101-25/+24
| | | | | | | Use getAsmName() method instead of accessing AsmName field directly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75205 91177308-0d34-0410-b5e6-96231b3b80d8
* Redesign this to avoid standard stream classes. This stream classDavid Greene2009-07-092-0/+200
| | | | | | | | provides pretty -printing of comments and other such things in asm files. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75202 91177308-0d34-0410-b5e6-96231b3b80d8
* Handle 'a' modifier on inline assembly operands.Bob Wilson2009-07-092-2/+14
| | | | | | | This is part of the fix for pr4521. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75201 91177308-0d34-0410-b5e6-96231b3b80d8
* This started as a small change, I swear. Unfortunately, lots of things call ↵Owen Anderson2009-07-0937-332/+481
| | | | | | the [I|F]CmpInst constructors. Who knew!? git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75200 91177308-0d34-0410-b5e6-96231b3b80d8
* Add some hooks that a redesigned AsmStream needs to do its job. TheseDavid Greene2009-07-092-0/+17
| | | | | | | allow derived classes to examine the stream buffer before it's flushed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75199 91177308-0d34-0410-b5e6-96231b3b80d8
* Added Thumb IT instruction.Evan Cheng2009-07-092-0/+25
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75198 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix an apparent copy-and-paste problem in an error message.Bob Wilson2009-07-091-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75197 91177308-0d34-0410-b5e6-96231b3b80d8
* Another todo entry.Evan Cheng2009-07-091-0/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75192 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert the part of 75177 that split ConstantRange into two classes, andDan Gohman2009-07-093-1002/+91
| | | | | | | | | merge the new functionality and unittests into ConstantRange. Thanks to Nick Lewycky for pointing out that it isn't necessary to have two separate classes here. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75191 91177308-0d34-0410-b5e6-96231b3b80d8
* Initial support for load / store multiple opt pass Thumb2 support ↵Evan Cheng2009-07-091-55/+158
| | | | | | (post-allocation only). It's kind of there, but not quite. I'll return to this later. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75190 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix ldm / stm unified syntax; add t2LDM_RET.Evan Cheng2009-07-091-2/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75188 91177308-0d34-0410-b5e6-96231b3b80d8
* LDM_RET should be marked mayLoad.Evan Cheng2009-07-091-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75187 91177308-0d34-0410-b5e6-96231b3b80d8
* If -fomit-frame-pointer is used, we still need to record when the %esp registerBill Wendling2009-07-091-1/+20
| | | | | | | | | | | | | | is modified. Otherwise, the unwinder will get confused. The old code (before I started my hacking) did this. It dropped on the floor, because I wasn't aware of this requirement. On the plus side, if we use "alloca" in a function, we create frame pointers even with -fomit-frame-pointer is enabled! This is a Good Thing(tm)!!! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75183 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix ldrd / strd address mode matching code. It allows for +/- 8 bit offset. ↵Evan Cheng2009-07-093-3/+22
| | | | | | | | | Also change the printer to make the scale 4 explicit. Note, we are not yet generating these instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75181 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix typo, trailing whitespace.Andreas Bolka2009-07-091-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75179 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a ConstantSignedRange class, which does for signed integersDan Gohman2009-07-093-56/+1369
| | | | | | | | | | | | | | what ConstantRange does for unsigned integers. Factor out a common base class for common functionality. Add some new functions for performing arithmetic on constant ranges. Some of these are currently just stubbed out with conservative implementations. Add unittests for ConstantRange and ConstantSignedRange. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75177 91177308-0d34-0410-b5e6-96231b3b80d8
* Make EXTRACT_VECTOR_ELT a bit more flexible in terms of the returned Eli Friedman2009-07-097-56/+46
| | | | | | | | | | | value. Adjust other code to deal with that correctly. Make DAGTypeLegalizer::PromoteIntRes_EXTRACT_VECTOR_ELT take advantage of this new flexibility to simplify the code and make it deal with unusual vectors (like <4 x i1>) correctly. Fixes PR3037. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75176 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a Thumb readme entry.Evan Cheng2009-07-091-0/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75173 91177308-0d34-0410-b5e6-96231b3b80d8
* Correct comment.Evan Cheng2009-07-091-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75172 91177308-0d34-0410-b5e6-96231b3b80d8
* bug 4524: Add MSP430 to the cmake build.Richard Pennington2009-07-092-4/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75170 91177308-0d34-0410-b5e6-96231b3b80d8
* Handle 'A' modifier in inline asms.Dale Johannesen2009-07-091-0/+9
| | | | | | | | | gcc.apple/asm-block-13.c gcc.apple/asm-block-57.c git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75169 91177308-0d34-0410-b5e6-96231b3b80d8
* Regenerate.Mikhail Glushenkov2009-07-091-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75167 91177308-0d34-0410-b5e6-96231b3b80d8
* Documentation update.Mikhail Glushenkov2009-07-092-0/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75166 91177308-0d34-0410-b5e6-96231b3b80d8
* We don't need to set SaveTemps here.Mikhail Glushenkov2009-07-091-1/+0
| | | | | | '--temp-dir' always overrides 'save-temps'. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75165 91177308-0d34-0410-b5e6-96231b3b80d8
* Adjust comment.Mikhail Glushenkov2009-07-091-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75164 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove some duplication.Mikhail Glushenkov2009-07-091-17/+17
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75163 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename -t to --temp-dir.Mikhail Glushenkov2009-07-091-2/+2
| | | | | | | -t is already used by gcc in the meaning 'ld -t' (trace). The Base plugin may want to emulate this behaviour. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75162 91177308-0d34-0410-b5e6-96231b3b80d8
* As Chris pointed out, we don't actually need to pass the context around here.Owen Anderson2009-07-093-5/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75161 91177308-0d34-0410-b5e6-96231b3b80d8
* back out r75156 for now.Chris Lattner2009-07-092-489/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75160 91177308-0d34-0410-b5e6-96231b3b80d8
* A little bit more LLVMContextification.Owen Anderson2009-07-092-5/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75159 91177308-0d34-0410-b5e6-96231b3b80d8
* Handle Thumb-2 addressing modes during FP elimination.David Goodwin2009-07-091-0/+13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75158 91177308-0d34-0410-b5e6-96231b3b80d8
* ImmutableSet/ImmutableMap: Allow caching of null digests by properly using a ↵Ted Kremenek2009-07-091-37/+45
| | | | | | flag to record if the digest of an ImutAVLTree has been cached. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75157 91177308-0d34-0410-b5e6-96231b3b80d8
* Add some classes to produce pretty-printed asm. We'll use theseDavid Greene2009-07-092-0/+489
| | | | | | | | shortly to provide nicely printed comments and other goodies in asm files. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75156 91177308-0d34-0410-b5e6-96231b3b80d8
* By default -t is always on for mcc16 and it uses ./tmp-objs as the temp ↵Sanjiv Gupta2009-07-091-1/+2
| | | | | | directory. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75155 91177308-0d34-0410-b5e6-96231b3b80d8
* Fixed handling of -t. It gets the prirority for temp dir name.Sanjiv Gupta2009-07-091-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75154 91177308-0d34-0410-b5e6-96231b3b80d8
* Thread LLVMContext through MVT and related parts of SDISel.Owen Anderson2009-07-0925-101/+131
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75153 91177308-0d34-0410-b5e6-96231b3b80d8