summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/Utils
Commit message (Collapse)AuthorAgeFilesLines
* Add "check/remove dbg var" helper routines.Devang Patel2009-03-061-0/+44
| | | | llvm-svn: 66223
* 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-041-2/+5
| | | | | | per Chris' suggestion. Slightly faster. llvm-svn: 65999
* 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-031-0/+6
| | | | | | | feed into llvm.dbg.declare nodes, as well as the debug directives themselves. llvm-svn: 65976
* When removing a store to an alloca that has only oneDale Johannesen2009-03-031-2/+1
| | | | | | | | 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-031-1/+5
| | | | llvm-svn: 65960
* Fix a bunch of Doxygen syntax issues. Escape special characters,Dan Gohman2009-03-031-2/+2
| | | | | | and put @file directives on their own comment line. llvm-svn: 65920
* When sinking an insn in InstCombine bring its debugDale Johannesen2009-03-031-2/+25
| | | | | | | | info with it. Don't count debug info insns against the scan maximum in FindAvailableLoadedValue (lest they affect codegen). llvm-svn: 65910
* 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
* Don't block basic block with only SwitchInst to fold into predecessors.Zhou Sheng2009-02-251-1/+5
| | | | llvm-svn: 65456
* 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
* 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
* Add AddrModeMatcher.cppEvan Cheng2009-02-211-0/+1
| | | | llvm-svn: 65228
* Factor address mode matcher out of codegen prepare to make it available to ↵Evan Cheng2009-02-201-0/+593
| | | | | | other passes, e.g. loop strength reduction. llvm-svn: 65134
* Just roll back the previous change to -mem2reg.Zhou Sheng2009-02-201-26/+0
| | | | | | Will re-think about this according to Chris's comments. llvm-svn: 65126
* patch to update the line number information in pass -mem2reg.Zhou Sheng2009-02-201-0/+26
| | | | | | | | Currently this pass will delete the variable declaration info, and keep the line number info. But the kept line number info is not updated, and some is redundant or not correct, this patch just updates those info. llvm-svn: 65123
* Fix typo caused by too much surfing, dudes...Nick Lewycky2009-02-161-1/+1
| | | | llvm-svn: 64626
* Fix a nasty bug (PR3550) where the inline pass could incorrectly mark Chris Lattner2009-02-121-2/+2
| | | | | | | calls with the tail marker when inlining them through an invoke. Patch, testcase, and perfect analysis by Jay Foad! llvm-svn: 64364
* If llvm.dbg.region.end is disappearing then remove corresponding ↵Devang Patel2009-02-112-3/+23
| | | | | | llvm.dbg.func.start also. llvm-svn: 64278
* Ignore dbg intrinsic while folding unconditional branch.Devang Patel2009-02-101-1/+2
| | | | llvm-svn: 64242
* Do not clone llvm.dbg.func.start and corresponding llvm.dbg.region.end ↵Devang Patel2009-02-101-3/+14
| | | | | | during inlining. llvm-svn: 64209
* Enable scalar replacement of AllocaInst whose one of the user is dbg info.Devang Patel2009-02-101-0/+22
| | | | llvm-svn: 64207
* Revert rev. 63876. It is causing llvm-gcc bootstrap failure.Devang Patel2009-02-052-17/+14
| | | | llvm-svn: 63888
* Ignore dbg intrinsics while propagating conditional expression info.Devang Patel2009-02-052-14/+17
| | | | llvm-svn: 63876
* Ignore dbg intrinsics while folding switch instruction.Devang Patel2009-02-051-8/+19
| | | | llvm-svn: 63802
* Ignore dbg intrinsics.Devang Patel2009-02-041-7/+29
| | | | llvm-svn: 63781
* While folding vallue comparison terminators ignore dbg intrinsics.Devang Patel2009-02-041-0/+3
| | | | llvm-svn: 63700
* Ignore dbg intrinsics while hoisting common code in the two blocks up into ↵Devang Patel2009-02-041-3/+14
| | | | | | the branch block. llvm-svn: 63687
* Do not let dbg intrinsic block folding of two entry phi node.Devang Patel2009-02-031-2/+3
| | | | llvm-svn: 63671
* Revert r63600. It didn't fix the bug, it just moved it a bit.Nick Lewycky2009-02-031-7/+2
| | | | llvm-svn: 63618
* Update the callgraph when replacing InvokeInst with CallInst when inlining.Nick Lewycky2009-02-031-3/+8
| | | | llvm-svn: 63600
* use precise gettersGabor Greif2009-01-301-2/+2
| | | | llvm-svn: 63402
* Rename getAnalysisToUpdate to getAnalysisIfAvailable.Duncan Sands2009-01-284-14/+14
| | | | llvm-svn: 63198
* Revert previous change; even this mild and clearlyDale Johannesen2009-01-241-7/+4
| | | | | | | more accurate change loses more than it gains on benchmarks. llvm-svn: 62938
* Improve the inlining cost function a bit.Dale Johannesen2009-01-241-3/+6
| | | | | | Little practical effect. llvm-svn: 62908
* Simplify the logic of getting hold of a PHI predecessor block.Gabor Greif2009-01-231-4/+2
| | | | | | | | | There is now a direct way from value-use-iterator to incoming block in PHINode's API. This way we avoid the iterator->index->iterator trip, and especially the costly getOperandNo() invocation. Additionally there is now an assertion that the iterator really refers to one of the PHI's Uses. llvm-svn: 62869
* another fix for PR3354Chris Lattner2009-01-201-0/+5
| | | | llvm-svn: 62561
* Doxygen-ify comments.Bill Wendling2009-01-191-45/+43
| | | | llvm-svn: 62546
* Fix a problem exposed by PR3354: simplifycfg was making a potentiallyChris Lattner2009-01-191-1/+14
| | | | | | trapping instruction be executed unconditionally. llvm-svn: 62541
* Temporarily revert r62487. It's causing this error during a release bootstrap ofBill Wendling2009-01-191-77/+2
| | | | | | | | | | | | | | | | llvm-gcc. Most likely, it's miscompiling one of the "gen*" programs: /Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.obj/./prev-gcc/xgcc -B/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.obj/./prev-gcc/ -B/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm-gcc.install/i386-apple-darwin9.6.0/bin/ -c -g -O2 -mdynamic-no-pic -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -mdynamic-no-pic -DHAVE_CONFIG_H -DGENERATOR_FILE -I. -Ibuild -I../../llvm-gcc.src/gcc -I../../llvm-gcc.src/gcc/build -I../../llvm-gcc.src/gcc/../include -I./../intl -I../../llvm-gcc.src/gcc/../libcpp/include -I../../llvm-gcc.src/gcc/../libdecnumber -I../libdecnumber -I/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.obj/include -I/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.src/include -DENABLE_LLVM -I/Volumes/Sandbox/Buildbot/llvm/full-llvm/build/llvm.obj/../llvm.src/include -D_DEBUG -D_GNU_SOURCE -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -o build/gencondmd.o build/gencondmd.c ../../llvm-gcc.src/gcc/config/i386/mmx.md:926: error: expected '}' before ')' token ../../llvm-gcc.src/gcc/config/i386/mmx.md:926: warning: excess elements in struct initializer ../../llvm-gcc.src/gcc/config/i386/mmx.md:926: warning: (near initialization for 'insn_conditions[4]') ../../llvm-gcc.src/gcc/config/i386/mmx.md:926: error: expected '}' before ')' token ../../llvm-gcc.src/gcc/config/i386/mmx.md:926: error: expected ',' or ';' before ')' token ../../llvm-gcc.src/gcc/config/i386/mmx.md:927: error: expected identifier or '(' before ',' token ../../llvm-gcc.src/gcc/config/i386/sse.md:3458: error: expected identifier or '(' before ',' token ... llvm-svn: 62506
* Fix PR3016, a bug which can occur do to an invalid assumption:Chris Lattner2009-01-191-2/+77
| | | | | | | | | we assumed a CFG structure that would be valid when all code in the function is reachable, but not all code is necessarily reachable. Do a simple, but horrible, CFG walk to check for this case. llvm-svn: 62487
* reduce indentation by using 'continue', no functionality change.Chris Lattner2009-01-191-20/+22
| | | | llvm-svn: 62477
* Fix some problems in SpeculativelyExecuteBB. Basically,Chris Lattner2009-01-191-5/+16
| | | | | | | | | | because of dead code, a phi could use the speculated instruction that was not in "BB2". Make this check explicit and tighten up some other corners. This fixes PR3292. No testcase becauase this depends entirely on visitation order of blocks and requires a sequence of 8 passes to repro. llvm-svn: 62476
* Make this a bit more explicit about which cases need the Chris Lattner2009-01-181-2/+6
| | | | | | check. No functionality change. llvm-svn: 62474
* introduce typedef for complicated vector, and use it tooGabor Greif2009-01-171-2/+1
| | | | llvm-svn: 62384
* typoGabor Greif2009-01-161-1/+1
| | | | llvm-svn: 62377
OpenPOWER on IntegriCloud