summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms
Commit message (Collapse)AuthorAgeFilesLines
* Do not let debug info prevert globalopt from shriking a global vars to boolean.Devang Patel2009-03-061-7/+9
| | | | llvm-svn: 66224
* Add "check/remove dbg var" helper routines.Devang Patel2009-03-061-0/+44
| | | | llvm-svn: 66223
* GlobalOpt only process non constant local GVs while optimizing global vars.Devang Patel2009-03-051-9/+31
| | | | | | | | | | | | If non constant local GV named A is used by a constant local GV named B (e.g. llvm.dbg.variable) and B is not used by anyone else then eliminate A as well as B. In other words, debug info should not interfere in removal of unused GV. --This life, and those below, will be ignored-- M test/Transforms/GlobalOpt/2009-03-03-dbg.ll M lib/Transforms/IPO/GlobalOpt.cpp llvm-svn: 66167
* Do not split edges to EH landing pads. It will cause code size explosion.Evan Cheng2009-03-051-0/+6
| | | | llvm-svn: 66140
* Fix another case where debug info was affectingDale Johannesen2009-03-051-4/+17
| | | | | | | codegen. I convinced myself it was OK to skip all pointer bitcasts here too. llvm-svn: 66122
* Add comment to emphasize that the while body is empty.Bill Wendling2009-03-051-2/+2
| | | | llvm-svn: 66115
* Fix another case where a dbg.declare meant somethingDale Johannesen2009-03-051-6/+13
| | | | | | had 2 uses instead of 1. llvm-svn: 66112
* Temporarily revert r65994. It was causing rdar://6646455.Bill Wendling2009-03-041-20/+6
| | | | llvm-svn: 66083
* Re-commit 65975 and a fix for the problem thatDale Johannesen2009-03-041-0/+2
| | | | | | | was causing llvm-gcc to fail to build. I've verified it bootstraps now; good enough for me. llvm-svn: 66073
* Fix this comment.Dan Gohman2009-03-041-1/+2
| | | | llvm-svn: 66065
* Add an assertion for a condition that's always true, and notDan Gohman2009-03-041-0/+3
| | | | | | immediately obvious. llvm-svn: 66062
* complete comment.Chris Lattner2009-03-041-1/+3
| | | | llvm-svn: 66055
* this wasn't intended to be committed.Chris Lattner2009-03-041-2/+1
| | | | llvm-svn: 66054
* Fix PR3720 by properly propagating alignment information from memcpy/memmove Chris Lattner2009-03-041-7/+34
| | | | | | onto element accesses. llvm-svn: 66053
* Revert unintended commmit.Dale Johannesen2009-03-041-5/+2
| | | | llvm-svn: 66001
* Skip ptr-to-ptr bitcasts when counting in another case.Dale Johannesen2009-03-041-4/+4
| | | | llvm-svn: 66000
* Always skip ptr-to-ptr bitcasts when counting,Dale Johannesen2009-03-042-7/+10
| | | | | | per Chris' suggestion. Slightly faster. llvm-svn: 65999
* If a global constant is dead then global's debug info should not prevent the ↵Devang Patel2009-03-041-6/+20
| | | | | | optimizer in deleting the global. And while deleting global, delete global's debug info also. llvm-svn: 65994
* Make my earlier patch to skip debug intrinsicsDale Johannesen2009-03-041-2/+1
| | | | | | when counting work; it was only off by 1. llvm-svn: 65993
* Marking debug info intrinsics as not touching memoryDale Johannesen2009-03-031-0/+3
| | | | | | caused them to be considered trivially dead. Fix this. llvm-svn: 65979
* Instruction counters must skip the bitcasts thatDale Johannesen2009-03-032-1/+11
| | | | | | | feed into llvm.dbg.declare nodes, as well as the debug directives themselves. llvm-svn: 65976
* Recursively remove dead argument while removing llvm.dbg.declare intrinsic.Devang Patel2009-03-031-2/+3
| | | | llvm-svn: 65971
* When removing a store to an alloca that has only oneDale Johannesen2009-03-032-12/+49
| | | | | | | | use, check also for the case where it has two uses, the other being a llvm.dbg.declare. This is needed so debug info doesn't affect codegen. llvm-svn: 65970
* Remove accidental check-ins in r65960. :-(Bill Wendling2009-03-031-5/+1
| | | | llvm-svn: 65961
* Use > instead of >=. We want to promote aggregates of 128-bytes.Bill Wendling2009-03-032-2/+6
| | | | llvm-svn: 65960
* Reapply r65755, but reversing "<" to ">=".Bill Wendling2009-03-031-2/+3
| | | | llvm-svn: 65945
* Fix a bunch of Doxygen syntax issues. Escape special characters,Dan Gohman2009-03-032-4/+4
| | | | | | and put @file directives on their own comment line. llvm-svn: 65920
* Don't count DebugInfo instructions in another limitDale Johannesen2009-03-031-1/+7
| | | | | | (lest they affect codegen). llvm-svn: 65915
* When sinking an insn in InstCombine bring its debugDale Johannesen2009-03-032-2/+26
| | | | | | | | info with it. Don't count debug info insns against the scan maximum in FindAvailableLoadedValue (lest they affect codegen). llvm-svn: 65910
* Ignore debug info intrinsics.Devang Patel2009-03-031-1/+5
| | | | llvm-svn: 65908
* If branch conditions' one successor is dominating another non-latch ↵Devang Patel2009-03-021-0/+15
| | | | | | successor then this loop's iteration space can not be restricted. In this example block bb5 is always executed. llvm-svn: 65902
* Remove all dbg symobls, including those with circular references.Devang Patel2009-03-021-3/+15
| | | | | | This is ugly, but I can't figure out a quick way out of this. llvm-svn: 65889
* Fix PR3694: add an instcombine micro-optimization that helpsDuncan Sands2009-03-021-5/+17
| | | | | | clean up when using variable length arrays in llvm-gcc. llvm-svn: 65832
* Temporarily revert r65755. It was causing failures in the self-hostingBill Wendling2009-03-011-5/+3
| | | | | | | | | | | | | | | | | | | | | testsuite: Running /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/test/CodeGen/X86/dg.exp ... FAIL: /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/test/CodeGen/X86/nancvt.ll Failed with exit(1) at line 2 while running: grep 2147027116 nancvt.ll.tmp | count 3 count: expected 3 lines and got 0. child process exited abnormally FAIL: /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/test/CodeGen/X86/vec_ins_extract.ll Failed with exit(1) at line 1 while running: llvm-as < /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvmCore/test/CodeGen/X86/vec_ins_extract.ll | opt -scalarrepl -instcombine | llc -march=x86 -mcpu=yonah | not /usr/bin/grep sub.*esp subl $28, %esp subl $28, %esp child process exited abnormally And more. llvm-svn: 65758
* hoist the check for alloca size up so that it controls CanConvertToScalar Chris Lattner2009-03-011-3/+5
| | | | | | as well as isSafeAllocaToScalarRepl. llvm-svn: 65755
* Silence compiler warning about use of uninitialized variables (in reality theseNick Lewycky2009-02-271-1/+1
| | | | | | are always set by reference on the path that uses them.) No functional change. llvm-svn: 65621
* Fix compiler warning about uninitialized variables. No functional change.Nick Lewycky2009-02-271-1/+1
| | | | llvm-svn: 65620
* Ignore dbg info intrinsics when folding conditional branch to Zhou Sheng2009-02-261-1/+5
| | | | | | conditional branch predecessors. llvm-svn: 65509
* Fix PR3667Chris Lattner2009-02-251-1/+1
| | | | llvm-svn: 65464
* Don't block basic block with only SwitchInst to fold into predecessors.Zhou Sheng2009-02-251-1/+5
| | | | llvm-svn: 65456
* Rename ScalarEvolution's getIterationCount to getBackedgeTakenCount,Dan Gohman2009-02-243-45/+44
| | | | | | | | | to more accurately describe what it does. Expand its doxygen comment to describe what the backedge-taken count is and how it differs from the actual iteration count of the loop. Adjust names and comments in associated code accordingly. llvm-svn: 65382
* Fix a ValueTracking rule: RHS means operand 1, not 0. Add a simpleDan Gohman2009-02-241-1/+6
| | | | | | | ashr instcombine to help expose this code. And apply the fix to SelectionDAG's copy of this code too. llvm-svn: 65364
* Generalize the ChangeCompareStride code, in preparation forDan Gohman2009-02-241-94/+96
| | | | | | handling non-constant strides. No functionality change. llvm-svn: 65363
* Preserve the DominanceFrontier analysis in the LoopDeletion pass.Dan Gohman2009-02-241-2/+7
| | | | llvm-svn: 65359
* While folding unconditional return move DbgRegionEndInst into the ↵Devang Patel2009-02-242-23/+10
| | | | | | | | | | | predecessor, instead of removing it. This fixes following tests from llvmgcc42 testsuite. gcc.c-torture/execute/20000605-3.c gcc.c-torture/execute/20020619-1.c gcc.c-torture/execute/20030920-1.c gcc.c-torture/execute/loop-ivopts-1.c llvm-svn: 65353
* Back out the change in 64918 that used sign-extensions when promotingDan Gohman2009-02-231-34/+12
| | | | | | | | | trip counts that use signed comparisons. It's not obviously the best approach for preserving trip count information, and at any rate there isn't anything in the tree right now that makes use of that, so for now always using zero-extensions is preferable. llvm-svn: 65347
* LoopDeletion needs to inform ScalarEvolution when a loop is deleted,Dan Gohman2009-02-231-1/+4
| | | | | | | | so that ScalarEvolution doesn't hang onto a dangling Loop*, which could be a problem if another Loop happens to get allocated at the same address. llvm-svn: 65323
* IndVarSimplify preserves ScalarEvolution. In theDan Gohman2009-02-231-0/+1
| | | | | | | -std-compile-opts sequence, this avoids the need for ScalarEvolution to be rerun before LoopDeletion. llvm-svn: 65318
* Should reset DBI_Prev if DBI_Next == 0.Zhou Sheng2009-02-231-0/+2
| | | | llvm-svn: 65314
* Changed option name from inline-threshold to basic-inline-threshold becauseMon P Wang2009-02-231-1/+1
| | | | | | inline-threshold option is used by the inliner. llvm-svn: 65309
OpenPOWER on IntegriCloud