summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* MipsTargetLowering cleanupBruno Cardoso Lopes2008-07-092-34/+40
| | | | llvm-svn: 53270
* Remove getValueRange from SCEV. It wasn't doing anything there anyways, and aNick Lewycky2008-07-091-31/+0
| | | | | | more complete version is now available from the LoopVR pass. llvm-svn: 53269
* Consistently put quotes around pass names in debugging output.Dan Gohman2008-07-091-8/+8
| | | | llvm-svn: 53268
* If loop induction variable's start value is less then its exit value then do ↵Devang Patel2008-07-091-0/+13
| | | | | | not split the loop. llvm-svn: 53265
* const-ify SelectionDAG::getNodeValueTypes.Dan Gohman2008-07-091-2/+2
| | | | llvm-svn: 53264
* It's no longer necessary to test if a MachineBasicBlock'sDan Gohman2008-07-081-2/+1
| | | | | | parent is non-null. It now always is. llvm-svn: 53263
* Verify that MachineMemOperand alignment is a non-zero power of 2.Dan Gohman2008-07-081-0/+1
| | | | llvm-svn: 53262
* Factor out the code for computing an alignment value, and make itDan Gohman2008-07-081-38/+32
| | | | | | | available to getAtomic in addition to just getLoad and getStore, to prevent MachineMemOperands with 0 alignment. llvm-svn: 53261
* Fix the build. Apparently MachineInstr& is no longer implicitly convertable ↵Owen Anderson2008-07-081-1/+1
| | | | | | to MachineBasicBlock::iterator. llvm-svn: 53260
* Make the local register allocator compute (purely local) liveness ↵Owen Anderson2008-07-081-4/+118
| | | | | | | | | information for itself rather than depending on LiveVariables. This decreases compile time from: 0.5909s (LV + Regalloc) to 0.421s (just regalloc). llvm-svn: 53256
* Make debug info come out in data-only files.Dale Johannesen2008-07-083-15/+23
| | | | | | | | | | | This is a question of the debugging setup code not being called at the right time, and it's called from target-dependent code for some reason. I have only attempted to fix Darwin, but I'm pretty sure it's broken elsewhere; I'll leave that to people who can test it. llvm-svn: 53254
* Remove some dead code.Dale Johannesen2008-07-081-2/+0
| | | | llvm-svn: 53253
* Do not CSE DEBUG_LOC, DBG_LABEL, DBG_STOPPOINT, DECLARE, and EH_LABEL ↵Evan Cheng2008-07-082-45/+74
| | | | | | SDNode's. This improves compile time slightly at -O0 -g. llvm-svn: 53246
* Remove custom expansion from LegalizeTypes when doingDuncan Sands2008-07-084-42/+40
| | | | | | | | | soft float: experiments show that targets aren't expecting this for results or for operands. Add support select/select_cc result soft float and correct operand soft float for these. llvm-svn: 53245
* Add missing select_cc libcall line, somehow omittedDuncan Sands2008-07-081-0/+1
| | | | | | in LegalizeTypes. llvm-svn: 53244
* improve commentChris Lattner2008-07-081-1/+1
| | | | llvm-svn: 53243
* Add a new hidden option to the interpreter to cause it to printChris Lattner2008-07-081-0/+8
| | | | | | | out every volatile load and store. This is useful for tracking down insane volatile memory bugs. llvm-svn: 53241
* Fix PR2496, a really nasty bug which involved sinking volatile loads Chris Lattner2008-07-081-3/+11
| | | | | | | | | into phis. This is actually the same bug as PR2262 / 2008-04-29-VolatileLoadDontMerge.ll, but I missed checking the first predecessor for multiple successors. Testcase here: InstCombine/2008-07-08-VolatileLoadMerge.ll llvm-svn: 53240
* Unbreak C++ tests on x86 Darwin.Evan Cheng2008-07-082-7/+15
| | | | llvm-svn: 53237
* LegalizeTypes support for FP_ROUND and FP_EXTENDDuncan Sands2008-07-082-2/+46
| | | | | | soft float. llvm-svn: 53231
* Add some helpers for manipulating functionDuncan Sands2008-07-081-13/+7
| | | | | | parameter attributes. llvm-svn: 53228
* Pacify gcc-4.3.Duncan Sands2008-07-081-2/+4
| | | | llvm-svn: 53227
* Add some convenience methods for manipulatingDuncan Sands2008-07-081-14/+32
| | | | | | call attributes. llvm-svn: 53223
* Fix three bugs:Chris Lattner2008-07-081-56/+101
| | | | | | | | | | | 1) evaluate [v]fcmp true/false with undefs to true or false instead of undef. 2) fix vector comparisons with undef to return a vector result instead of i1 3) fix vector comparisons with evaluatable results to return vector true/false instead of i1 true/false (PR2529) llvm-svn: 53220
* Expand SCEVUDiv of power of 2 to a lshr instruction.Nick Lewycky2008-07-081-0/+14
| | | | llvm-svn: 53217
* Avoid unnecessary string construction during asm printing.Evan Cheng2008-07-083-15/+35
| | | | llvm-svn: 53215
* Pool-allocation for MachineInstrs, MachineBasicBlocks, andDan Gohman2008-07-0732-381/+469
| | | | | | | | | | | MachineMemOperands. The pools are owned by MachineFunctions. This drastically reduces the number of calls to malloc/free made during the "Emit" phase of scheduling, as well as later phases in CodeGen. Combined with other changes, this speeds up the "instruction selection" phase of CodeGen by 10% in some cases. llvm-svn: 53212
* Pool-allocation for SDNodes. The pool is allocated once for each function,Dan Gohman2008-07-072-88/+153
| | | | | | | | | and reused across SelectionDAGs. This drastically reduces the number of calls to malloc/free made during instruction selection, and improves memory locality. llvm-svn: 53211
* Add some basic Pool-allocation infrastructure. This adds a Recycler class,Dan Gohman2008-07-071-0/+7
| | | | | | | | for handling bookkeeping for deleted objects, as well as the alist class template, for keeping lists of objects allocated from Recyclers, and some related utilities. llvm-svn: 53210
* Clean up PPC register specification.Evan Cheng2008-07-071-34/+33
| | | | llvm-svn: 53209
* ATT asm printer just print register AsmName's instead of calling tolower on ↵Evan Cheng2008-07-074-120/+117
| | | | | | each charater of Name. This speeds it up by 10%. llvm-svn: 53208
* TargetRegisterDesc::Name field is the same as the abstract register name. ↵Evan Cheng2008-07-071-1/+0
| | | | | | There is no need for targets to specify register names in addition to their AsmName's. llvm-svn: 53207
* Use the canonical way to get an empty structure.Bill Wendling2008-07-071-3/+2
| | | | llvm-svn: 53206
* Use StringMap for greater justice!Bill Wendling2008-07-071-1/+1
| | | | llvm-svn: 53202
* Fix SDNode::MorphNodeTo (a function used by by SelectNodeTo) toDan Gohman2008-07-071-43/+50
| | | | | | | properly track dead nodes that are on the original SDNode's operand list but not the new one, and have no other uses. llvm-svn: 53201
* Move MachineMemOperand's constructor out of line, to avoid aDan Gohman2008-07-071-0/+11
| | | | | | #include dependency on Support/MathExtras.h in the header file. llvm-svn: 53200
* Simplify this use of BuildMI. This is also in preparation forDan Gohman2008-07-071-3/+1
| | | | | | pool-allocating MachineInstrs. llvm-svn: 53198
* Use of operator* is redundant and confusing here.Dan Gohman2008-07-071-1/+1
| | | | llvm-svn: 53197
* Minor const-correctness fixes.Dan Gohman2008-07-072-2/+2
| | | | llvm-svn: 53196
* Assert that all MachineInstrs update PhysRegUseDefLists inDan Gohman2008-07-071-0/+3
| | | | | | their cleanup code. llvm-svn: 53194
* Fix two serious LSR bugs.Evan Cheng2008-07-071-37/+37
| | | | | | | 1. LSR runOnLoop is always returning false regardless if any transformation is made. 2. AddUsersIfInteresting can create new instructions that are added to DeadInsts. But there is a later early exit which prevents them from being freed. llvm-svn: 53193
* fixed 32-bit fp_to_sint patternBruno Cardoso Lopes2008-07-072-10/+14
| | | | llvm-svn: 53192
* Remove most of the uses of SDOperandPtr, usually replacing it with aDan Gohman2008-07-071-38/+69
| | | | | | | | | | | | | | simple const SDOperand*, which is what's usually needed. For AddNodeIDOperands, which is small, just duplicate the function to accept an SDUse*. For SelectionDAG::getNode - Add an overload that accepts SDUse* that copies the operands into a temporary SDOperand array, but also has special-case checks for 0 through 3 operands to avoid the copy in the common cases. llvm-svn: 53183
* Add explicit keywords.Dan Gohman2008-07-0711-12/+12
| | | | llvm-svn: 53179
* Use empty() instead of size().Dan Gohman2008-07-071-1/+1
| | | | llvm-svn: 53178
* Make DenseMap's insert return a pair, to more closely resemble std::map.Dan Gohman2008-07-075-19/+29
| | | | llvm-svn: 53177
* LegalizeSetCCOperands should legalize the result of ExpandLibCall. Patch by ↵Evan Cheng2008-07-071-1/+1
| | | | | | Richard Osborne. llvm-svn: 53169
* Handle 'lshr' instruction with SCEVUDiv object.Nick Lewycky2008-07-071-2/+14
| | | | | | Comment the xor %x, -1 case. llvm-svn: 53167
* Prevent option name conflict.Bill Wendling2008-07-071-1/+1
| | | | llvm-svn: 53166
* LegalizeTypes soft-float support for stores of aDuncan Sands2008-07-072-0/+20
| | | | | | float value. llvm-svn: 53165
OpenPOWER on IntegriCloud