summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* Initialize uninitialized variables.Bill Wendling2009-12-161-1/+1
| | | | llvm-svn: 91475
* Change indirect-globals to use a dedicated allocIndirectGV. This lets usJeffrey Yasskin2009-12-155-46/+58
| | | | | | | | | remove start/finishGVStub and the BufferState helper class from the MachineCodeEmitter interface. It has the side-effect of not setting the indirect global writable and then executable on ARM, but that shouldn't be necessary. llvm-svn: 91464
* Reapply 91184 with fixes and an addition to the testcase to cover the problemBob Wilson2009-12-151-404/+424
| | | | | | | | | | found last time. Instead of trying to modify the IR while iterating over it, I've change it to keep a list of WeakVH references to dead instructions, and then delete those instructions later. I also added some special case code to detect and handle the situation when both operands of a memcpy intrinsic are referencing the same alloca. llvm-svn: 91459
* Fix GetConstantStringInfo to not look into MDString (it works on Chris Lattner2009-12-152-15/+7
| | | | | | | real data, not metadata) and fix DbgInfoPrinter to not abuse GetConstantStringInfo. llvm-svn: 91444
* Add support to emit debug info for C++ namespaces.Devang Patel2009-12-154-22/+105
| | | | llvm-svn: 91440
* optimize strstr, PR5783Chris Lattner2009-12-151-9/+75
| | | | llvm-svn: 91438
* Added encoding bits for the Thumb ISA. Initial checkin.Johnny Chen2009-12-153-348/+1219
| | | | llvm-svn: 91434
* Delete an unused function.Dan Gohman2009-12-151-38/+0
| | | | llvm-svn: 91432
* add some other xforms that should be done as part of PR5783Chris Lattner2009-12-151-3/+4
| | | | llvm-svn: 91428
* Remove isPod() from DenseMapInfo, splitting it out to its ownChris Lattner2009-12-159-11/+10
| | | | | | | | isPodLike type trait. This is a generally useful type trait for more than just DenseMap, and we really care about whether something acts like a pod, not whether it really is a pod. llvm-svn: 91421
* Fix an encoding bug.Evan Cheng2009-12-151-1/+1
| | | | llvm-svn: 91417
* For fastcc on x86, let ECX be used as a return register after EAX and EDXKenneth Uildriks2009-12-151-1/+8
| | | | llvm-svn: 91410
* Disable 91381 for now. It's miscompiling ARMISelDAG2DAG.cpp.Evan Cheng2009-12-151-1/+3
| | | | llvm-svn: 91405
* Make 91378 more conservative.Evan Cheng2009-12-151-1/+11
| | | | | | | 1. Only perform (zext (shl (zext x), y)) -> (shl (zext x), y) when y is a constant. This makes sure it remove at least one zest. 2. If the shift is a left shift, make sure the original shift cannot shift out bits. llvm-svn: 91399
* You can't use typedefs to declare template member specializations, andJohn McCall2009-12-151-35/+49
| | | | | | clang enforces it. llvm-svn: 91397
* Initial work on disabling the scheduler. This is a work in progress, and thisBill Wendling2009-12-153-29/+155
| | | | | | | | | | | | | | | stuff isn't used just yet. We want to model the GCC `-fno-schedule-insns' and `-fno-schedule-insns2' flags. The hypothesis is that the people who use these flags know what they are doing, and have hand-optimized the C code to reduce latencies and other conflicts. The idea behind our scheme to turn off scheduling is to create a map "on the side" during DAG generation. It will order the nodes by how they appeared in the code. This map is then used during scheduling to get the ordering. llvm-svn: 91392
* Tail duplication should zap a copy it inserted for SSA update if the copy is ↵Evan Cheng2009-12-151-13/+37
| | | | | | the only use of its source. llvm-svn: 91390
* Use sbb x, x to materialize carry bit in a GPR. The result is all one's or ↵Evan Cheng2009-12-154-3/+96
| | | | | | all zero's. llvm-svn: 91381
* Fold (zext (and x, cst)) -> (and (zext x), cst).Evan Cheng2009-12-151-0/+13
| | | | llvm-svn: 91380
* Propagate zest through logical shift.Evan Cheng2009-12-151-0/+10
| | | | llvm-svn: 91378
* Formatting.Eric Christopher2009-12-151-1/+1
| | | | llvm-svn: 91377
* Revert these. They may have been causing 483_xalancbmk to fail:Bill Wendling2009-12-152-52/+26
| | | | | | | | | | | | | | | | | | | | $ svn merge -c -91161 https://llvm.org/svn/llvm-project/llvm/trunk --- Reverse-merging r91161 into '.': U lib/CodeGen/BranchFolding.cpp U lib/CodeGen/MachineBasicBlock.cpp $ svn merge -c -91113 https://llvm.org/svn/llvm-project/llvm/trunk --- Reverse-merging r91113 into '.': G lib/CodeGen/MachineBasicBlock.cpp $ svn merge -c -91101 https://llvm.org/svn/llvm-project/llvm/trunk --- Reverse-merging r91101 into '.': U include/llvm/CodeGen/MachineBasicBlock.h G lib/CodeGen/MachineBasicBlock.cpp $ svn merge -c -91092 https://llvm.org/svn/llvm-project/llvm/trunk --- Reverse-merging r91092 into '.': G include/llvm/CodeGen/MachineBasicBlock.h G lib/CodeGen/MachineBasicBlock.cpp llvm-svn: 91376
* nand atomic requires opposite operand orderingJim Grosbach2009-12-151-3/+9
| | | | llvm-svn: 91371
* Fix integer cast code to handle vector types.Dan Gohman2009-12-143-22/+56
| | | | llvm-svn: 91362
* Fix this to properly clear the FastISel debug location. Thanks toDan Gohman2009-12-141-1/+1
| | | | | | Bill for spotting this! llvm-svn: 91355
* Add encoding bits "let Inst{11-4} = 0b00000000;" to BR_JTr to disambiguateJohnny Chen2009-12-141-0/+1
| | | | | | between BR_JTr and STREXD. llvm-svn: 91339
* The CIE says that the LSDA point in the FDE section is an "sdata4". That's fine,Bill Wendling2009-12-141-7/+6
| | | | | | but we need it to actually be 4-bytes in the FDE. llvm-svn: 91337
* v6 sync insn copy/paste errorJim Grosbach2009-12-141-1/+1
| | | | llvm-svn: 91333
* Add ARMv6 memory and sync barrier instructionsJim Grosbach2009-12-143-14/+45
| | | | llvm-svn: 91329
* Fixed encoding bits typo of ldrexd/strexd.Johnny Chen2009-12-141-2/+2
| | | | llvm-svn: 91327
* Thumb2 atomic operationsJim Grosbach2009-12-141-44/+83
| | | | llvm-svn: 91321
* Move several function bodies which are rarely inlined out of line.Dan Gohman2009-12-141-0/+67
| | | | llvm-svn: 91319
* fix an obvious bug found by clang++ and collapse a redundant if.Chris Lattner2009-12-141-7/+6
| | | | | | | | | | | Here's the diagnostic from clang: /Volumes/Data/dgregor/Projects/llvm/lib/Target/CppBackend/CPPBackend.cpp:989:23: warning: 'gv' is always NULL in this context         printConstant(gv);                       ^ 1 diagnostic generated. llvm-svn: 91318
* Micro-optimize these functions in the case where they are not inlined.Dan Gohman2009-12-141-2/+1
| | | | llvm-svn: 91316
* correct selection requirements for thumb2 vs. arm versions of the barrier ↵Jim Grosbach2009-12-142-4/+6
| | | | | | intrinsics llvm-svn: 91313
* add Thumb2 atomic and memory barrier instruction definitionsJim Grosbach2009-12-141-0/+60
| | | | llvm-svn: 91310
* whitespaceJim Grosbach2009-12-141-1/+0
| | | | llvm-svn: 91307
* ARM memory barrier instructions are not predicableJim Grosbach2009-12-142-3/+20
| | | | llvm-svn: 91305
* Clear the Processed set when it is no longer used, and clear theDan Gohman2009-12-141-1/+2
| | | | | | IVUses list in releaseMemory(). llvm-svn: 91296
* Fix a thinko; isNotAlreadyContainedIn had a built-in negative, so theDan Gohman2009-12-142-2/+2
| | | | | | condition was inverted when the code was converted to contains(). llvm-svn: 91295
* Remove unnecessary #includes.Dan Gohman2009-12-141-2/+0
| | | | llvm-svn: 91293
* Instead of having a ScalarEvolution pointer member in BasedUser, just passDan Gohman2009-12-141-12/+13
| | | | | | the ScalarEvolution pointer into the functions which need it. llvm-svn: 91289
* Don't bother cleaning up if there's nothing to clean up.Dan Gohman2009-12-141-6/+6
| | | | llvm-svn: 91288
* Delete an unused variable.Dan Gohman2009-12-141-10/+1
| | | | llvm-svn: 91287
* Drop Loop::isNotAlreadyContainedIn in favor of Loop::contains. TheDan Gohman2009-12-141-1/+1
| | | | | | former was just exposing a LoopInfoBase implementation detail. llvm-svn: 91286
* add ldrexd/strexd instructionsJim Grosbach2009-12-141-2/+11
| | | | llvm-svn: 91284
* LSR itself doesn't need LoopInfo.Dan Gohman2009-12-141-6/+2
| | | | llvm-svn: 91283
* LSR itself doesn't need DominatorTree.Dan Gohman2009-12-141-6/+2
| | | | llvm-svn: 91282
* Remove the code in LSR that manually hoists expansions out of loops;Dan Gohman2009-12-141-29/+9
| | | | | | SCEVExpander does this automatically. llvm-svn: 91281
* Minor code cleanups.Dan Gohman2009-12-141-4/+2
| | | | llvm-svn: 91280
OpenPOWER on IntegriCloud