summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* NamedMDNode is never used so there is no need to enumerate it here.Devang Patel2010-01-091-1/+1
| | | | llvm-svn: 93039
* Fix nondeterministic behavior.Julien Lerouge2010-01-091-6/+7
| | | | llvm-svn: 93038
* NamedMDNode element is either null or MDNode. Otherwise this is a malformed ↵Devang Patel2010-01-091-1/+3
| | | | | | NamedMDNode record. llvm-svn: 93037
* Derive NamedMDNode from Value.Devang Patel2010-01-093-11/+25
| | | | llvm-svn: 93032
* Dan pointed out checking whether a node is dead by comparing its opcode to ↵Evan Cheng2010-01-091-8/+26
| | | | | | ISD::DELETED_NODE is not safe. Use a DAGUpdateListener to remove dead nodes from work list instead. llvm-svn: 93031
* Fix a critical bug in 64-bit atomic operation lowering for 32-bit. The ↵Evan Cheng2010-01-081-8/+10
| | | | | | results of the cmpxchg8b instructions are being thrown away when it branches back to the top of the checking loop. This means the loop always compares against the old value and this can result in a dead lock. llvm-svn: 93028
* Remove unnecessary dyn_cast and add a comment. Part of a WIP.Eric Christopher2010-01-081-4/+4
| | | | llvm-svn: 93026
* mplement a theoretical fixme.Chris Lattner2010-01-081-3/+7
| | | | llvm-svn: 93024
* rename CanEvaluateInDifferentType -> CanEvaluateTruncated and Chris Lattner2010-01-081-71/+28
| | | | | | simplify it now that it is only used for truncates. llvm-svn: 93021
* Fix comment.Evan Cheng2010-01-081-1/+1
| | | | llvm-svn: 93020
* teach instcombine to delete sign extending shift pairs (sra(shl X, C), C) whenChris Lattner2010-01-081-4/+15
| | | | | | the input is already sign extended. llvm-svn: 93019
* fix PR5978 by peeling the loop so that we avoid shifting theChris Lattner2010-01-081-2/+2
| | | | | | | result int by 8 for the first byte. While normally harmless, if the result is smaller than a byte, this shift is invalid. llvm-svn: 93018
* Suppress an unused variable warning when assertions are off;Duncan Sands2010-01-081-2/+3
| | | | | | remove some trailing whitespace while there. llvm-svn: 93008
* tidy up some stuff duncan pointed out.Chris Lattner2010-01-081-2/+3
| | | | llvm-svn: 93007
* Minor change, change the order of two "let Inst{...}" stmts within multiclassJohnny Chen2010-01-081-1/+1
| | | | | | T2I_bin_ii12rs definition. llvm-svn: 93006
* After further thought revert the patch to make fast-isel avoidEric Christopher2010-01-081-6/+0
| | | | | | | | | | | putting relocations into the constant pool - this isn't needed for correctness and in the rare occasion it happens would pull us out of fast isel for the block. If fast-isel application startup time ever becomes an issue we can add better support for these addresses instead of bailing. llvm-svn: 92995
* ReplaceAllUsesOfValueWith may delete other nodes that the one being ↵Evan Cheng2010-01-081-1/+2
| | | | | | replaced. Do not delete dead nodes again. llvm-svn: 92988
* Fix what looks to me obvious instruction definition bugs.Evan Cheng2010-01-082-1/+3
| | | | | | | 1. CMPXCHG8B and CMPXCHG16B did not specify implicit physical register defs and uses. 2. LCMPXCHG8B is loading 64 bit memory, not 32 bit. llvm-svn: 92985
* Remove extraneous include.Eric Christopher2010-01-081-1/+0
| | | | llvm-svn: 92972
* teach ComputeNumSignBits to look through PHI nodes.Chris Lattner2010-01-072-7/+19
| | | | llvm-svn: 92964
* Enhance instcombine to reason more strongly about promoting computationChris Lattner2010-01-071-51/+144
| | | | | | | that feeds into a zext, similar to the patch I did yesterday for sext. There is a lot of room for extension beyond this patch. llvm-svn: 92962
* Fix rdar://7517201, a regression introduced by r92849.Chris Lattner2010-01-071-1/+1
| | | | | | | | | | When folding a and(any_ext(load)) both the any_ext and the load have to have only a single use. This removes the anyext-uses.ll testcase which started failing because it is unreduced and unclear what it is testing. llvm-svn: 92950
* factor this code better and reduce nesting at the sameChris Lattner2010-01-071-61/+41
| | | | | | time, no functionality change. llvm-svn: 92948
* APInt'fy TargetLowering::SimplifySetCC to fix PR5963.Evan Cheng2010-01-071-15/+15
| | | | llvm-svn: 92943
* Simplify code. No intended functionality/performance change.Benjamin Kramer2010-01-071-37/+12
| | | | llvm-svn: 92938
* If the data requires a relocation then don't attempt toEric Christopher2010-01-071-0/+7
| | | | | | | add it to the constant pool for fast-isel. We already don't add it for the normal case. llvm-svn: 92934
* We need to put any kind of data with a relocation into aEric Christopher2010-01-071-1/+1
| | | | | | not-readonly segment on darwin. llvm-svn: 92933
* Use separate namespace for named metadata.Devang Patel2010-01-075-12/+40
| | | | llvm-svn: 92931
* constant materialization could be improved.Chris Lattner2010-01-071-0/+33
| | | | llvm-svn: 92921
* Kill dead store.Benjamin Kramer2010-01-071-2/+1
| | | | llvm-svn: 92920
* Remove dead variable.Benjamin Kramer2010-01-071-7/+2
| | | | llvm-svn: 92919
* Use pop_back_val instead of back()+pop_back.Benjamin Kramer2010-01-071-7/+4
| | | | llvm-svn: 92918
* Use a do-while loop instead of while + boolean.Benjamin Kramer2010-01-071-6/+4
| | | | llvm-svn: 92912
* Be less stingy as to how many selects and phi nodes weDuncan Sands2010-01-071-2/+2
| | | | | | are prepared to look through. llvm-svn: 92898
* More trivial optimizations to a function well outside the critical pathDouglas Gregor2010-01-071-15/+8
| | | | llvm-svn: 92896
* handle ConstantVector while I'm in here.Chris Lattner2010-01-071-0/+3
| | | | llvm-svn: 92892
* fix a globalopt crash on 'bullet' (handling evaluation of a storeChris Lattner2010-01-071-16/+20
| | | | | | | | | | to an element of a vector in a static ctor) which occurs with an unrelated patch I'm testing. Annoyingly, EvaluateStoreInto basically does exactly the same stuff as InsertElement constant folding, but it now handles vectors, and you can't insertelement into a vector. It would be 'really nice' if GEP into a vector were not legal. llvm-svn: 92889
* Fix a minor regression from my dag combiner changes. One more place which ↵Evan Cheng2010-01-071-4/+12
| | | | | | needs to look pass truncates. llvm-svn: 92885
* Switch StringRef::edit_distance over to using raw pointers, since bothDouglas Gregor2010-01-071-7/+25
| | | | | | | std::vector and llvm::SmallVector have annoying performance tradeoffs. No, I don't expect this to matter, and now it won't. llvm-svn: 92884
* 80 column violationsJim Grosbach2010-01-061-4/+6
| | | | llvm-svn: 92876
* Allow double defs after tail duplication.Jakob Stoklund Olesen2010-01-061-1/+2
| | | | llvm-svn: 92874
* Add Target hook to duplicate machine instructions.Jakob Stoklund Olesen2010-01-064-22/+56
| | | | | | | Some instructions refer to unique labels, and so cannot be trivially cloned with CloneMachineInstr. llvm-svn: 92873
* Addressing mode 6 (load/store) instructions can't encode an immediate offsetJim Grosbach2010-01-061-1/+4
| | | | | | for stack references. llvm-svn: 92871
* Anti-dependency breaking needs to be careful regarding instructions withJim Grosbach2010-01-062-3/+9
| | | | | | multiple register definitions. llvm-svn: 92864
* Move the object size intrinsic optimization to inst-combine and makeEric Christopher2010-01-062-24/+12
| | | | | | it work for any integer size return type. llvm-svn: 92853
* Comment.Evan Cheng2010-01-061-0/+3
| | | | llvm-svn: 92850
* Teach dag combine to fold the following transformation more aggressively:Evan Cheng2010-01-065-114/+295
| | | | | | | | | | (OP (trunc x), (trunc y)) -> (trunc (OP x, y)) Unfortunately this simple change causes dag combine to infinite looping. The problem is the shrink demanded ops optimization tend to canonicalize expressions in the opposite manner. That is badness. This patch disable those optimizations in dag combine but instead it is done as a late pass in sdisel. This also exposes some deficiencies in dag combine and x86 setcc / brcond lowering. Teach them to look pass ISD::TRUNCATE in various places. llvm-svn: 92849
* When parsing function-local metadata, create a function-local MDNodeVictor Hernandez2010-01-062-10/+16
| | | | llvm-svn: 92838
* 80 column and whitespace cleanupJim Grosbach2010-01-064-95/+108
| | | | llvm-svn: 92837
* Fix a README item: have functionattrs look through selects andDuncan Sands2010-01-062-40/+42
| | | | | | | | | phi nodes when deciding which pointers point to local memory. I actually checked long ago how useful this is, and it isn't very: it hardly ever fires in the testsuite, but since Chris wants it here it is! llvm-svn: 92836
OpenPOWER on IntegriCloud