aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Comparing a pointer with null is not a capture.Dan Gohman2009-11-191-0/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89389 91177308-0d34-0410-b5e6-96231b3b80d8
* Only run this mutex test if threading is enabled. ThisDuncan Sands2009-11-191-0/+3
| | | | | | | fixes PR5395. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89385 91177308-0d34-0410-b5e6-96231b3b80d8
* Place new basic blocks immediately after their predecessor when splittingJakob Stoklund Olesen2009-11-191-7/+7
| | | | | | | | | critical edges in PHIElimination. This has a huge impact on regalloc performance, and we recover almost all of the 10% compile time regression that edge splitting introduced. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89381 91177308-0d34-0410-b5e6-96231b3b80d8
* Reverting the EH table patches.Bill Wendling2009-11-192-31/+8
| | | | | | | | | | | | | | | $ svn merge -c -89279 https://llvm.org/svn/llvm-project/llvm/trunk --- Reverse-merging r89279 into '.': U lib/CodeGen/AsmPrinter/DwarfException.cpp U lib/Target/TargetLoweringObjectFile.cpp $ svn merge -c -89270 https://llvm.org/svn/llvm-project/llvm/trunk --- Reverse-merging r89270 into '.': G lib/CodeGen/AsmPrinter/DwarfException.cpp G lib/Target/TargetLoweringObjectFile.cpp git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89379 91177308-0d34-0410-b5e6-96231b3b80d8
* Added NLdStLN which is similar to NLdSt with the exception that op7_4 is notJohnny Chen2009-11-192-76/+169
| | | | | | | | | fully specified at this level. Subclasses of NLdStLN can specify selective bit(s) for Inst{7-4}, as is done for VLD[234]LN* and VST[234]LN* inside ARMInstrNEON.td. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89377 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a small bug.David Greene2009-11-191-1/+1
| | | | | | | | Fix one case we missed to make sure we reserve registers from allocation. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89376 91177308-0d34-0410-b5e6-96231b3b80d8
* Enable hoisting of loads from constant memory by default. In cases whereDan Gohman2009-11-192-12/+2
| | | | | | | | | they are lowered to instruction sequences more complex than a simple load, such that CodeGen cannot rematerialize them, a reload from a spill slot is likely to be cheaper than the complex sequence. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89374 91177308-0d34-0410-b5e6-96231b3b80d8
* Use StringRef::min instead of std::min.Daniel Dunbar2009-11-191-5/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89372 91177308-0d34-0410-b5e6-96231b3b80d8
* fix typoJim Grosbach2009-11-191-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89369 91177308-0d34-0410-b5e6-96231b3b80d8
* TableGen/OptParser: When ordering options, make "sentinel" options appear beforeDaniel Dunbar2009-11-191-3/+10
| | | | | | everything else. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89368 91177308-0d34-0410-b5e6-96231b3b80d8
* Trailing whitespace.Mikhail Glushenkov2009-11-191-25/+25
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89364 91177308-0d34-0410-b5e6-96231b3b80d8
* Make example/Hello compile again.Mikhail Glushenkov2009-11-191-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89363 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a typo in a comment.Dan Gohman2009-11-191-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89360 91177308-0d34-0410-b5e6-96231b3b80d8
* cstdlib is not automatically included with StringRef anymore.Benjamin Kramer2009-11-191-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89359 91177308-0d34-0410-b5e6-96231b3b80d8
* Reenable Split2 StringRef test with Apple gcc.Benjamin Kramer2009-11-191-6/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89357 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for spreading register allocation.David Greene2009-11-191-7/+60
| | | | | | | | | | | | | | Add a -linearscan-skip-count argument (default to 0) that tells the allocator to remember the last N registers it allocated and skip them when looking for a register candidate. This tends to spread out register usage and free up post-allocation scheduling at the cost of slightly more register pressure. The primary benefit is the ability to backschedule reloads. This is turned off by default. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89356 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove the now obsolete algorithm include from StringRef.h.Benjamin Kramer2009-11-191-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89354 91177308-0d34-0410-b5e6-96231b3b80d8
* Workaround PR5482, because all the gcc versions that I had were miscompiling ↵Torok Edwin2009-11-191-7/+20
| | | | | | | | | | | StringRef: 4.2.4, 4.3.4, 4.4.2. The workaround is to use a local min/max implementation that takes an integer param, and not a reference to integer param (like std::min does). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89352 91177308-0d34-0410-b5e6-96231b3b80d8
* Unbreak x64 MSVC build. Patch by Nicolas Capens!Benjamin Kramer2009-11-191-0/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89341 91177308-0d34-0410-b5e6-96231b3b80d8
* Add PS3 Triple class, Credit to John Thompson.Edward O'Callaghan2009-11-192-2/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89339 91177308-0d34-0410-b5e6-96231b3b80d8
* 80 col violation.Evan Cheng2009-11-191-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89337 91177308-0d34-0410-b5e6-96231b3b80d8
* Unbreak test, Bruno please check.Daniel Dunbar2009-11-191-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89329 91177308-0d34-0410-b5e6-96231b3b80d8
* More consistent thumb1 asm printing.Evan Cheng2009-11-198-17/+33
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89328 91177308-0d34-0410-b5e6-96231b3b80d8
* Shrink ldr / str [sp, imm0-1024] to 16-bit instructions.Evan Cheng2009-11-192-8/+32
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89326 91177308-0d34-0410-b5e6-96231b3b80d8
* Eliminate more * 4 in Thumb1 asm printing for consistency sake.Evan Cheng2009-11-191-4/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89325 91177308-0d34-0410-b5e6-96231b3b80d8
* - Add sugregister logic to handle f64=(f32,f32).Bruno Cardoso Lopes2009-11-195-4/+167
| | | | | | | | | | | | | | - Support mips1 like load/store of doubles: Instead of: sdc $f0, X($3) Generate: swc $f0, X($3) swc $f1, X+4($3) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89322 91177308-0d34-0410-b5e6-96231b3b80d8
* Only use small sections for non linux targets!Bruno Cardoso Lopes2009-11-191-0/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89316 91177308-0d34-0410-b5e6-96231b3b80d8
* Added a new Spiller implementation which wraps ↵Lang Hames2009-11-193-25/+55
| | | | | | | | | | | LiveIntervals::addIntervalsForSpills. All spiller calls in RegAllocLinearScan now go through the new Spiller interface. The "-new-spill-framework" command line option has been removed. To use the trivial in-place spiller you should now pass "-spiller=trivial -rewriter=trivial". (Note the trivial spiller/rewriter are only meant to serve as examples of the new in-place modification work. Enabling them will yield terrible, though hopefully functional, code). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89311 91177308-0d34-0410-b5e6-96231b3b80d8
* autoconf config.* claims to not know about auroraux triple.Edward O'Callaghan2009-11-192-1/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89301 91177308-0d34-0410-b5e6-96231b3b80d8
* Teach IVUsers to keep things simpler and track loop-invariant strides onlyJim Grosbach2009-11-191-0/+10
| | | | | | | for uses inside the loop. This works better with LSR. Disabled behind -simplify-iv-users while benchmarking. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89299 91177308-0d34-0410-b5e6-96231b3b80d8
* Eliminate duplicate phi nodes in loops. Loop rotation, for example, can ↵Jim Grosbach2009-11-191-0/+6
| | | | | | introduce these, and it's beneficial to later passes to clean them up. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89298 91177308-0d34-0410-b5e6-96231b3b80d8
* Make EliminateDuplicatePHINodes() available as a utility functionJim Grosbach2009-11-192-2/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89297 91177308-0d34-0410-b5e6-96231b3b80d8
* Test from Dhrystone to make sure that we're not emitting an aligned load for aBill Wendling2009-11-191-0/+28
| | | | | | | string that's aligned at 8-bytes instead of 16-bytes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89295 91177308-0d34-0410-b5e6-96231b3b80d8
* Add TOOLALIAS makefile variable; this defines an alternate name for a programDaniel Dunbar2009-11-191-4/+45
| | | | | | | | | | which the makefiles will create by symlinking the actual tool to. - For use by clang, where we want to make 'clang++' and alias for clang (which enables C++ support in the driver) - Not sure this is the best approach, alternative suggestions welcome! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89282 91177308-0d34-0410-b5e6-96231b3b80d8
* The "ReadOnlyWithRel" enum seems to apply more to what Darwin does with the EHBill Wendling2009-11-192-5/+6
| | | | | | | exception table than DataRel. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89279 91177308-0d34-0410-b5e6-96231b3b80d8
* Twine: Stores kinds as uchar instead of bitfield to be friendlier to theDaniel Dunbar2009-11-191-4/+4
| | | | | | optimizer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89278 91177308-0d34-0410-b5e6-96231b3b80d8
* There should be no need to keep renumbering blocks during tail duplication.Bob Wilson2009-11-181-3/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89275 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix buildbots.Bob Wilson2009-11-181-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89274 91177308-0d34-0410-b5e6-96231b3b80d8
* Add XCore support for indirectbr / blockaddress.Richard Osborne2009-11-185-1/+68
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89273 91177308-0d34-0410-b5e6-96231b3b80d8
* De-bork CMake buildDouglas Gregor2009-11-181-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89272 91177308-0d34-0410-b5e6-96231b3b80d8
* Attempt #2:Bill Wendling2009-11-182-7/+29
| | | | | | | | Place the EH table in the __TEXT section on MachO. It saves space. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89270 91177308-0d34-0410-b5e6-96231b3b80d8
* Tail duplication still needs to iterate. Duplicating new instructions ontoBob Wilson2009-11-182-3/+71
| | | | | | | the tail of a block may make that block a new candidate for duplication. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89264 91177308-0d34-0410-b5e6-96231b3b80d8
* Add another statistic to measure code size due to tail duplication.Bob Wilson2009-11-181-0/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89254 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove spurious @verbatim. Patch by Timo Juhani Lindfors!Jeffrey Yasskin2009-11-181-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89252 91177308-0d34-0410-b5e6-96231b3b80d8
* Not all ASM has # for comments.Bill Wendling2009-11-181-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89250 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR5300.Jakob Stoklund Olesen2009-11-182-12/+34
| | | | | | | | When TwoAddressInstructionPass deletes a dead instruction, make sure that all register kills are accounted for. The 2-addr register does not get special treatment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89246 91177308-0d34-0410-b5e6-96231b3b80d8
* TableGen: Add initial backend for clang Driver's option parsing.Daniel Dunbar2009-11-183-10/+248
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89245 91177308-0d34-0410-b5e6-96231b3b80d8
* Allow the machine verifier to be run outside the PassManager.Jakob Stoklund Olesen2009-11-182-18/+161
| | | | | | Verify LiveVariables information when present. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89241 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove the -early-coalescing optionJakob Stoklund Olesen2009-11-182-147/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89240 91177308-0d34-0410-b5e6-96231b3b80d8
* Fixed the in-place spiller and trivial rewriter, which had been broken by ↵Lang Hames2009-11-183-221/+56
| | | | | | the recent SlotIndexes work. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89238 91177308-0d34-0410-b5e6-96231b3b80d8