summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/Utils/AddrModeMatcher.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Change all self assignments X=X to (void)X, so that we can turn on aJeffrey Yasskin2010-12-231-1/+1
| | | | | | | new gcc warning that complains on self-assignments and self-initializations. llvm-svn: 122458
* Inline asm multiple alternative constraints development phase 2 - improved ↵John Thompson2010-10-291-1/+1
| | | | | | basic logic, added initial platform support. llvm-svn: 117667
* Added skeleton for inline asm multiple alternative constraint support.John Thompson2010-09-131-21/+5
| | | | llvm-svn: 113766
* use getArgOperand instead of getOperandGabor Greif2010-06-301-8/+8
| | | | llvm-svn: 107269
* use CallInst::ArgOffsetGabor Greif2010-06-281-1/+1
| | | | llvm-svn: 107003
* The hasMemory argument is irrelevant to how the argumentDale Johannesen2010-06-251-2/+1
| | | | | | | | | for an "i" constraint should get lowered; PR 6309. While this argument was passed around a lot, this is the only place it was used, so it goes away from a lot of other places. llvm-svn: 106893
* use ArgOperand API (some hunks I could split)Gabor Greif2010-06-251-1/+1
| | | | llvm-svn: 106824
* Revert 101465, it broke internal OpenGL testing.Eric Christopher2010-04-161-2/+2
| | | | | | | Probably the best way to know that all getOperand() calls have been handled is to replace that API instead of updating. llvm-svn: 101579
* reapply r101434Gabor Greif2010-04-161-2/+2
| | | | | | | | | | | | | with a fix for self-hosting rotate CallInst operands, i.e. move callee to the back of the operand array the motivation for this patch are laid out in my mail to llvm-commits: more efficient access to operands and callee, faster callgraph-construction, smaller compiler binary llvm-svn: 101465
* back out r101423 and r101397, they break llvm-gcc self-host on darwin10Gabor Greif2010-04-161-2/+2
| | | | llvm-svn: 101434
* reapply r101364, which has been backed out in r101368Gabor Greif2010-04-151-2/+2
| | | | | | | | | | | | | with a fix rotate CallInst operands, i.e. move callee to the back of the operand array the motivation for this patch are laid out in my mail to llvm-commits: more efficient access to operands and callee, faster callgraph-construction, smaller compiler binary llvm-svn: 101397
* back out r101364, as it trips the linux nightlybot on some clang C++ testsGabor Greif2010-04-151-2/+2
| | | | llvm-svn: 101368
* rotate CallInst operands, i.e. move callee to the backGabor Greif2010-04-151-2/+2
| | | | | | | | | | of the operand array the motivation for this patch are laid out in my mail to llvm-commits: more efficient access to operands and callee, faster callgraph-construction, smaller compiler binary llvm-svn: 101364
* performance: cache result of looking up userGabor Greif2010-04-091-4/+6
| | | | llvm-svn: 100862
* cache result of UI.getOperandNo() instead of calling it twice, it is cheaper ↵Gabor Greif2010-03-241-2/+3
| | | | | | this way llvm-svn: 99394
* There are two ways of checking for a given type, for example isa<PointerType>(T)Duncan Sands2010-02-161-4/+4
| | | | | | | and T->isPointerTy(). Convert most instances of the first form to the second form. Requested by Chris. llvm-svn: 96344
* Change errs() to dbgs().David Greene2010-01-051-2/+3
| | | | llvm-svn: 92605
* Change Pass::print to take a raw ostream instead of std::ostream,Chris Lattner2009-08-231-1/+1
| | | | | | update all code that this affects. llvm-svn: 79830
* Remove a bunch more now-unnecessary Context arguments.Dan Gohman2009-08-121-2/+1
| | | | llvm-svn: 78809
* Convert a few more uses of llvm/Support/Streams.h to raw_ostream.Dan Gohman2009-07-251-5/+6
| | | | llvm-svn: 77033
* Get rid of the Pass+Context magic.Owen Anderson2009-07-221-1/+1
| | | | llvm-svn: 76702
* silence a vc++ warning.Chris Lattner2009-07-111-1/+1
| | | | llvm-svn: 75393
* Push LLVMContext through the PatternMatch API.Owen Anderson2009-07-101-1/+2
| | | | llvm-svn: 75255
* Teach SCEVExpander to expand arithmetic involving pointers into GEPDan Gohman2009-05-191-30/+31
| | | | | | | | | | | | | | | | instructions. It attempts to create high-level multi-operand GEPs, though in cases where this isn't possible it falls back to casting the pointer to i8* and emitting a GEP with that. Using GEP instructions instead of ptrtoint+arithmetic+inttoptr helps pointer analyses that don't use ScalarEvolution, such as BasicAliasAnalysis. Also, make the AddrModeMatcher more aggressive in handling GEPs. Previously it assumed that operand 0 of a GEP would require a register in almost all cases. It now does extra checking and can do more matching if operand 0 of the GEP is foldable. This fixes a problem that was exposed by SCEVExpander using GEPs. llvm-svn: 72093
* Rename PaddedSize to AllocSize, in the hope that thisDuncan Sands2009-05-091-1/+1
| | | | | | | will make it more obvious what it represents, and stop it being confused with the StoreSize. llvm-svn: 71349
* Fix compiler warning about uninitialized variables. No functional change.Nick Lewycky2009-02-271-1/+1
| | | | llvm-svn: 65620
* 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
OpenPOWER on IntegriCloud