summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Avoid compiler warnings when assertions are turned off.Duncan Sands2009-07-101-4/+4
| | | | llvm-svn: 75269
* Avoid compiler warnings if assertions turned off.Duncan Sands2009-07-101-0/+2
| | | | llvm-svn: 75267
* CMOVxx doesn't swap operands which it's commuted.Evan Cheng2009-07-102-0/+67
| | | | llvm-svn: 75266
* Remove TargetInstrInfo::CommuteChangesDestination and added ↵Evan Cheng2009-07-103-22/+60
| | | | | | findCommutedOpIndices which returns the operand indices which are swapped (when applicable). This allows for some code clean up and future enhancements. llvm-svn: 75264
* Eliminate an unnecessary include.David Greene2009-07-101-2/+0
| | | | llvm-svn: 75256
* Push LLVMContext through the PatternMatch API.Owen Anderson2009-07-102-111/+134
| | | | llvm-svn: 75255
* Predicate VFP instructions on HasVFP2 instead of IsARM. This allows VFP ↵David Goodwin2009-07-102-14/+42
| | | | | | instructions with thumb-2. llvm-svn: 75254
* Generalize ScalarEvolution's cast-folding code to support more kindsDan Gohman2009-07-101-111/+521
| | | | | | | of loops. Add several new functions to for working with ScalarEvolution's add-hoc value-range analysis functionality. llvm-svn: 75252
* Update for GlobalVariables ctor change.Owen Anderson2009-07-101-3/+2
| | | | llvm-svn: 75251
* t2LDM_RET does not fall-through.David Goodwin2009-07-101-1/+1
| | | | llvm-svn: 75250
* Add Thumb2ITBlockPass.cpp to CMakeLists.txt, fixingDuncan Sands2009-07-101-0/+1
| | | | | | the cmake build. llvm-svn: 75246
* make this more like printOperand. Perhaps some merging will happenChris Lattner2009-07-101-3/+2
| | | | | | tomorrow. llvm-svn: 75245
* simplify fast isel by using ClassifyGlobalReference. ThisChris Lattner2009-07-103-53/+14
| | | | | | elimiantes the last use of GVRequiresExtraLoad, so delete it. llvm-svn: 75244
* eliminate GVRequiresRegister, replacing it with predicates we Chris Lattner2009-07-103-24/+9
| | | | | | need for other purposes. llvm-svn: 75243
* change a bunch of logic in LowerGlobalAddress to leverage the workChris Lattner2009-07-101-17/+10
| | | | | | | done in ClassifyGlobalReference instead of reconstructing the info awkwardly. llvm-svn: 75240
* add a predicate to determine if a global var reference requires aChris Lattner2009-07-101-0/+16
| | | | | | PIC-base to be added in. llvm-svn: 75238
* move some classification logic around. Now GVRequiresExtraLoadChris Lattner2009-07-103-74/+100
| | | | | | | is just a trivial wrapper around "ClassifyGlobalReference", which stole a ton of logic from LowerGlobalAddress. llvm-svn: 75237
* change isGlobalStubReference to take target flags instead of a MachineOperand.Chris Lattner2009-07-104-9/+9
| | | | llvm-svn: 75236
* convert some late code (called by regalloc and code emission)Chris Lattner2009-07-102-12/+5
| | | | | | | to use isGlobalStubReference instead of GVRequiresExtraLoad (which should really be part of isel). llvm-svn: 75234
* add a new predicate method that says whether a GlobalValue Chris Lattner2009-07-101-1/+27
| | | | | | | MachineOperand is a reference to a stub, not a reference to the global variable itself. Look no context needed! llvm-svn: 75233
* GVRequiresExtraLoad is now never used for calls, simplify it based on this.Chris Lattner2009-07-106-17/+10
| | | | llvm-svn: 75232
* actually, just eliminate PCRelGVRequiresExtraLoad. It makes the codeChris Lattner2009-07-104-22/+2
| | | | | | more complex and slow than just directly testing what we care about. llvm-svn: 75231
* 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. llvm-svn: 75230
* the "isDirectCall" operand of GVRequiresRegister is always false, eliminate it.Chris Lattner2009-07-103-11/+9
| | | | llvm-svn: 75229
* split call handling out of X86SelectAddress into X86SelectCallAddressChris Lattner2009-07-101-18/+164
| | | | llvm-svn: 75228
* 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* llvm-svn: 75227
* More info about Thumb1 predication support.Evan Cheng2009-07-101-1/+2
| | | | llvm-svn: 75220
* 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. llvm-svn: 75219
* Add a thumb2 pass to insert IT blocks.Evan Cheng2009-07-106-10/+130
| | | | llvm-svn: 75218
* Move isPredicated from .cpp to .hEvan Cheng2009-07-102-6/+4
| | | | llvm-svn: 75217
* 80 col violation.Evan Cheng2009-07-101-1/+2
| | | | llvm-svn: 75212
* Remove a bogus assertion.Evan Cheng2009-07-101-2/+0
| | | | llvm-svn: 75206
* Replace TM.getRegisterInfo() calls by TRI instance variable.Bob Wilson2009-07-101-25/+24
| | | | | | Use getAsmName() method instead of accessing AsmName field directly. llvm-svn: 75205
* Redesign this to avoid standard stream classes. This stream classDavid Greene2009-07-091-0/+21
| | | | | | | provides pretty -printing of comments and other such things in asm files. llvm-svn: 75202
* Handle 'a' modifier on inline assembly operands.Bob Wilson2009-07-091-2/+7
| | | | | | This is part of the fix for pr4521. llvm-svn: 75201
* This started as a small change, I swear. Unfortunately, lots of things call ↵Owen Anderson2009-07-0928-258/+365
| | | | | | the [I|F]CmpInst constructors. Who knew!? llvm-svn: 75200
* Add some hooks that a redesigned AsmStream needs to do its job. TheseDavid Greene2009-07-091-0/+1
| | | | | | allow derived classes to examine the stream buffer before it's flushed. llvm-svn: 75199
* Added Thumb IT instruction.Evan Cheng2009-07-092-0/+25
| | | | llvm-svn: 75198
* Fix an apparent copy-and-paste problem in an error message.Bob Wilson2009-07-091-1/+1
| | | | llvm-svn: 75197
* Another todo entry.Evan Cheng2009-07-091-0/+5
| | | | llvm-svn: 75192
* Revert the part of 75177 that split ConstantRange into two classes, andDan Gohman2009-07-091-513/+28
| | | | | | | | 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. llvm-svn: 75191
* 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. llvm-svn: 75190
* Fix ldm / stm unified syntax; add t2LDM_RET.Evan Cheng2009-07-091-2/+12
| | | | llvm-svn: 75188
* LDM_RET should be marked mayLoad.Evan Cheng2009-07-091-1/+1
| | | | llvm-svn: 75187
* 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)!!! llvm-svn: 75183
* 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. llvm-svn: 75181
* Add a ConstantSignedRange class, which does for signed integersDan Gohman2009-07-091-19/+572
| | | | | | | | | | | | | 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. llvm-svn: 75177
* Make EXTRACT_VECTOR_ELT a bit more flexible in terms of the returned Eli Friedman2009-07-094-55/+24
| | | | | | | | | 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. llvm-svn: 75176
* Add a Thumb readme entry.Evan Cheng2009-07-091-0/+6
| | | | llvm-svn: 75173
* Correct comment.Evan Cheng2009-07-091-1/+1
| | | | llvm-svn: 75172
OpenPOWER on IntegriCloud