aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Initial work on disabling the scheduler. This is a work in progress, and thisBill Wendling2009-12-154-29/+205
| | | | | | | | | | | | | | | | 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91392 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91390 91177308-0d34-0410-b5e6-96231b3b80d8
* Use sbb x, x to materialize carry bit in a GPR. The result is all one's or ↵Evan Cheng2009-12-155-3/+119
| | | | | | all zero's. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91381 91177308-0d34-0410-b5e6-96231b3b80d8
* Fold (zext (and x, cst)) -> (and (zext x), cst).Evan Cheng2009-12-152-4/+17
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91380 91177308-0d34-0410-b5e6-96231b3b80d8
* NNT: Make sure stderr for build commands goes to log file, as intended but ↵Daniel Dunbar2009-12-151-4/+4
| | | | | | misdirected. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91379 91177308-0d34-0410-b5e6-96231b3b80d8
* Propagate zest through logical shift.Evan Cheng2009-12-153-0/+61
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91378 91177308-0d34-0410-b5e6-96231b3b80d8
* Formatting.Eric Christopher2009-12-151-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91377 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert these. They may have been causing 483_xalancbmk to fail:Bill Wendling2009-12-153-57/+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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91376 91177308-0d34-0410-b5e6-96231b3b80d8
* nand atomic requires opposite operand orderingJim Grosbach2009-12-151-3/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91371 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix integer cast code to handle vector types.Dan Gohman2009-12-144-22/+69
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91362 91177308-0d34-0410-b5e6-96231b3b80d8
* Move Flag and isVoid after the vector types, since bit arithmetic withDan Gohman2009-12-142-47/+49
| | | | | | | those enum values is less common. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91361 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix these asserts to check the invariant that the code actuallyDan Gohman2009-12-141-2/+2
| | | | | | | depends on. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91360 91177308-0d34-0410-b5e6-96231b3b80d8
* Update this comment.Dan Gohman2009-12-141-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91356 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix this to properly clear the FastISel debug location. Thanks toDan Gohman2009-12-141-1/+1
| | | | | | | Bill for spotting this! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91355 91177308-0d34-0410-b5e6-96231b3b80d8
* Rearrange rules to add missing dependency and allow parallel makes.Bob Wilson2009-12-141-8/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91352 91177308-0d34-0410-b5e6-96231b3b80d8
* Add encoding bits "let Inst{11-4} = 0b00000000;" to BR_JTr to disambiguateJohnny Chen2009-12-141-0/+1
| | | | | | between BR_JTr and STREXD. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91339 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91337 91177308-0d34-0410-b5e6-96231b3b80d8
* v6 sync insn copy/paste errorJim Grosbach2009-12-141-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91333 91177308-0d34-0410-b5e6-96231b3b80d8
* Add ARMv6 memory and sync barrier instructionsJim Grosbach2009-12-143-14/+45
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91329 91177308-0d34-0410-b5e6-96231b3b80d8
* Fixed encoding bits typo of ldrexd/strexd.Johnny Chen2009-12-141-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91327 91177308-0d34-0410-b5e6-96231b3b80d8
* Thumb2 atomic operationsJim Grosbach2009-12-141-44/+83
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91321 91177308-0d34-0410-b5e6-96231b3b80d8
* Add svn:ignore entries for the Disassembler files.Dan Gohman2009-12-140-0/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91320 91177308-0d34-0410-b5e6-96231b3b80d8
* Move several function bodies which are rarely inlined out of line.Dan Gohman2009-12-142-25/+82
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91319 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91318 91177308-0d34-0410-b5e6-96231b3b80d8
* Micro-optimize these functions in the case where they are not inlined.Dan Gohman2009-12-142-10/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91316 91177308-0d34-0410-b5e6-96231b3b80d8
* correct selection requirements for thumb2 vs. arm versions of the barrier ↵Jim Grosbach2009-12-142-4/+6
| | | | | | intrinsics git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91313 91177308-0d34-0410-b5e6-96231b3b80d8
* Add radar fixed in comment.Eric Christopher2009-12-141-5/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91312 91177308-0d34-0410-b5e6-96231b3b80d8
* add Thumb2 atomic and memory barrier instruction definitionsJim Grosbach2009-12-141-0/+60
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91310 91177308-0d34-0410-b5e6-96231b3b80d8
* whitespaceJim Grosbach2009-12-141-1/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91307 91177308-0d34-0410-b5e6-96231b3b80d8
* ARM memory barrier instructions are not predicableJim Grosbach2009-12-142-3/+20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91305 91177308-0d34-0410-b5e6-96231b3b80d8
* NNT: Use [e]grep -a when scanning logs, its possibly they will have non-textDaniel Dunbar2009-12-141-5/+5
| | | | | | | characters in them, in which case the grep will just return 'Binary file matches' and the whole thing falls over. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91302 91177308-0d34-0410-b5e6-96231b3b80d8
* NNT: Always create the -sentdata.txt file.Daniel Dunbar2009-12-141-4/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91301 91177308-0d34-0410-b5e6-96231b3b80d8
* Clear the Processed set when it is no longer used, and clear theDan Gohman2009-12-141-1/+2
| | | | | | | IVUses list in releaseMemory(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91296 91177308-0d34-0410-b5e6-96231b3b80d8
* 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(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91295 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove unnecessary #includes.Dan Gohman2009-12-141-2/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91293 91177308-0d34-0410-b5e6-96231b3b80d8
* Make the IVUses member private.Dan Gohman2009-12-141-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91291 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91289 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't bother cleaning up if there's nothing to clean up.Dan Gohman2009-12-141-6/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91288 91177308-0d34-0410-b5e6-96231b3b80d8
* Delete an unused variable.Dan Gohman2009-12-141-10/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91287 91177308-0d34-0410-b5e6-96231b3b80d8
* Drop Loop::isNotAlreadyContainedIn in favor of Loop::contains. TheDan Gohman2009-12-142-8/+1
| | | | | | | former was just exposing a LoopInfoBase implementation detail. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91286 91177308-0d34-0410-b5e6-96231b3b80d8
* add ldrexd/strexd instructionsJim Grosbach2009-12-141-2/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91284 91177308-0d34-0410-b5e6-96231b3b80d8
* LSR itself doesn't need LoopInfo.Dan Gohman2009-12-141-6/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91283 91177308-0d34-0410-b5e6-96231b3b80d8
* LSR itself doesn't need DominatorTree.Dan Gohman2009-12-141-6/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91282 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove the code in LSR that manually hoists expansions out of loops;Dan Gohman2009-12-141-29/+9
| | | | | | | SCEVExpander does this automatically. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91281 91177308-0d34-0410-b5e6-96231b3b80d8
* Minor code cleanups.Dan Gohman2009-12-141-4/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91280 91177308-0d34-0410-b5e6-96231b3b80d8
* Use DW_AT_specification to point to DIE describing function declaration.Devang Patel2009-12-142-63/+32
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91278 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove empty file completelyShantonu Sen2009-12-141-0/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91277 91177308-0d34-0410-b5e6-96231b3b80d8
* Add "generic" fallback.Torok Edwin2009-12-141-0/+1
| | | | | | | | gcc warned that the function may not have a return value, indeed for non-intel and non-amd X86 CPUs it is right (VIA, etc.). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91276 91177308-0d34-0410-b5e6-96231b3b80d8
* Added CalcSpillWeights to CMakeLists.Lang Hames2009-12-141-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91275 91177308-0d34-0410-b5e6-96231b3b80d8
* Whitespace changes, comment clarification. No functional changes.Bill Wendling2009-12-143-23/+33
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91274 91177308-0d34-0410-b5e6-96231b3b80d8