summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms
Commit message (Collapse)AuthorAgeFilesLines
* Add new helper pass that strips all symbol names except debugging information.Devang Patel2008-11-181-28/+51
| | | | | | This pass makes it easier to test wheter debugging info. influences optimization passes or not. llvm-svn: 59552
* Remove even more llvm.dbg variables.Devang Patel2008-11-181-33/+50
| | | | | | | Remove all dead globals from llvm.metadata. Ignore linkonce linkage for selected llvm.dbg values. llvm-svn: 59547
* Initialize MallocFunc and FreeFunc properly.Devang Patel2008-11-181-1/+1
| | | | llvm-svn: 59538
* Cast to remove warning about comparing signed and unsigned.Bill Wendling2008-11-181-1/+1
| | | | llvm-svn: 59518
* Give SIToFPInst preference over UIToFPInst because it is faster on platforms ↵Devang Patel2008-11-181-3/+20
| | | | | | that are widely used. llvm-svn: 59476
* While handling floating point IVs lift restrictions on initial value and ↵Devang Patel2008-11-171-25/+42
| | | | | | increment value. llvm-svn: 59471
* Handle floating point ivs during doInitialization().Devang Patel2008-11-171-144/+130
| | | | llvm-svn: 59466
* Let AnalyzeAlloca() remove debug intrinsics.Devang Patel2008-11-171-20/+11
| | | | llvm-svn: 59454
* If SI->size() is 0, we are not allowed to dereference ->begin().Torok Edwin2008-11-161-2/+4
| | | | | | This fixed PR3078. llvm-svn: 59416
* eliminate some std::set's.Chris Lattner2008-11-161-9/+10
| | | | llvm-svn: 59409
* simplify loopChris Lattner2008-11-161-5/+2
| | | | llvm-svn: 59406
* simplify a bunch more instcombines to use m_Specific etc.Chris Lattner2008-11-161-40/+37
| | | | llvm-svn: 59403
* factor the code for simplifying (icmp)|(icmp) into its own function.Chris Lattner2008-11-161-151/+167
| | | | llvm-svn: 59402
* do some computation with apints instead of ConstantInts.Chris Lattner2008-11-161-6/+5
| | | | llvm-svn: 59401
* merge a check into a place where it is simpler.Chris Lattner2008-11-161-20/+17
| | | | llvm-svn: 59400
* factor a whole bunch of code out into a helper function.Chris Lattner2008-11-161-149/+166
| | | | llvm-svn: 59398
* simplify the conditions on two gigantic if's, decreasing indentationChris Lattner2008-11-161-290/+289
| | | | | | a bit. Next step is to factor out into their own helper functions. llvm-svn: 59397
* simplify some instcombine matches by using m_SpecificChris Lattner2008-11-161-37/+34
| | | | llvm-svn: 59395
* Use new m_SelectCst template to eliminate macros.Chris Lattner2008-11-161-9/+5
| | | | llvm-svn: 59392
* simplify code.Chris Lattner2008-11-161-17/+12
| | | | llvm-svn: 59390
* Handle the case where there is no "not". It is possible it got Chris Lattner2008-11-161-0/+4
| | | | | | folded into the select. llvm-svn: 59389
* factor a bunch of copy/paste code out into a helper function.Chris Lattner2008-11-161-61/+35
| | | | | | | Eliminate the cases checking for cond?0:-1, since that is already handled by commutative checking. llvm-svn: 59388
* rearrange some code, no functionality change.Chris Lattner2008-11-161-21/+21
| | | | llvm-svn: 59381
* if we're going to use a macro, use it maximally. no functionality change.Chris Lattner2008-11-161-8/+8
| | | | llvm-svn: 59380
* Refactor code.Devang Patel2008-11-141-37/+60
| | | | | | Strip debug information before stripping symbol names. llvm-svn: 59328
* Really remove all debug information.Devang Patel2008-11-131-11/+52
| | | | llvm-svn: 59208
* CMake: Remove removed source file.Oscar Fuentes2008-11-121-1/+0
| | | | llvm-svn: 59098
* RemoveDevang Patel2008-11-111-0/+0
| | | | llvm-svn: 59093
* Undo previous check-in.Devang Patel2008-11-111-97/+0
| | | | llvm-svn: 59092
* CMake: Updated list of source files for lib/Transforms/Utils.Oscar Fuentes2008-11-111-0/+1
| | | | llvm-svn: 59077
* Add utility pass to remove dbg info.Devang Patel2008-11-111-0/+97
| | | | llvm-svn: 59068
* Use actual function name in comments.Devang Patel2008-11-111-2/+2
| | | | llvm-svn: 59063
* Update CMakeLists.txtCedric Venet2008-11-111-0/+1
| | | | llvm-svn: 59039
* Cleanup debug info. assocated with deleted instructions.Devang Patel2008-11-111-2/+7
| | | | llvm-svn: 59012
* Add utility routines to remove dead debug info.Devang Patel2008-11-111-0/+60
| | | | llvm-svn: 59011
* If the sign of exit condition and split condition does not matchDevang Patel2008-11-101-1/+6
| | | | | | then do not split loop index. llvm-svn: 58995
* Third time's a charm.Bill Wendling2008-11-101-60/+58
| | | | | | | The previous patches didn't match correctly. Also, we need to make sure that the conditional is the same before doing the transformation. llvm-svn: 58978
* Added support for the following definition of shufflevector Mon P Wang2008-11-101-17/+30
| | | | | | <result> = shufflevector <n x <ty>> <v1>, <n x <ty>> <v2>, <m x i32> <mask> llvm-svn: 58964
* Correction for the last patch. Should match the conditional in the first partBill Wendling2008-11-091-34/+42
| | | | | | of the select match, not the select instruction itself. llvm-svn: 58947
* The method of doing the matching with a 'select' instruction was wrong. TheBill Wendling2008-11-091-32/+39
| | | | | | | | | | | | | | | | | | original code was matching like this: if (match(A, m_Not(m_Value(B)))) B was already matched as a 'select' instruction. However, this isn't matching what we think it's matching. It would match B as a 'Value', so basically anything would match to it. In this case, a Constant matched. B was replaced with a constant representation. And then the wrong value would be used in the SelectInst::Create statement, causing a crash. After thinking on this for a moment, and after Nick L. told me how the pattern matching stuff was supposed to work, the solution was to match NOT an m_Value, but an m_Select. llvm-svn: 58946
* fix leakage of ValueNumberingNuno Lopes2008-11-091-0/+1
| | | | llvm-svn: 58933
* If the LHS of the FCMP is coming from a UIToFP instruction, then we don't wantBill Wendling2008-11-091-33/+88
| | | | | | | | | | | | | | | | | | | | | | | to generate signed ICMP instructions to replace the FCMP. This would violate the following: define i1 @test1(i32 %val) { %1 = uitofp i32 %val to double %2 = fcmp ole double %1, 0.000000e+00 ret i1 %2 } would be transformed into: define i1 @test1(i32 %val) { %1 = icmp slt i33 %val, 1 ret i1 %1 } which is obviously wrong. This patch modifes InstCombiner::FoldFCmp_IntToFP_Cst to handle when the LHS comes from UIToFP. llvm-svn: 58929
* Rework r58829, allowing removal of dbg info intrinsics during allocaDaniel Dunbar2008-11-081-20/+24
| | | | | | | | promotion. - Eliminate uses after free and simplify tests. Devang: Please check that this is still doing what you intended. llvm-svn: 58887
* BCUI + 1 doesn't work. Use next instead.Bill Wendling2008-11-071-1/+2
| | | | llvm-svn: 58830
* Handle (delete) dbg intrinsics while promoting alloca.Devang Patel2008-11-071-3/+22
| | | | llvm-svn: 58826
* Fixed scalarizing an extract subvector and prevent an infinite loopMon P Wang2008-11-061-0/+6
| | | | | | when simplify a vector. llvm-svn: 58820
* InstructionNamer preserves everything.Devang Patel2008-11-061-0/+4
| | | | llvm-svn: 58787
* Do now allow InlineAlways pass to remove dead functions.Devang Patel2008-11-052-0/+13
| | | | llvm-svn: 58744
* Check Attribute::NoInline.Devang Patel2008-11-051-4/+2
| | | | llvm-svn: 58742
* CMake: updated list of source files.Oscar Fuentes2008-11-051-0/+1
| | | | llvm-svn: 58736
OpenPOWER on IntegriCloud