summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Remove redundant writeback flag in ARM addressing mode 5.Bob Wilson2010-03-166-23/+14
| | | | llvm-svn: 98648
* Remove the writeback flag from ARM's address mode 4. Now that we have separateBob Wilson2010-03-168-23/+11
| | | | | | instructions for ld/st with writeback, the flag is completely redundant. llvm-svn: 98643
* Fix unused variable warnings.Bob Wilson2010-03-162-2/+0
| | | | llvm-svn: 98642
* --- Reverse-merging r98637 into '.':Bob Wilson2010-03-1614-7355/+146
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | U test/CodeGen/ARM/tls2.ll U test/CodeGen/ARM/arm-negative-stride.ll U test/CodeGen/ARM/2009-10-30.ll U test/CodeGen/ARM/globals.ll U test/CodeGen/ARM/str_pre-2.ll U test/CodeGen/ARM/ldrd.ll U test/CodeGen/ARM/2009-10-27-double-align.ll U test/CodeGen/Thumb2/thumb2-strb.ll U test/CodeGen/Thumb2/ldr-str-imm12.ll U test/CodeGen/Thumb2/thumb2-strh.ll U test/CodeGen/Thumb2/thumb2-ldr.ll U test/CodeGen/Thumb2/thumb2-str_pre.ll U test/CodeGen/Thumb2/thumb2-str.ll U test/CodeGen/Thumb2/thumb2-ldrh.ll U utils/TableGen/TableGen.cpp U utils/TableGen/DisassemblerEmitter.cpp D utils/TableGen/RISCDisassemblerEmitter.h D utils/TableGen/RISCDisassemblerEmitter.cpp U Makefile.rules U lib/Target/ARM/ARMInstrNEON.td U lib/Target/ARM/Makefile U lib/Target/ARM/AsmPrinter/ARMInstPrinter.cpp U lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp U lib/Target/ARM/AsmPrinter/ARMInstPrinter.h D lib/Target/ARM/Disassembler U lib/Target/ARM/ARMInstrFormats.td U lib/Target/ARM/ARMAddressingModes.h U lib/Target/ARM/Thumb2ITBlockPass.cpp llvm-svn: 98640
* Initial ARM/Thumb disassembler check-in. It consists of a tablgen backendJohnny Chen2010-03-1614-146/+7355
| | | | | | | | | | | | | | | | | | (RISCDisassemblerEmitter) which emits the decoder functions for ARM and Thumb, and the disassembler core which invokes the decoder function and builds up the MCInst based on the decoded Opcode. Added sub-formats to the NeonI/NeonXI instructions to further refine the NEONFrm instructions to help disassembly. We also changed the output of the addressing modes to omit the '+' from the assembler syntax #+/-<imm> or +/-<Rm>. See, for example, A8.6.57/58/60. And modified test cases to not expect '+' in +reg or #+num. For example, ; CHECK: ldr.w r9, [r7, #28] llvm-svn: 98637
* Stop using the old pre-UAL syntax for LDM/STM instruction suffixes.Bob Wilson2010-03-163-30/+2
| | | | | | | This does not move entirely to UAL syntax, since the default "increment after" suffix is empty but we still use "IA" for that. llvm-svn: 98635
* fix the same bug on the x86-64 side of the fence.Chris Lattner2010-03-161-1/+1
| | | | llvm-svn: 98616
* fix the encoding of TAILJMPd. This fixes Benchmarks/Olden/bisortChris Lattner2010-03-161-2/+2
| | | | | | with the integrated assembler! llvm-svn: 98615
* Avoid a memory leak in JITDebugRegisterer.Jeffrey Yasskin2010-03-161-1/+4
| | | | llvm-svn: 98612
* Use getFirstTerminator().Bill Wendling2010-03-161-4/+4
| | | | llvm-svn: 98604
* When checking if something's killed, don't rely simply on whether it's marked asBill Wendling2010-03-161-8/+15
| | | | | | | "used outside of the block". If the block ends in a return, then it won't be used outside of it. llvm-svn: 98599
* Wrap a long line and add some parens to be consistent.Bob Wilson2010-03-161-2/+3
| | | | llvm-svn: 98596
* Fix the third (and last known) case of code update problems due Chris Lattner2010-03-162-28/+122
| | | | | | | | | | | | | | | | | | | | | | | | | | | to LLVM IR changes with addr label weirdness. In the testcase, we generate references to the two bb's when codegen'ing the first function: _test1: ## @test1 leaq Ltmp0(%rip), %rax .. leaq Ltmp1(%rip), %rax Then continue to codegen the second function where the blocks get merged. We're now smart enough to emit both labels, producing this code: _test_fun: ## @test_fun ## BB#0: ## %entry Ltmp1: ## Block address taken Ltmp0: ## BB#1: ## %ret movl $-1, %eax ret Rejoice. llvm-svn: 98595
* MC: Allow modifiers in MCSymbolRefExpr, and eliminate X86MCTargetExpr.Daniel Dunbar2010-03-158-128/+80
| | | | | | | - Although it would be nice to allow this decoupling, the assembler needs to be able to reason about MCSymbolRefExprs in too many places to make this viable. We can use a target specific encoding of the variant if this becomes an issue. - This patch also extends llvm-mc to support parsing of the modifiers, as opposed to lumping them in with the symbol. llvm-svn: 98592
* Recognize code for doing vector gather/scatter index calculations withDan Gohman2010-03-151-0/+84
| | | | | | | | 32-bit indices. Instead of shuffling each element out of the index vector, when all indices are needed, just store the input vector to the stack and load the elements out. llvm-svn: 98588
* Translate "cc" clobber in ARM inline assembly to ARM::CCRRegisterClass.Bob Wilson2010-03-151-0/+3
| | | | | | Radar 7459078. llvm-svn: 98586
* Skip debug info intrinsics.Devang Patel2010-03-151-0/+4
| | | | llvm-svn: 98584
* MC/Mach-O/x86_64: Temporary labels in cstring sections require symbols (and ↵Daniel Dunbar2010-03-152-4/+36
| | | | | | external relocations, but we don't have x86_64 relocations yet). llvm-svn: 98583
* MC/Mach-O: Add MCSectionMachO::getType()Daniel Dunbar2010-03-151-12/+5
| | | | llvm-svn: 98582
* Skip debug info intrinsics.Devang Patel2010-03-151-0/+4
| | | | llvm-svn: 98581
* Now that the default for Darwin platforms is to place the LSDA into the TEXTBill Wendling2010-03-1511-133/+6
| | | | | | section, remove the target-specific code that performs this. llvm-svn: 98580
* Implement support for the case when a reference to a addr-of-bb Chris Lattner2010-03-152-6/+69
| | | | | | | | | label is generated, but then the block is deleted. Since the value is undefined, we just emit the label right after the entry label of the function. It might matter that the label is in the same section as the function was afterall. llvm-svn: 98579
* use Mang->getSymbol() Chris Lattner2010-03-151-7/+1
| | | | llvm-svn: 98578
* use Mang->getSymbol() more.Chris Lattner2010-03-151-35/+17
| | | | llvm-svn: 98577
* Extend MemoryBuffer::getFile() to take an optional "stat" structureDouglas Gregor2010-03-151-7/+10
| | | | | | | pointer. If given, the structure will be set with the stat information from the file actually read. llvm-svn: 98575
* Create SDDbgValue for dbg_value intrinsics and remember its connections with ↵Devang Patel2010-03-151-5/+28
| | | | | | | | DAG nodes. This is a work in progress. Patch by Dale Johannesen! llvm-svn: 98568
* Fix the case when a reference to an address taken BB is emitted in oneChris Lattner2010-03-151-6/+110
| | | | | | | | function, then the BB is RAUW'd before the definition is emitted. There are still two cases not being handled, but this should improve us back to the situation before I touched anything. llvm-svn: 98566
* In "empty" bb, the return instruction may not be first instruction, if dbg ↵Devang Patel2010-03-151-1/+1
| | | | | | value intrinsics are present in this bb. Use terminator to find return instructions. llvm-svn: 98565
* Place the LSDA into the TEXT section for x86 Darwin. If the global it's pointingBill Wendling2010-03-153-46/+29
| | | | | | | | | | | to is local to the translation unit, we need to place fill the value of that symbol into the non-lazy pointer. This should conclude all Darwin changes for placing the LSDA into the TEXT section. There is some cleanup to do. I.e., there's no longer a special need for target-specific code here. But that can come later. llvm-svn: 98564
* Avoid sibcall optimization if either caller or callee is using sret semantics.Evan Cheng2010-03-152-3/+12
| | | | llvm-svn: 98561
* revert r98550, it isn't necessary or sufficient.Chris Lattner2010-03-151-15/+3
| | | | llvm-svn: 98558
* Emit dwarf variable info communicated by code generator through DBG_VALUE ↵Devang Patel2010-03-154-14/+107
| | | | | | | | machine instructions. This is a work in progress. llvm-svn: 98556
* don't eliminate address-taken blocks here.Chris Lattner2010-03-151-3/+15
| | | | llvm-svn: 98550
* SIGN_EXTEND from the same type as the dest is valid.Chris Lattner2010-03-151-1/+1
| | | | llvm-svn: 98548
* sink the call to VT.getSizeInBits() down into its uses,Chris Lattner2010-03-151-7/+5
| | | | | | not all unary nodes necessarily have a simple result type. llvm-svn: 98547
* Treat copysignl like the other copysign functions.Duncan Sands2010-03-151-1/+1
| | | | llvm-svn: 98542
* fix MCSectionELF to not leak memory, just like I did for MCSymbol.Chris Lattner2010-03-151-4/+6
| | | | | | | MCSectionMachO is already fine (yay for fixed size arrays?), MCSectionCOFF still leaks. llvm-svn: 98537
* fix a memory leak yjasskin pointed out: MCSymbol is bump pointerChris Lattner2010-03-151-10/+14
| | | | | | | | | | allocated and thus not freed. This is cool except that it contains and std::string so the string data didn't get freed. In any case there is no reason to redundantly store the string data in the MCSymbol anyway, just make the MCSymbol ref the string data in the MCContext StringMap. llvm-svn: 98536
* do some serious surgery on CellSPU to get it back into a worldChris Lattner2010-03-154-38/+50
| | | | | | where it uses types consistently. llvm-svn: 98532
* fix a few more ambiguous types.Chris Lattner2010-03-152-4/+4
| | | | llvm-svn: 98531
* add some missing typesChris Lattner2010-03-151-2/+2
| | | | llvm-svn: 98530
* Tell Valgrind when we modify already-executed machine code so it knowsJeffrey Yasskin2010-03-154-0/+65
| | | | | | | to re-instrument the code. We depend on the system valgrind.h to avoid adding a new license. llvm-svn: 98529
* fix an ambiguous pattern, contrary to expectations, scalar_to_vectorChris Lattner2010-03-151-1/+1
| | | | | | | doesn't have a type constraint on the scalar because we don't have an 'sAny' type. llvm-svn: 98527
* remove dead method.Chris Lattner2010-03-151-7/+0
| | | | llvm-svn: 98526
* don't forget to close a FD on an error condition, found byChris Lattner2010-03-141-1/+2
| | | | | | cppcheck, PR6617. Patch by Ettl Martin! llvm-svn: 98525
* tidy indentationChris Lattner2010-03-141-3/+3
| | | | llvm-svn: 98523
* no really, all 64-bit cpu's have cmov support. This shouldChris Lattner2010-03-141-1/+6
| | | | | | fix the rest of the buildbot failures on non-x86 hosts. llvm-svn: 98522
* all 64-bit cpus have cmov, this should fix CodeGen/X86/cmov.llChris Lattner2010-03-141-1/+2
| | | | | | (at least) on non-x86 builders. llvm-svn: 98520
* Remove pointless forward declaration, MSVC got confused by this.Benjamin Kramer2010-03-141-1/+0
| | | | llvm-svn: 98519
* Turn calls to copysignl into an FCOPYSIGN node. Handle FCOPYSIGN nodesDuncan Sands2010-03-144-1/+18
| | | | | | | with ppc_f128 type by having the type legalizer turn these back into a call to copysignl. llvm-svn: 98514
OpenPOWER on IntegriCloud