summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* Add some comments about REX fieldsBruno Cardoso Lopes2010-06-121-10/+10
| | | | llvm-svn: 105860
* More AVX instructions ({ADD,SUB,MUL,DIV}{SS,SD}rm)Bruno Cardoso Lopes2010-06-115-7/+113
| | | | | | Introduce the VEX_X field llvm-svn: 105859
* lit: Add a forgotten default argument.Daniel Dunbar2010-06-111-1/+1
| | | | llvm-svn: 105858
* tests: Add wrapper script for calling macho-dump on Win32.Daniel Dunbar2010-06-111-0/+3
| | | | llvm-svn: 105856
* lit: When running Tcl style tests on Windows, substitute slashes to avoid TclDaniel Dunbar2010-06-111-6/+17
| | | | | | | quoting problems. Not particularly ideal, but should work ok. Based on a patch by Michael Spencer! llvm-svn: 105855
* Add a missing bitcast. This code used to only handle conversions betweenBob Wilson2010-06-112-1/+21
| | | | | | | i64 and f64 types, but now it also handle Neon vector types, so the f64 result of VMOVDRR may need to be converted to a Neon type. Radar 8084742. llvm-svn: 105845
* llvm-mc: Don't set NO_INSTALL on llvm-mc.Daniel Dunbar2010-06-111-1/+0
| | | | llvm-svn: 105837
* Add instruction encoding for the Neon VMOV immediate instruction. This changesBob Wilson2010-06-119-125/+222
| | | | | | | | | | | the machine instruction representation of the immediate value to be encoded into an integer with similar fields as the actual VMOV instruction. This makes things easier for the disassembler, since it can just stuff the bits into the immediate operand, but harder for the asm printer since it has to decode the value to be printed. Testcase for the encoding will follow later when MC has more support for ARM. llvm-svn: 105836
* Support for nested functions/classes in debug output. (Again.) Radar 7424645.Stuart Hastings2010-06-114-6/+45
| | | | llvm-svn: 105828
* Delete duplicate function.Stuart Hastings2010-06-111-12/+0
| | | | llvm-svn: 105827
* Define ContextualFoldingSet, which stores a context parameter to pass down toJohn McCall2010-06-111-0/+75
| | | | | | | | | | | | the Profile method. Currently this only works with the default FoldingSetTraits implementation. The point of this is to allow nodes to not store context values which are only used during profiling. A better solution would thread this value through the folding algorithms, but then those would need to be (1) templated and (2) non-opaque. llvm-svn: 105819
* Add support for polynomial type, for polynomial multiplyNate Begeman2010-06-101-0/+2
| | | | llvm-svn: 105792
* Avoid "variable 'bits' set but not used [-Wunused-but-set-variable]"Duncan Sands2010-06-101-10/+6
| | | | | | | warnings with gcc-4.6, by not setting bits when the result is not used. llvm-svn: 105790
* Avoid many "variable 'Sub' set but not used [-Wunused-but-set-variable]" ↵Duncan Sands2010-06-101-3/+2
| | | | | | | | | | warnings with gcc-4.6. The warning is wrong, since Sub *is* used (perhaps gcc is confused because the use of Sub is constant folded away?), but since it is trivial to avoid, and massively reduces the amount of warning spew, just workaround the wrong warning. llvm-svn: 105788
* Add includes to get ptrdiff_t. This is needed by gcc-4.6 which hasDuncan Sands2010-06-104-0/+4
| | | | | | | done some more header trimming, resulting in cstdef being included by less header files. llvm-svn: 105786
* Teach tablegen to allow "let" expressions inside multiclasses,Bruno Cardoso Lopes2010-06-104-53/+98
| | | | | | providing more ways to factor out commonality from the records. llvm-svn: 105776
* Code refactoring, no functionality changes.Evan Cheng2010-06-102-83/+87
| | | | llvm-svn: 105775
* Delete code that's not safe.Evan Cheng2010-06-101-13/+0
| | | | llvm-svn: 105774
* NEON support for _lane ops, and multiplies by scalar.Nate Begeman2010-06-102-45/+79
| | | | llvm-svn: 105769
* be slightly more subtle about skipping dbg_value instructions; otherwise, if aJim Grosbach2010-06-091-5/+6
| | | | | | | | dbg_value immediately follows a sequence of ldr/str instructions that should be combined into an ldm/stm and is the last instruction in the block, then combine may end up being skipped. llvm-svn: 105758
* Testcase for r105741.Bill Wendling2010-06-091-0/+53
| | | | llvm-svn: 105750
* Mark physregs defined by inline asm as implicit.Jakob Stoklund Olesen2010-06-092-2/+23
| | | | | | | This is a bit of a hack to make inline asm look more like call instructions. It would be better to produce correct dead flags during isel. llvm-svn: 105749
* Allow target to place 2-address pass inserted copies in better spots. Thumb2 ↵Evan Cheng2010-06-095-13/+66
| | | | | | will use this to try to avoid breaking up IT blocks. llvm-svn: 105745
* It's an error to translate this:Bill Wendling2010-06-091-0/+20
| | | | | | | | | | | | | | | | | | | | %reg1025 = <sext> %reg1024 ... %reg1026 = SUBREG_TO_REG 0, %reg1024, 4 into this: %reg1025 = <sext> %reg1024 ... %reg1027 = EXTRACT_SUBREG %reg1025, 4 %reg1026 = SUBREG_TO_REG 0, %reg1027, 4 The problem here is that SUBREG_TO_REG is there to assert that an implicit zext occurs. It doesn't insert a zext instruction. If we allow the EXTRACT_SUBREG here, it will give us the value after the <sext>, not the original value of %reg1024 before <sext>. llvm-svn: 105741
* Revert 105540, 105542, 105544, 105546, and 105548 to unbreak bootstrapping.Evan Cheng2010-06-093-92/+173
| | | | llvm-svn: 105740
* - Fix description of SUBREG_TO_REG. It's not going to generate a zext. But itBill Wendling2010-06-091-10/+9
| | | | | | | | is used to assert that an *implicit* zext is performed. - Fix grammar-o in INSERT_SUBREG. (required reformatting) llvm-svn: 105735
* Further refine types for operations which take scalars.Nate Begeman2010-06-091-8/+8
| | | | | | This will be used primarily by NEON shift intrinsics. llvm-svn: 105733
* Workaround SCEV non-determinism on this test, for now, to get buildbots back toDaniel Dunbar2010-06-091-1/+1
| | | | | | green. Dan, please revert this once the real problem is fixed. llvm-svn: 105732
* Change another reference to the "indirect callgraph node" toDuncan Sands2010-06-091-1/+1
| | | | | | refer to the "external node" instead. llvm-svn: 105731
* Output "external node" rather than "Indirect CallGraph node" when printingDuncan Sands2010-06-091-1/+1
| | | | | | | | callgraph SCC's. This makes it match what the node itself would print. Also, "indirect callgraph node" doesn't make sense - it has nothing particularly to do with indirect calls. llvm-svn: 105730
* How about ULL...Eric Christopher2010-06-091-1/+1
| | | | llvm-svn: 105726
* Pulled CodeMetrics out of InlineCost.h and made it a bit more general, so it ↵Kenneth Uildriks2010-06-094-48/+98
| | | | | | can be reused from PartialSpecializationCost llvm-svn: 105725
* Fix SPU to cope with vector insertelement to an undef position.Kalle Raiskila2010-06-092-5/+21
| | | | | | We default to inserting to lane 0. llvm-svn: 105722
* Handle loading from/storing to undef pointers on SPU by inserting a Kalle Raiskila2010-06-092-1/+8
| | | | | | random load/store, rather than crashing llc. llvm-svn: 105710
* Specialize I-Class instructions better so that we have less work to do in ↵Nate Begeman2010-06-091-4/+20
| | | | | | | | codegen. Parenthesize macro args llvm-svn: 105682
* Typo.Evan Cheng2010-06-091-1/+1
| | | | llvm-svn: 105677
* Fix a gcc warning:Rafael Espindola2010-06-091-0/+2
| | | | | | | | | 'class llvm::DAGDeltaAlgorithm' has virtual functions and accessible non-virtual destructor Not sure if this is the best solution, but this class has state and some of the classes that inherit from it also do, so it looks appropriate. llvm-svn: 105675
* A few new x86-64 specific README entries.Eli Friedman2010-06-091-0/+82
| | | | llvm-svn: 105674
* Thumb2 IT blocks are fairly expensive. When there are multiple selects usingEvan Cheng2010-06-093-13/+292
| | | | | | | | | | | | | | | the same condition, it's important to make sure they are scheduled together to avoid forming multiple IT blocks. I'm adding a pre-regalloc pass that forms IT blocks early (by re-scheduling instructions and split basic blocks) to attempt to fix this. This is not turned on by default since I am not sure this is the right fix. Another issue is llvm selects are modeled as two-address conditional moves. This can be very bad when the copies before the conditional moves are not coalesced away. Teach IT formation pass to move the copies above the IT block (when legal) to avoid breaking the IT block. llvm-svn: 105669
* Handle instructions which need to be #defines for the purpose of capturing ↵Nate Begeman2010-06-092-24/+62
| | | | | | | | constant arguments Handle extract hi/lo with common code llvm-svn: 105666
* Add argument name comments.Jakob Stoklund Olesen2010-06-091-2/+6
| | | | llvm-svn: 105665
* Incremental improvement to the handling of the x86 "Jump if rCX Zero"Kevin Enderby2010-06-081-0/+14
| | | | | | | | | | | | instruction. Added the 64-bit version "jrcxz" so it is recognized and also added the checks for incorrect uses of "jcxz" in 64-bit mode and "jrcxz" in 32-bit mode. Still to do is to correctly handle the encoding of the instruction adding the Address-size override prefix byte, 0x67, when the width of the count register is not the same as the mode the machine is running in. Which for example means the encoding of "jecxz" depends if you are assembling as a 32-bit target or a 64-bit target. llvm-svn: 105661
* Split out these asserts so it's more apparent why we're not assemblingEric Christopher2010-06-081-2/+2
| | | | | | that rip-relative address when executing in 32-bit mode. llvm-svn: 105656
* fix copy/paste/modify think-oJim Grosbach2010-06-081-1/+1
| | | | llvm-svn: 105653
* Reapply r105521, this time appending "LLU" to 64 bitBruno Cardoso Lopes2010-06-0815-35/+334
| | | | | | immediates to avoid breaking the build. llvm-svn: 105652
* Ensure that mov and not lea are used to stick the address intoEric Christopher2010-06-083-10/+21
| | | | | | the register. While we're at it, make sure it's in the right one. llvm-svn: 105645
* Makefiles: Teach LLVM's recursive makefile descent to update objdir Makefiles ifDaniel Dunbar2010-06-081-4/+9
| | | | | | they are out of date, instead of only testing if they exist. llvm-svn: 105636
* fix typoJim Grosbach2010-06-081-1/+1
| | | | llvm-svn: 105634
* Use const_iterator where appropriate.Daniel Dunbar2010-06-081-1/+1
| | | | llvm-svn: 105620
* DeltaAlgorithm: Tweak split to split by first/second half instead of ↵Daniel Dunbar2010-06-081-2/+2
| | | | | | even/odd, since adjacent changes are more likely to be related. llvm-svn: 105613
OpenPOWER on IntegriCloud