summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* 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
* use a more efficient check for 'is metadata'Chris Lattner2011-07-071-5/+4
| | | | llvm-svn: 134599
* Use ArrayRef instead of a std::vector&.Bill Wendling2011-07-072-3/+3
| | | | llvm-svn: 134595
* Add functions 'hasPredecessor' and 'hasPredecessorHelper' to SDNode. TheLang Hames2011-07-072-16/+36
| | | | | | | | | | | | | | | | hasPredecessorHelper function allows predecessors to be cached to speed up repeated invocations. This fixes PR10186. X.isPredecessorOf(Y) now just calls Y.hasPredecessor(X) Y.hasPredecessor(X) calls Y.hasPredecessorHelper(X, Visited, Worklist) with empty Visited and Worklist sets (i.e. no caching over invocations). Y.hasPredecessorHelper(X, Visited, Worklist) caches search state in Visited and Worklist to speed up repeated calls. The Visited set is searched for X before going to the worklist to further search the DAG if necessary. llvm-svn: 134592
* Change some ARM subtarget features to be single bit yes/no in order to sink ↵Evan Cheng2011-07-074-113/+124
| | | | | | them down to MC layer. Also fix tests. llvm-svn: 134590
* Add a target hook to encode the compact unwind information.Bill Wendling2011-07-074-9/+114
| | | | llvm-svn: 134577
* Add DEBUG messages.Devang Patel2011-07-071-2/+9
| | | | llvm-svn: 134572
* Factor ARM triple parsing out of ARMSubtarget. Another step towards making ↵Evan Cheng2011-07-077-91/+84
| | | | | | ARM subtarget info available to MC. llvm-svn: 134569
* Use DBG_VALUE location while inserting DBG_VALUE during alloca promotion.Devang Patel2011-07-071-2/+2
| | | | llvm-svn: 134568
* Fix a bug in the "expect" intrinsic lowering.Jakub Staszak2011-07-061-1/+4
| | | | llvm-svn: 134566
* When tail-merging multiple blocks, make sure to correctly update the live-in ↵Eli Friedman2011-07-062-10/+23
| | | | | | | | | | list on the merged block to correctly account for the live-outs of all the predecessors. They might not be the same in all cases (the testcase I have involves a PHI node where one of the operands is an IMPLICIT_DEF). Unfortunately, the testcase I have is large and confidential, so I don't have a test to commit at the moment; I'll see if I can come up with something smaller where this issue reproduces. <rdar://problem/9716278> llvm-svn: 134565
* Remove dead code.Devang Patel2011-07-061-2/+0
| | | | llvm-svn: 134561
* Typo.Devang Patel2011-07-061-1/+1
| | | | llvm-svn: 134559
* Clean up the #includes.Bill Wendling2011-07-061-5/+4
| | | | llvm-svn: 134557
* Grammar and 80-col.Eric Christopher2011-07-061-7/+7
| | | | llvm-svn: 134555
OpenPOWER on IntegriCloud