summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* Minor code cleanups.Dan Gohman2009-11-121-9/+9
| | | | llvm-svn: 86926
* with the new code we can thread non-instruction values. ThisChris Lattner2009-11-121-1/+6
| | | | | | allows us to handle the test10 testcase. llvm-svn: 86924
* this argument can be an arbitrary value, it doesn't need to be an instruction.Chris Lattner2009-11-121-4/+3
| | | | llvm-svn: 86923
* expose edge information and switch j-t to use it.Chris Lattner2009-11-122-2/+23
| | | | llvm-svn: 86920
* Fixed an iteration condition in PreAllocSplitting. This should fix some ↵Lang Hames2009-11-121-1/+1
| | | | | | miscompilations casued by PreAllocSplitting. llvm-svn: 86919
* move some stuff into DEBUG's and turn on lazy-value-info forChris Lattner2009-11-121-3/+5
| | | | | | the basic.ll testcase. llvm-svn: 86918
* Fix typo, cleanup whitespace.Eric Christopher2009-11-121-35/+35
| | | | llvm-svn: 86917
* Do not use StringRef in DebugInfo interface. Devang Patel2009-11-122-17/+28
| | | | | | | This allows StringRef to skip controversial if(str) check in constructor. Buildbots, wait for corresponding clang and llvm-gcc FE check-ins! llvm-svn: 86914
* Tail merge at any size when there are two potentials blocks and oneDan Gohman2009-11-121-10/+34
| | | | | | can be made to fall through into the other. llvm-svn: 86909
* Don't mark a call as potentially throwing if the function it's calling has theBill Wendling2009-11-111-1/+21
| | | | | | "nounwind" attribute. llvm-svn: 86897
* A real solution for the first part of PR5445Bruno Cardoso Lopes2009-11-111-1/+6
| | | | llvm-svn: 86895
* make LazyValueInfo actually to some stuff. This isn't very tested but improvesChris Lattner2009-11-111-8/+152
| | | | | | strswitch. llvm-svn: 86889
* pass TD into a SimplifyCmpInst call. Add another case thatChris Lattner2009-11-111-3/+24
| | | | | | uses LVI info when -enable-jump-threading-lvi is passed. llvm-svn: 86886
* Promote MergePotentialsElt and SameTailElt to be regular classesDan Gohman2009-11-112-58/+107
| | | | | | | instead of typedefs for std::pair. This simplifies the type of SameTails, which previously was std::vector<std::pair<std::vector<std::pair<unsigned, MachineBasicBlock *> >::iterator, MachineBasicBlock::iterator> llvm-svn: 86885
* x86 users can now return arbitrary sized structs. Structs too large to fit ↵Kenneth Uildriks2009-11-112-67/+211
| | | | | | in return registers will be returned through a hidden sret parameter introduced during SelectionDAG construction. llvm-svn: 86876
* Revert this line of 86871.Dan Gohman2009-11-111-1/+1
| | | | llvm-svn: 86875
* If doesSupportDebugInformation() is false then do not try to emit dwarf ↵Devang Patel2009-11-111-0/+3
| | | | | | debug info. llvm-svn: 86874
* Check in the changes to this file too.Dan Gohman2009-11-111-3/+9
| | | | llvm-svn: 86873
* Add support for tail duplication to BranchFolding, and extendDan Gohman2009-11-112-53/+296
| | | | | | | | | | | tail merging support to handle more cases. - Recognize several cases where tail merging is beneficial even when the tail size is smaller than the generic threshold. - Make use of MachineInstrDesc::isBarrier to help detect non-fallthrough blocks. - Check for and avoid disrupting fall-through edges in more cases. llvm-svn: 86871
* Fix liveness calculation when splitting critical edges during PHI elimination.Jakob Stoklund Olesen2009-11-113-52/+78
| | | | | | | | | | | | | | - Edges are split before any phis are eliminated, so the code is SSA. - Create a proper IR BasicBlock for the split edges. - LiveVariables::addNewBlock now has same syntax as MachineDominatorTree::addNewBlock. Algorithm calculates predecessor live-out set rather than successor live-in set. This feature still causes some miscompilations. llvm-svn: 86867
* Add TargetLowering::isLegalICmpImmediate. It tells LSR what immediate can be ↵Evan Cheng2009-11-112-0/+18
| | | | | | folded into target icmp instructions. llvm-svn: 86858
* Do jump table adjustment before constant island allocationJim Grosbach2009-11-111-4/+7
| | | | llvm-svn: 86857
* Fix indentation level.Dan Gohman2009-11-111-8/+8
| | | | llvm-svn: 86856
* Whitespace cleanups.Dan Gohman2009-11-111-93/+92
| | | | llvm-svn: 86855
* Prefix MBB numbers with "BB#" in debug output to make it clear whatDan Gohman2009-11-111-3/+3
| | | | | | the numbers mean. llvm-svn: 86854
* Minor code simplification.Dan Gohman2009-11-111-9/+8
| | | | llvm-svn: 86853
* Set isBarrier = 1 on return instructions, as they are control barriers.Dan Gohman2009-11-115-4/+5
| | | | llvm-svn: 86851
* Use a tab in INT3's asm string, for consistency.Dan Gohman2009-11-111-1/+1
| | | | llvm-svn: 86850
* another const prop failure.Chris Lattner2009-11-111-0/+9
| | | | llvm-svn: 86848
* add a noteChris Lattner2009-11-111-0/+28
| | | | llvm-svn: 86847
* Reject duplicate case values in a switch, PR5450.Chris Lattner2009-11-111-1/+5
| | | | llvm-svn: 86846
* Don't trivially delete unused calls to llvm.invariant.start. This allowsDuncan Sands2009-11-111-0/+3
| | | | | | | | | | | | | llvm.invariant.start to be used without necessarily being paired with a call to llvm.invariant.end. If you run the entire optimization pipeline then such calls are in fact deleted (adce does it), but that's actually a good thing since we probably do want them to be zapped late in the game. There should really be an integration test that checks that the llvm.invariant.start call lasts long enough that all passes that do interesting things with it get to do their stuff before it is deleted. But since no passes do anything interesting with it yet this will have to wait for later. llvm-svn: 86840
* remove the now dead condprop pass, PR3906.Chris Lattner2009-11-113-294/+0
| | | | llvm-svn: 86810
* Remove dead code.Rafael Espindola2009-11-111-5/+0
| | | | llvm-svn: 86802
* Show command-line args and features passed into backend in debug output. ↵Sandeep Patel2009-11-111-0/+6
| | | | | | Approved by Evan Cheng. llvm-svn: 86797
* Fix -Asserts warning.Daniel Dunbar2009-11-111-0/+1
| | | | llvm-svn: 86794
* The TBB and TBH instructions for Thumb2 are really handy for jump tables, butJim Grosbach2009-11-111-3/+96
| | | | | | | | | | | can only branch forward. To best take advantage of them, we'd like to adjust the basic blocks around a bit when reasonable. This patch puts basics in place to do that, with a super-simple algorithm for backwards jump table targets that creates a new branch after the jump table which branches backwards. Real heuristics for reordering blocks or other modifications rather than inserting branches will follow. llvm-svn: 86791
* stub out some LazyValueInfo interfaces, and have JumpThreadingChris Lattner2009-11-112-19/+161
| | | | | | | | start using them in a trivial way when -enable-jump-threading-lvi is passed. enable-jump-threading-lvi will be my playground for awhile. llvm-svn: 86789
* Make sure that the exception handling data has the same visibility as theBill Wendling2009-11-111-2/+7
| | | | | | function it's generated for. llvm-svn: 86779
* Do not assume first function scope seen represents current function. Devang Patel2009-11-111-2/+3
| | | | llvm-svn: 86771
* Add From arguments to StringRef search functions, and tweak doxyments.Daniel Dunbar2009-11-111-9/+24
| | | | | | Also, add unittests for find_first_of and find_first_not_of. llvm-svn: 86770
* llvm-gcc/clang don't (won't?) need this hack.Daniel Dunbar2009-11-111-1/+2
| | | | llvm-svn: 86769
* Stub out a new lazy value info pass, which will eventuallyChris Lattner2009-11-112-0/+32
| | | | | | vend value constraint information to the optimizer. llvm-svn: 86767
* add a fixmeChris Lattner2009-11-111-0/+4
| | | | llvm-svn: 86766
* remove redundant foward declaration. This function is already in Chris Lattner2009-11-111-1/+3
| | | | | | Analysis/Passes.h llvm-svn: 86765
* While creating DbgScopes, do not forget parent scope. Devang Patel2009-11-111-0/+2
| | | | llvm-svn: 86763
* Block terminator may be a switch.Evan Cheng2009-11-111-1/+1
| | | | llvm-svn: 86761
* add a noteChris Lattner2009-11-101-0/+2
| | | | llvm-svn: 86756
* I did this a week or two agoChris Lattner2009-11-101-6/+0
| | | | llvm-svn: 86754
* Ignore variable if scope info is not available.Devang Patel2009-11-101-2/+5
| | | | llvm-svn: 86753
OpenPOWER on IntegriCloud