summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms
Commit message (Collapse)AuthorAgeFilesLines
...
* Unbreak VC++ build.Jeff Cohen2006-11-052-6/+6
| | | | llvm-svn: 31464
* Remove commented line from earlier debugging.Nick Lewycky2006-11-051-2/+0
| | | | llvm-svn: 31460
* The wrong parameter was being tested to deturmine i32 vs i64Andrew Lenharth2006-11-031-1/+1
| | | | llvm-svn: 31431
* remove dead codeChris Lattner2006-11-031-13/+0
| | | | llvm-svn: 31398
* For PR786:Reid Spencer2006-11-0222-47/+22
| | | | | | | | | | Turn on -Wunused and -Wno-unused-parameter. Clean up most of the resulting fall out by removing unused variables. Remaining warnings have to do with unused functions (I didn't want to delete code without review) and unused variables in generated code. Maintainers should clean up the remaining issues when they see them. All changes pass DejaGnu tests and Olden. llvm-svn: 31380
* For PR950:Reid Spencer2006-11-023-119/+134
| | | | | | Replace the REM instruction with UREM, SREM and FREM. llvm-svn: 31369
* There can be more than one PHINode at the start of the block.Devang Patel2006-11-011-5/+4
| | | | llvm-svn: 31362
* Handle PHINode with only one incoming value.Devang Patel2006-11-011-5/+9
| | | | | | This fixes http://llvm.org/bugs/show_bug.cgi?id=979 llvm-svn: 31358
* Fix GlobalOpt/2006-11-01-ShrinkGlobalPhiCrash.ll and McGill/chompChris Lattner2006-11-011-8/+14
| | | | llvm-svn: 31352
* Factor gep instructions through phi nodes.Chris Lattner2006-11-011-10/+39
| | | | llvm-svn: 31346
* Turn a phi of many loads into a phi of the address and a single load of theChris Lattner2006-11-011-41/+30
| | | | | | | result. This can significantly shrink code and exposes identities more aggressively. llvm-svn: 31344
* Fix a bug in the previous patchChris Lattner2006-11-011-3/+6
| | | | llvm-svn: 31342
* Fold things like "phi [add (a,b), add(c,d)]" into two phi's and one add.Chris Lattner2006-11-011-3/+57
| | | | | | This triggers thousands of times on multisource. llvm-svn: 31341
* generalize the fix for PR977 to also fixChris Lattner2006-10-311-28/+26
| | | | | | Transforms/LCSSA/2006-10-31-UnreachableBlock-2.ll llvm-svn: 31317
* Fix PR977 and Transforms/LCSSA/2006-10-31-UnreachableBlock.llChris Lattner2006-10-311-1/+8
| | | | llvm-svn: 31315
* Fix SimplifyCFG/2006-10-29-InvokeCrash.ll, a crash compiling QT.Chris Lattner2006-10-291-1/+1
| | | | llvm-svn: 31284
* add option to isCriticalEdgeChris Lattner2006-10-281-3/+12
| | | | llvm-svn: 31258
* break edges more intelligentlyChris Lattner2006-10-281-2/+3
| | | | llvm-svn: 31257
* Expose a smarter way to break critical edges.Chris Lattner2006-10-281-5/+24
| | | | llvm-svn: 31256
* SplitCriticalEdge checks to see if an edge is critical, don't check twiceChris Lattner2006-10-281-2/+1
| | | | llvm-svn: 31255
* prepare for a change I'm about to makeChris Lattner2006-10-281-0/+6
| | | | llvm-svn: 31248
* Simplify code a bit by changing instances of:Reid Spencer2006-10-261-47/+27
| | | | | | | | InsertNewInstBefore(new CastInst(Val, ValTy, Val->GetName()), I) into: InsertCastBefore(Val, ValTy, I) llvm-svn: 31204
* For PR950:Reid Spencer2006-10-264-135/+256
| | | | | | | | Make necessary changes to support DIV -> [SUF]Div. This changes llvm to have three division instructions: signed, unsigned, floating point. The bytecode and assembler are bacwards compatible, however. llvm-svn: 31195
* Fix 2006-10-25-AddSetCC. A relational operator (like setlt) can neverNick Lewycky2006-10-261-27/+46
| | | | | | produce an EQ property. llvm-svn: 31193
* Resurrect r1.25.Nick Lewycky2006-10-251-117/+154
| | | | | | Fix and comment the "or", "and" and "xor" transformations. llvm-svn: 31189
* hide symbols properlyChris Lattner2006-10-251-1/+1
| | | | llvm-svn: 31184
* Fix Transforms/ScalarRepl/2006-10-23-PointerUnionCrash.llChris Lattner2006-10-241-5/+10
| | | | llvm-svn: 31151
* Revert back to r1.21, which was the last revision of predsimplify thatChris Lattner2006-10-241-134/+109
| | | | | | passes llvm-gcc bootstrap. llvm-svn: 31146
* Handle fallout from the recent branch-on-undef changes. This fixesChris Lattner2006-10-231-1/+24
| | | | | | Prolangs-C/agrep and SCCP/2006-10-23-IPSCCP-Crash.ll llvm-svn: 31132
* Remove the Backwards operation. Resolving now works at the time when aNick Lewycky2006-10-231-90/+102
| | | | | | | property is added by running through the list of uses of the value and adding resolved properties to the property set. llvm-svn: 31126
* Fix similar missing optimization opportunity in XOR.Nick Lewycky2006-10-221-13/+22
| | | | llvm-svn: 31123
* Whoops! Add missing NULL check.Nick Lewycky2006-10-221-0/+1
| | | | llvm-svn: 31121
* Handle "if ((x|y) != 0)" for ints like we do for bools. Fixes missedNick Lewycky2006-10-221-10/+13
| | | | | | optimization opportunity pointed out by Chris Lattner. llvm-svn: 31118
* AllocaInst can't return a null pointer. Fixes missed optimizationNick Lewycky2006-10-221-0/+6
| | | | | | opportunity pointed out by Andrew Lewycky. llvm-svn: 31115
* Add a workaround for PR962, disabling the more aggressive form of thisChris Lattner2006-10-221-0/+8
| | | | | | transformation. This speeds up a C++ app 2.25x. llvm-svn: 31113
* 3 Changes:Chris Lattner2006-10-221-24/+35
| | | | | | | | | | 1. Better document what is going on here. 2. Only hack on one branch per iteration, making the results less conservative. 3. Handle the problematic case by marking edges executable instead of by playing with value lattice states. This is far less pessimistic, and fixes SCCP/ipsccp-gvar.ll. llvm-svn: 31106
* llvm-extract should remove module-level asmChris Lattner2006-10-201-3/+3
| | | | llvm-svn: 31086
* Fix an ugly problem in SCCP. This fixes Benchmarks/Misc-C++/mandel-text.cppChris Lattner2006-10-201-2/+3
| | | | llvm-svn: 31073
* Fix miscompilation of MallocBench/espresso which code review pointed outChris Lattner2006-10-201-1/+1
| | | | | | but apparently didn't make it into the final patch. llvm-svn: 31070
* For PR950:Reid Spencer2006-10-2023-453/+492
| | | | | | | | This patch implements the first increment for the Signless Types feature. All changes pertain to removing the ConstantSInt and ConstantUInt classes in favor of just using ConstantInt. llvm-svn: 31063
* While creating mask, use 1ULL instead of 1.Devang Patel2006-10-201-1/+1
| | | | llvm-svn: 31062
* Fix SimplifyCFG/2006-10-19-UncondDiv.ll by disabling a bad xform.Chris Lattner2006-10-201-23/+40
| | | | llvm-svn: 31061
* It is OK to remove extra cast if operation is EQ/NE even though sourceDevang Patel2006-10-191-2/+3
| | | | | | and destination sign may not match but other conditions are met. llvm-svn: 31056
* Typo Typo.Devang Patel2006-10-191-1/+1
| | | | llvm-svn: 31055
* Typo.Devang Patel2006-10-191-1/+1
| | | | llvm-svn: 31054
* Fix bug in PR454 resolution. Added new test case.Devang Patel2006-10-191-1/+15
| | | | | | This fixes llvmAsmParser.cpp miscompile by llvm on PowerPC Darwin. llvm-svn: 31053
* Undo Chris' last patch, it caused a regression.Reid Spencer2006-10-161-2/+2
| | | | llvm-svn: 30991
* fix a buggy check that accidentally disabled this xformChris Lattner2006-10-151-1/+1
| | | | llvm-svn: 30967
* Replace custom dispatch code with two uses of InstVisitor. ImprovesNick Lewycky2006-10-121-93/+113
| | | | | | compile-time performance. llvm-svn: 30896
* Implement SROA of unions with mixed pointers/integers in them. This implementsChris Lattner2006-10-081-10/+16
| | | | | | PR892 and Transforms/ScalarRepl/union-pointer.ll:test2 llvm-svn: 30825
OpenPOWER on IntegriCloud