summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Be more aggressive about following hints.Jakob Stoklund Olesen2011-07-084-66/+149
| | | | | | | | | | | | | | | | | | | | RAGreedy::tryAssign will now evict interference from the preferred register even when another register is free. To support this, add the EvictionCost struct that counts how many hints are broken by an eviction. We don't want to break one hint just to satisfy another. Rename canEvict to shouldEvict, and add the first bit of eviction policy that doesn't depend on spill weights: Always make room in the preferred register as long as the evictees can be split and aren't already assigned to their preferred register. Also make the CSR avoidance more accurate. When looking for a cheaper register it is OK to use a new volatile register. Only CSR aliases that have never been used before should be avoided. llvm-svn: 134735
* Use tPseudoExpand for tTAILJMPrND and tTAILJMPr.Jim Grosbach2011-07-082-20/+8
| | | | llvm-svn: 134734
* Use tPseudoExpand for tTAILJMPd and tTAILJMPdND.Jim Grosbach2011-07-083-18/+17
| | | | llvm-svn: 134732
* Silence compiler warning.Benjamin Kramer2011-07-081-0/+2
| | | | llvm-svn: 134730
* Add more info to FIXME.Jim Grosbach2011-07-081-1/+5
| | | | llvm-svn: 134729
* Move Thumb tail call pseudos to Thumb.td file.Jim Grosbach2011-07-082-15/+25
| | | | | | Fix a FIXME. llvm-svn: 134727
* TargetAsmParser doesn't need reference to Target.Evan Cheng2011-07-084-11/+10
| | | | llvm-svn: 134721
* Remove unused copy of UpdateInlinedAtInfo.Benjamin Kramer2011-07-081-12/+0
| | | | llvm-svn: 134720
* Use ARMPseudoExpand for ARM tail calls.Jim Grosbach2011-07-082-31/+17
| | | | llvm-svn: 134719
* Shuffle productions around a bit.Jim Grosbach2011-07-081-55/+59
| | | | | | No functional change. llvm-svn: 134714
* Use ARMPseudoExpand for BLr9, BLr9_pred, BXr9, and BXr9_pred.Jim Grosbach2011-07-082-28/+15
| | | | | | TableGen'erated MC lowering pseudo-expansion. llvm-svn: 134712
* Refactor. It is inliner's responsibility to update line number information.Devang Patel2011-07-082-38/+40
| | | | llvm-svn: 134708
* Add CMake support for the new TableGen file introduced in r134705.Chandler Carruth2011-07-081-0/+1
| | | | llvm-svn: 134707
* Use TableGen'erated pseudo lowering for ARM.Jim Grosbach2011-07-088-211/+191
| | | | | | | | | Hook up the TableGen lowering for simple pseudo instructions for ARM and use it for a subset of the many pseudos the backend has as proof of concept. More conversions to come. llvm-svn: 134705
* Refactor.Devang Patel2011-07-081-28/+29
| | | | llvm-svn: 134703
* Make provision to have floating point constants in .debug_loc expressions.Devang Patel2011-07-082-43/+80
| | | | llvm-svn: 134702
* Apparently we can't expect a BinaryOperator here.Benjamin Kramer2011-07-081-2/+2
| | | | | | Should fix llvm-gcc selfhost. llvm-svn: 134699
* Emit a more efficient magic number multiplication for exact sdivs.Benjamin Kramer2011-07-083-1/+43
| | | | | | | | | | | | | | | | | | | | | | | | We have to do this in DAGBuilder instead of DAGCombiner, because the exact bit is lost after building. struct foo { char x[24]; }; long bar(struct foo *a, struct foo *b) { return a-b; } is now compiled into movl 4(%esp), %eax subl 8(%esp), %eax sarl $3, %eax imull $-1431655765, %eax, %eax instead of movl 4(%esp), %eax subl 8(%esp), %eax movl $715827883, %ecx imull %ecx movl %edx, %eax shrl $31, %eax sarl $2, %edx addl %eax, %edx movl %edx, %eax llvm-svn: 134695
* Eliminate asm parser's dependency on TargetMachine:Evan Cheng2011-07-0842-197/+235
| | | | | | | | | | - Each target asm parser now creates its own MCSubtatgetInfo (if needed). - Changed AssemblerPredicate to take subtarget features which tablegen uses to generate asm matcher subtarget feature queries. e.g. "ModeThumb,FeatureThumb2" is translated to "(Bits & ModeThumb) != 0 && (Bits & FeatureThumb2) != 0". llvm-svn: 134678
* Make GVN look through extractvalues for recognised intrinsics. GVN can then ↵Lang Hames2011-07-081-7/+54
| | | | | | CSE ops that match values produced by the intrinsics. llvm-svn: 134677
* Raise assertion when MachineOperand has unexpected target flag.Akira Hatanaka2011-07-081-1/+2
| | | | llvm-svn: 134671
* Make sure variable Kind is assigned a value to suppress warning.Akira Hatanaka2011-07-081-1/+1
| | | | llvm-svn: 134668
* Let the inline asm 'q' constraint match float, and on 64-bit double too.Nick Lewycky2011-07-081-3/+3
| | | | | | Fixes PR9602! llvm-svn: 134665
* Go ahead and emit the barrier on x86-64 even without sse2. TheEric Christopher2011-07-081-3/+4
| | | | | | | | processor supports it just fine. Fixes PR9675 and rdar://9740801 llvm-svn: 134664
* Lower MachineInstr to MC Inst and print to .s files. Akira Hatanaka2011-07-0713-107/+290
| | | | llvm-svn: 134661
* Handle fpcr register.Eric Christopher2011-07-071-1/+2
| | | | | | Part of PR10299 and rdar://9740322 llvm-svn: 134653
* Add support for the X86 'l' constraint.Eric Christopher2011-07-071-0/+1
| | | | | | Fixes PR10149 and rdar://9738585 llvm-svn: 134648
* Remove a FIXME. All of the standard ones are in the list.Eric Christopher2011-07-071-1/+0
| | | | llvm-svn: 134647
* Remove unnecessary newline.Akira Hatanaka2011-07-071-1/+1
| | | | llvm-svn: 134645
* Add DEBUG message.Devang Patel2011-07-071-0/+2
| | | | llvm-svn: 134643
* Add Mode64Bit feature and sink it down to MC layer.Evan Cheng2011-07-076-92/+177
| | | | llvm-svn: 134641
* Move a function out-of-line.Bill Wendling2011-07-071-0/+6
| | | | llvm-svn: 134640
* Rather than having printMemOperand change the way memory operands are printedAkira Hatanaka2011-07-073-16/+21
| | | | | | based on a modifier, split it into two functions. llvm-svn: 134637
* This patch adds a flag in MCAsmInfo that indicates whether dwarf registerAkira Hatanaka2011-07-072-1/+2
| | | | | | | | | | numbers should be printed instead of symbolic register names in MCAsmStreamer::EmitRegisterName. This is necessary because some versions of GNU assembler won't accept code in which symbolic register names are used in cfi directives. There is no change in behavior unless the flag is explicitly set to true by a backend. llvm-svn: 134635
* Define class MipsMCInstLower.Akira Hatanaka2011-07-073-0/+161
| | | | llvm-svn: 134633
* Change visibility of MipsAsmPrinter.Akira Hatanaka2011-07-072-60/+87
| | | | llvm-svn: 134630
* Define class MipsMCSymbolRefExpr.Akira Hatanaka2011-07-073-0/+126
| | | | llvm-svn: 134629
* Simplify MipsRegisterInfo::eliminateFrameIndex.Akira Hatanaka2011-07-071-33/+13
| | | | llvm-svn: 134628
* Rewrite comment in English.Evan Cheng2011-07-071-1/+1
| | | | llvm-svn: 134627
* Rename attribute 'thumb' to a more descriptive 'thumb-mode'.Evan Cheng2011-07-074-9/+10
| | | | llvm-svn: 134626
* Reverse order of operands of address operand mem so that the base operand comesAkira Hatanaka2011-07-077-50/+50
| | | | | | | before the offset. This change will enable simplification of function MipsRegisterInfo::eliminateFrameIndex. llvm-svn: 134625
* Add missing return statement.Akira Hatanaka2011-07-071-1/+3
| | | | llvm-svn: 134622
* If known DebugLocs do not match then two DBG_VALUE machine instructions are ↵Devang Patel2011-07-071-0/+5
| | | | | | | | | | | not identical. For example, DBG_VALUE 3.310000e+02, 0, !"ds"; dbg:sse.stepfft.c:138:18 @[ sse.stepfft.c:32:10 ] DBG_VALUE 3.310000e+02, 0, !"ds"; dbg:sse.stepfft.c:138:18 @[ sse.stepfft.c:31:10 ] These two MIs represent identical value, 3.31..., for one variable, ds, but they are not identical because the represent two separate instances of inlined variable "ds". llvm-svn: 134620
* Recognize mipseb as alias for mips for symmetry with mipsel.Joerg Sonnenberger2011-07-071-1/+2
| | | | llvm-svn: 134617
* Update CMake library dependenciesOscar Fuentes2011-07-071-2/+0
| | | | llvm-svn: 134616
* Fix CMake buildDouglas Gregor2011-07-071-0/+2
| | | | llvm-svn: 134614
* The VMLA instruction and its friends are not actually fused; they're plain oldCameron Zwarich2011-07-072-2/+2
| | | | | | multiply-accumulate instructions with separate rounding steps. llvm-svn: 134609
* Sink feature IsThumb into MC layer.Evan Cheng2011-07-074-15/+34
| | | | llvm-svn: 134608
* Compute feature bits at time of MCSubtargetInfo initialization.Evan Cheng2011-07-0730-76/+118
| | | | llvm-svn: 134606
* type can be nullChris Lattner2011-07-071-1/+1
| | | | llvm-svn: 134601
OpenPOWER on IntegriCloud