summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* just like they can opt into getting the root of the pattern beingChris Lattner2010-09-213-3/+13
| | | | | | | matched, allow ComplexPatterns to opt into getting the parent node of the operand being matched. llvm-svn: 114472
* fix a long standing wart: all the ComplexPattern's were beingChris Lattner2010-09-2120-141/+142
| | | | | | | | | | | passed the root of the match, even though only a few patterns actually needed this (one in X86, several in ARM [which should be refactored anyway], and some in CellSPU that I don't feel like detangling). Instead of requiring all ComplexPatterns to take the dead root, have targets opt into getting the root by putting SDNPWantRoot on the ComplexPattern. llvm-svn: 114471
* Refix MSVC9 and upper_bound. It actually needs a fully symmetric comparator.Jakob Stoklund Olesen2010-09-211-7/+5
| | | | llvm-svn: 114469
* even though I'm about to rip it out, simplify the address mode stuffChris Lattner2010-09-212-28/+13
| | | | llvm-svn: 114468
* finish pushing MachinePointerInfo through selectiondags. At this point,Chris Lattner2010-09-213-19/+7
| | | | | | | I think I've audited all uses, so it should be dependable for address spaces, and the pointer+offset info should also be accurate when there. llvm-svn: 114464
* convert a couple more places to use the new getStore()Chris Lattner2010-09-214-11/+19
| | | | llvm-svn: 114463
* update a bunch of code to use the MachinePointerInfo version of getStore.Chris Lattner2010-09-2114-93/+87
| | | | llvm-svn: 114461
* When adding the carry bit to another value on X86, exploit the fact that the ↵Owen Anderson2010-09-212-0/+37
| | | | | | | | | | | carry-materialization (sbbl x, x) sets the registers to 0 or ~0. Combined with two's complement arithmetic, we can fold the intermediate AND and the ADD into a single SUB. This fixes <rdar://problem/8449754>. llvm-svn: 114460
* Don't pollute the global namespace.Jakob Stoklund Olesen2010-09-211-0/+2
| | | | llvm-svn: 114459
* MSVC9 does not support upper_bound with an asymmetric comparator.Jakob Stoklund Olesen2010-09-211-6/+10
| | | | llvm-svn: 114455
* Define the TargetLowering::getTgtMemIntrinsic hook for ARM so that NEON loadBob Wilson2010-09-213-1/+66
| | | | | | and store intrinsics are represented with MemIntrinsicSDNodes. llvm-svn: 114454
* eliminate some uses of the getStore overload.Chris Lattner2010-09-213-41/+60
| | | | llvm-svn: 114453
* eliminate an old SelectionDAG::getTruncStore method, propagatingChris Lattner2010-09-219-97/+77
| | | | | | MachinePointerInfo around more. llvm-svn: 114452
* eliminate last SelectionDAG::getLoad old entrypoint, on to stores.Chris Lattner2010-09-214-27/+7
| | | | llvm-svn: 114450
* fix the code that infers SV info to be correct when dealingChris Lattner2010-09-212-32/+53
| | | | | | with an indexed load/store that has an offset in the index. llvm-svn: 114449
* Add LiveInterval::find and use it for most LiveRange searching operationsJakob Stoklund Olesen2010-09-212-75/+41
| | | | | | | | | | | | instead of calling lower_bound or upper_bound directly. This cleans up the search logic a bit because {lower,upper}_bound compare LR->start by default, and it is usually simpler to search LR->end. Funnelling all searches through one function also makes it possible to replace the search algorithm with something faster than binary search. llvm-svn: 114448
* Remove dead method.Jakob Stoklund Olesen2010-09-212-26/+0
| | | | llvm-svn: 114447
* propagate MachinePointerInfo through various uses of the oldChris Lattner2010-09-2112-299/+285
| | | | | | SelectionDAG::getExtLoad overload, and eliminate it. llvm-svn: 114446
* Fix errant printing of [v]ldm instructions that aren't a popJim Grosbach2010-09-211-32/+24
| | | | llvm-svn: 114445
* Simplify code.Benjamin Kramer2010-09-211-8/+6
| | | | llvm-svn: 114444
* continue MachinePointerInfo'izing, eliminating use of one of the oldChris Lattner2010-09-219-195/+192
| | | | | | getLoad overloads. llvm-svn: 114443
* convert dagcombine off the old form of getLoad. This fixes several bugs Chris Lattner2010-09-211-16/+18
| | | | | | with SVOffset computation. llvm-svn: 114442
* Make CreateComplexVariable independent of SmallVector.Benjamin Kramer2010-09-212-11/+9
| | | | llvm-svn: 114439
* simplify DAGCombiner::SimplifySelectOps step #2/2.Chris Lattner2010-09-211-55/+53
| | | | llvm-svn: 114437
* substantially reduce indentation and simplify DAGCombiner::SimplifySelectOps.Chris Lattner2010-09-211-85/+76
| | | | | | no functionality change (step #1) llvm-svn: 114436
* Trailing whitespace, 80-col violations.Mikhail Glushenkov2010-09-211-6/+6
| | | | llvm-svn: 114435
* llvmc: split llvm_gcc_based into llvm_gcc_{pch,comp}_based.Mikhail Glushenkov2010-09-211-20/+26
| | | | llvm-svn: 114434
* llvmc: Allow multiple output languages.Mikhail Glushenkov2010-09-214-59/+124
| | | | llvm-svn: 114433
* Trailing whitespace.Mikhail Glushenkov2010-09-211-6/+6
| | | | llvm-svn: 114432
* Fixed ambiguous call.Lang Hames2010-09-211-1/+2
| | | | llvm-svn: 114431
* Fix buglet when the TST instruction directly uses the AND result.Gabor Greif2010-09-211-5/+6
| | | | | | | I am unable to write a test for this case, help is solicited, though... What I did is to tickle the code in the debugger and verify that we do the right thing. llvm-svn: 114430
* Added an additional PBQP problem builder which adds coalescing costs (both ↵Lang Hames2010-09-213-17/+158
| | | | | | between pairs of virtuals, and between virtuals and physicals). llvm-svn: 114429
* Move the search for the appropriate AND instructionGabor Greif2010-09-214-26/+50
| | | | | | | | | | into OptimizeCompareInstr. This necessitates the passing of CmpValue around, so widen the virtual functions to accomodate. No functionality changes. llvm-svn: 114428
* llvmc: put linker options in a separate OptList.Mikhail Glushenkov2010-09-211-27/+65
| | | | llvm-svn: 114427
* a few more trivial updates. This fixes PerformInsertVectorEltInMemory to notChris Lattner2010-09-212-15/+13
| | | | | | | pass a completely incorrect SrcValue, which would result in a miscompile with combiner-aa. llvm-svn: 114411
* convert the targets off the non-MachinePointerInfo of getLoad.Chris Lattner2010-09-2111-102/+116
| | | | llvm-svn: 114410
* add some accessorsChris Lattner2010-09-212-0/+15
| | | | llvm-svn: 114409
* it's more elegant to put the "getConstantPool" andChris Lattner2010-09-216-29/+48
| | | | | | | | "getFixedStack" on the MachinePointerInfo class. While this isn't the problem I'm setting out to solve, it is the right way to eliminate PseudoSourceValue, so lets go with it. llvm-svn: 114406
* ugh, missed a file.Chris Lattner2010-09-211-1/+1
| | | | llvm-svn: 114405
* update the X86 backend to use the MachinePointerInfo version of oneChris Lattner2010-09-211-38/+44
| | | | | | | of the getLoad methods. This fixes at least one bug where an incorrect svoffset is passed in (a potential combiner-aa miscompile). llvm-svn: 114404
* Fix a bug where the x86 backend would lower memcpy/memset of segment ↵Chris Lattner2010-09-211-0/+9
| | | | | | | | relative operations into non-segment-relative copies. llvm-svn: 114402
* reimplement memcpy/memmove/memset lowering to use MachinePointerInfoChris Lattner2010-09-2112-76/+102
| | | | | | | instead of srcvalue/offset pairs. This corrects SV info for mem operations whose size is > 32-bits. llvm-svn: 114401
* add some helpful accessors.Chris Lattner2010-09-213-0/+21
| | | | llvm-svn: 114400
* add overloads for SelectionDAG::getLoad, getStore, getTruncStore that take aChris Lattner2010-09-212-19/+60
| | | | | | | MachinePointerInfo. Among other virtues, this doesn't silently truncate the svoffset to 32-bits. llvm-svn: 114399
* simplify interface to SelectionDAG::getMemIntrinsicNode, making it take a ↵Chris Lattner2010-09-213-8/+8
| | | | | | MachinePointerInfo llvm-svn: 114397
* chagne interface to SelectionDAG::getAtomic to take a MachinePointerInfo,Chris Lattner2010-09-213-14/+6
| | | | | | eliminating some weird "infer a frame address" logic which was dead. llvm-svn: 114396
* don't implicitly drop the offset of a machinememoperand when legalizing atomics.Chris Lattner2010-09-211-2/+2
| | | | llvm-svn: 114395
* force clients of MachineFunction::getMachineMemOperand to provide aChris Lattner2010-09-215-32/+19
| | | | | | | MachinePointerInfo, propagating the type out a level of API. Remove the old MachineFunction::getMachineMemOperand impl. llvm-svn: 114393
* convert targets to the new MF.getMachineMemOperand interface.Chris Lattner2010-09-219-30/+42
| | | | llvm-svn: 114391
* start pushing MachinePointerInfo out through the MachineMemOperand interfaceChris Lattner2010-09-214-12/+33
| | | | | | to the MachineFunction construction methods. llvm-svn: 114390
OpenPOWER on IntegriCloud