summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
...
* Add some comments.Dan Gohman2010-06-241-0/+7
| | | | llvm-svn: 106809
* Refactoring of SSE convert intrinsicsBruno Cardoso Lopes2010-06-241-62/+53
| | | | llvm-svn: 106808
* Teach EmitLiveInCopies to omit copies for unused virtual registers,Dan Gohman2010-06-243-21/+32
| | | | | | and to clean up unused incoming physregs from the live-in list. llvm-svn: 106805
* Refactoring of SSE conversion instructionsBruno Cardoso Lopes2010-06-241-25/+18
| | | | llvm-svn: 106804
* Change array references to match my previous change to use the public typeBob Wilson2010-06-241-1/+1
| | | | | | names for the array fields. llvm-svn: 106803
* DataTypes.h.cmake (MSVC): Protect some #define's and use specificOscar Fuentes2010-06-241-17/+35
| | | | | | suffixes for integer types. llvm-svn: 106797
* Refactor SSE cmp intrinsics and declare the same for AVXBruno Cardoso Lopes2010-06-241-30/+29
| | | | llvm-svn: 106796
* Fix up some comments.Bob Wilson2010-06-241-4/+4
| | | | llvm-svn: 106795
* Use the struct tags mandated by ARM's ABI. Also use the public type names forBob Wilson2010-06-241-4/+51
| | | | | | the array fields in these structs. llvm-svn: 106794
* It's possible that a flag is added to the SDNode that points back to theBill Wendling2010-06-242-11/+46
| | | | | | | original SDNode. This is badness. Also, this function allows one SDNode to point multiple flags to another SDNode. Badness as well. llvm-svn: 106793
* DBG_VALUE machine instruction pointing to undefined register for a variable ↵Devang Patel2010-06-242-4/+16
| | | | | | | | justify a separate scope if the variable is inlined function's argument. Radar 8122864. llvm-svn: 106792
* Don't return a std::vector in the Spiller interface, but take a reference to aJakob Stoklund Olesen2010-06-243-33/+38
| | | | | | | | vector instead. This avoids needless copying and allocation. Add documentation. llvm-svn: 106788
* - Add AVX COMI{SS,SD}{rr,rm} and UCOMI{SS,SD}{rr,rm}.Bruno Cardoso Lopes2010-06-244-164/+203
| | | | | | | - Fix a small VEX encoding issue. - Move compare instructions to their appropriate place. llvm-svn: 106787
* Remove the now unused LiveIntervals::getVNInfoSourceReg().Jakob Stoklund Olesen2010-06-242-35/+0
| | | | | | | This method was always a bit too simplistic for the real world. It didn't really deal with subregisters and such. llvm-svn: 106781
* Teach AdjustCopiesBackFrom to also use CoalescerPair to identify compatible ↵Jakob Stoklund Olesen2010-06-242-16/+13
| | | | | | copies. llvm-svn: 106780
* Disallow matching "i" constraint to symbol addresses whenDale Johannesen2010-06-243-2/+24
| | | | | | | | | | | | address requires a register or secondary load to compute (most PIC modes). This improves "g" constraint handling. 8015842. The test from 2007 is attempting to test the fix for PR1761, but since -relocation-model=static doesn't work on Darwin x86-64, it was not testing what it was supposed to be testing and was passing erroneously. Fixed to use Linux x86-64. llvm-svn: 106779
* Silence some unused variable warnings.Eric Christopher2010-06-241-3/+3
| | | | llvm-svn: 106778
* Remove the -fast-spill option.Jakob Stoklund Olesen2010-06-242-93/+0
| | | | | | | This code path has never really been used, and we are going to be handling spilling through the Spiller interface in the future. llvm-svn: 106777
* Document problems that I encountered when working on -scev-aa.Dan Gohman2010-06-241-0/+40
| | | | llvm-svn: 106776
* Oops. IT block formation pass needs to be run at any optimization level.Evan Cheng2010-06-241-4/+3
| | | | llvm-svn: 106775
* Loosen up the requirements in the Horrible Hack(tm) to include all selectorsBill Wendling2010-06-241-30/+10
| | | | | | | | which don't have a catch-all associated with them not just clean-ups. This fixes the SingleSource/Benchmarks/Shootout-C++/except.cpp testcase that broke because of my change r105902. llvm-svn: 106772
* Always allow Thumb-2 SXTB, SXTH, UXTB, and UXTH. Fixes PR7324.Eli Friedman2010-06-241-11/+9
| | | | llvm-svn: 106770
* Replace a big gob of old coalescer logic with the new CoalescerPair class.Jakob Stoklund Olesen2010-06-245-737/+224
| | | | | | | | | | CoalescerPair can determine if a copy can be coalesced, and which register gets merged away. The old logic in SimpleRegisterCoalescing had evolved into something a bit too convoluted. This second attempt fixes some crashes that only occurred Linux. llvm-svn: 106769
* Add an exports file for the Hello example plugin.Dan Gohman2010-06-242-0/+8
| | | | llvm-svn: 106768
* Print the LSBs of a SlotIndex symbolically using letters referring to theJakob Stoklund Olesen2010-06-241-1/+3
| | | | | | | | | [L]oad, [u]se, [d]ef, or [S]tore slots. This makes it easier to see if two indices refer to the same instruction, avoiding mental mod 4 calculations. llvm-svn: 106766
* Simplify this code; switch lowering shouldn't produce casesDan Gohman2010-06-241-12/+4
| | | | | | which trivially fold away. llvm-svn: 106765
* A few minor micro-optimizations.Dan Gohman2010-06-241-5/+11
| | | | llvm-svn: 106764
* Teach getExactSDiv to evaluate x/1 to x up front, as it's a commonDan Gohman2010-06-241-8/+16
| | | | | | | enough special case, and it theoretically allows more folding because it works even when x is unanalyzable. llvm-svn: 106763
* PR7458: Try commuting Thumb2 instruction operands to put them into 2-addressBob Wilson2010-06-243-5/+20
| | | | | | form so they can be narrowed to 16-bit instructions. llvm-svn: 106762
* Edit and clarify comments for TargetInstrInfo methods:Bob Wilson2010-06-241-13/+9
| | | | | | | | | | | None of the existing implementations of commuteInstruction create new instructions unless the NewMI parameter is true, but the comment had implied otherwise. findCommutedOpIndices returns false, not true, when it doesn't know how to commute the instruction. llvm-svn: 106761
* Don't try to preserve pointer types in SCEVConstants; the old codeDan Gohman2010-06-241-12/+8
| | | | | | was over-complicated. llvm-svn: 106760
* Fix copy+pasto issues in isMulSExtable.Dan Gohman2010-06-241-4/+5
| | | | llvm-svn: 106759
* Make the trunc code consistent with the zext and sext code in itsDan Gohman2010-06-241-1/+2
| | | | | | handling of pointer types. llvm-svn: 106757
* Add a comment about a thread safety issue in Statistic.h.Dan Gohman2010-06-241-0/+4
| | | | llvm-svn: 106756
* Add overloads for getFile and getFileOrSTDIN which take a const char *Dan Gohman2010-06-242-3/+25
| | | | | | | instead of a StringRef, avoiding the need to copy the string in the common case. llvm-svn: 106754
* Be more strict about subreg-to-subreg copies in CoalescerPair.Jakob Stoklund Olesen2010-06-242-6/+30
| | | | | | Also keep track of the original DstREg before subregister adjustments. llvm-svn: 106753
* use ArgOperand APIGabor Greif2010-06-241-3/+3
| | | | llvm-svn: 106752
* Verify that VNI kills are pointing to existing instructions.Jakob Stoklund Olesen2010-06-241-0/+1
| | | | | | | In this case it is essential that the kill is real because the spiller will decide to omit a spill if it thinks there is a later kill. llvm-svn: 106751
* use (even more, still) ArgOperand APIGabor Greif2010-06-241-8/+8
| | | | llvm-svn: 106750
* Eliminate the other half of the BRCOND optimization, and updateDan Gohman2010-06-2411-657/+17
| | | | | | as many tests as possible. llvm-svn: 106749
* Eliminate the first have of the optimization which eliminates BRCONDDan Gohman2010-06-249-294/+7
| | | | | | | | | | | | | when the condition is constant. This optimization shouldn't be necessary, because codegen shouldn't be able to find dead control paths that the IR-level optimizer can't find. And it's undesirable, because it encourages bugpoint to leave "br i1 false" branches in its output. And it wasn't updating the CFG. I updated all the tests I could, but some tests are too reduced and I wasn't able to meaningfully preserve them. llvm-svn: 106748
* use ArgOperand API and CallSite for arg range; add necessary casts and ↵Gabor Greif2010-06-241-11/+14
| | | | | | perform some cosmetics llvm-svn: 106747
* Reapply r106634, now that the bug it exposed is fixed.Dan Gohman2010-06-249-119/+62
| | | | llvm-svn: 106746
* use ArgOperand API and CallSite for arg rangeGabor Greif2010-06-241-4/+6
| | | | llvm-svn: 106745
* use (even more) ArgOperand APIGabor Greif2010-06-241-5/+5
| | | | llvm-svn: 106744
* use ArgOperand APIGabor Greif2010-06-241-6/+5
| | | | llvm-svn: 106743
* use ArgOperand APIGabor Greif2010-06-241-31/+30
| | | | llvm-svn: 106740
* use ArgOperand APIGabor Greif2010-06-241-4/+4
| | | | llvm-svn: 106737
* use ArgOperand API, also tighten the type of visitFree to make this work out ↵Gabor Greif2010-06-242-7/+7
| | | | | | smoothly llvm-svn: 106736
* use ArgOperand API; introduce downcasted pointers into scope to facilitate thisGabor Greif2010-06-241-7/+9
| | | | llvm-svn: 106734
OpenPOWER on IntegriCloud