summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Analysis/PHITransAddr.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Release build: guard dump functions withManman Ren2012-09-121-1/+1
| | | | | | | | "#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)" No functional change. Update r163344. llvm-svn: 163679
* Release build: guard dump functions with "ifndef NDEBUG"Manman Ren2012-09-061-0/+2
| | | | | | No functional change. llvm-svn: 163344
* Uniformize the InstructionSimplify interface by ensuring that all routinesDuncan Sands2012-03-131-1/+1
| | | | | | | | take a TargetLibraryInfo parameter. Internally, rather than passing TD, TLI and DT parameters around all over the place, introduce a struct for holding them. llvm-svn: 152623
* More dead code removal (using -Wunreachable-code)David Blaikie2012-01-201-2/+0
| | | | llvm-svn: 148578
* Move Instruction::isSafeToSpeculativelyExecute out of VMCore andDan Gohman2011-12-141-3/+4
| | | | | | | | | into Analysis as a standalone function, since there's no need for it to be in VMCore. Also, update it to use isKnownNonZero and other goodies available in Analysis, making it more precise, enabling more aggressive optimization. llvm-svn: 146610
* Propagate TargetLibraryInfo throughout ConstantFolding.cpp and Chad Rosier2011-12-011-1/+1
| | | | | | | InstructionSimplify.cpp. Other fixups as needed. Part of rdar://10500969 llvm-svn: 145559
* Shorten some expressions by using ArrayRef::slice().Frits van Bommel2011-07-251-2/+1
| | | | llvm-svn: 135910
* Convert GetElementPtrInst to use ArrayRef.Jay Foad2011-07-251-3/+4
| | | | llvm-svn: 135904
* Convert SimplifyGEPInst to use ArrayRef.Jay Foad2011-07-191-1/+1
| | | | llvm-svn: 135482
* Don't include Operator.h from InstrTypes.h.Jay Foad2011-04-111-0/+1
| | | | llvm-svn: 129271
* split dom frontier handling stuff out to its own DominanceFrontier header,Chris Lattner2011-01-021-0/+1
| | | | | | so that Dominators.h is *just* domtree. Also prune #includes a bit. llvm-svn: 122714
* Strip trailing whitespace.Dan Gohman2010-11-181-48/+48
| | | | llvm-svn: 119706
* Use llvm_unreachable for "impossible" situations.Dan Gohman2010-11-181-3/+6
| | | | llvm-svn: 119705
* Add support for PHI-translating sext, zext, and trunc instructions,Dan Gohman2010-11-181-18/+26
| | | | | | enabling more PRE. PR8586. llvm-svn: 119704
* In which I discover the existence of loops. Threading an operationDuncan Sands2010-11-161-2/+2
| | | | | | | | | | | over a phi node by applying it to each operand may be wrong if the operation and the phi node are mutually interdependent (the testcase has a simple example of this). So only do this transform if it would be correct to perform the operation in each predecessor of the block containing the phi, i.e. if the other operands all dominate the phi. This should fix the FFMPEG snow.c regression reported by İsmail Dönmez. llvm-svn: 119347
* Reapply r97010, the speculative revert failed.Daniel Dunbar2010-02-241-32/+28
| | | | llvm-svn: 97036
* Speculatively revert r97010, "Add an argument to PHITranslateValue to specifyDaniel Dunbar2010-02-241-28/+32
| | | | | | the DominatorTree. ...", in hopes of restoring poor old PPC bootstrap. llvm-svn: 97027
* Add an argument to PHITranslateValue to specify the DominatorTree. If thisBob Wilson2010-02-241-32/+28
| | | | | | | | | | | | | | | | | | | | argument is non-null, pass it along to PHITranslateSubExpr so that it can prefer using existing values that dominate the PredBB, instead of just blindly picking the first equivalent value that it finds on a uselist. Also when the DominatorTree is specified, have PHITranslateValue filter out any result that does not dominate the PredBB. This is basically just refactoring the check that used to be in GetAvailablePHITranslatedSubExpr and also in GVN. Despite my initial expectations, this change does not affect the results of GVN for any testcases that I could find, but it should help compile time. Before this change, if PHITranslateSubExpr picked a value that does not dominate, PHITranslateWithInsertion would then insert a new value, which GVN would later determine to be redundant and would replace. By picking a good value to begin with, we save GVN the extra work of inserting and then replacing a new value. llvm-svn: 97010
* Change dbgs() back to errs() as Chris requested.David Greene2009-12-231-4/+4
| | | | llvm-svn: 92085
* Convert debug messages to use dbgs(). Generally this meansDavid Greene2009-12-231-7/+8
| | | | | | s/errs/dbgs/g except for certain special cases. llvm-svn: 92046
* Add a minor optimization: if we haven't changed the operands of anChris Lattner2009-12-091-0/+4
| | | | | | | | | | add, there is no need to scan the world to find the same add again. This invalidates the previous testcase, which wasn't wonderful anyway, because it needed a run of instcombine to permute the use-lists in just the right way to before GVN was run (so it was really fragile). Not a big loss. llvm-svn: 90973
* fix PR5733, a case where we'd replace an add with a lexically identical Chris Lattner2009-12-091-1/+2
| | | | | | binary operator that wasn't an add. In this case, a xor. Whoops. llvm-svn: 90971
* fix a nasty variable that was shadowing the real CurBB but with the wrong value.Chris Lattner2009-12-091-1/+0
| | | | llvm-svn: 90920
* fix many input tracking bugs.Chris Lattner2009-12-091-33/+30
| | | | llvm-svn: 90915
* fix PHI translation to take the PHI out of the instinputs set and addChris Lattner2009-12-091-9/+7
| | | | | | the translated value back to it if an instruction. llvm-svn: 90909
* instructions defined in CurBB may be intermediate nodes of the computation.Chris Lattner2009-12-091-14/+14
| | | | llvm-svn: 90908
* add dumping and sanity checking support.Chris Lattner2009-12-091-0/+69
| | | | llvm-svn: 90906
* make sure that PHITransAddr keeps its 'InstInputs' list up toChris Lattner2009-12-081-3/+42
| | | | | | date when instsimplify kicks in. llvm-svn: 90901
* fix a typo (and -> add) and fix GetAvailablePHITranslatedSubExpr to not Chris Lattner2009-12-081-3/+6
| | | | | | side-effect the current object. llvm-svn: 90837
* fix typoChris Lattner2009-12-071-1/+1
| | | | llvm-svn: 90793
* add accessor, improve comment.Chris Lattner2009-12-071-1/+1
| | | | llvm-svn: 90792
* add support for phi translation and incorpation of new expression.Chris Lattner2009-12-071-121/+144
| | | | llvm-svn: 90782
* checkpoint of the new PHITransAddr code, still not done and not used byChris Lattner2009-12-071-29/+257
| | | | | | anything. llvm-svn: 90779
* add the start of a class used to handle phi translation in memdep andChris Lattner2009-12-041-0/+71
gvn (this is just a skeleton so far). This will ultimately be used to fix a nasty miscompilation with GVN. llvm-svn: 90518
OpenPOWER on IntegriCloud