summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target
Commit message (Collapse)AuthorAgeFilesLines
...
* 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
* Wrap a long line and add some parens to be consistent.Bob Wilson2010-03-161-2/+3
| | | | llvm-svn: 98596
* MC: Allow modifiers in MCSymbolRefExpr, and eliminate X86MCTargetExpr.Daniel Dunbar2010-03-156-121/+17
| | | | | | | - 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
* MC/Mach-O/x86_64: Temporary labels in cstring sections require symbols (and ↵Daniel Dunbar2010-03-151-2/+28
| | | | | | external relocations, but we don't have x86_64 relocations yet). llvm-svn: 98583
* Now that the default for Darwin platforms is to place the LSDA into the TEXTBill Wendling2010-03-1510-130/+3
| | | | | | section, remove the target-specific code that performs this. llvm-svn: 98580
* use Mang->getSymbol() Chris Lattner2010-03-151-7/+1
| | | | llvm-svn: 98578
* 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
* 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-151-0/+7
| | | | | | | 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
* 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
* Fix jit encoding bugs.Evan Cheng2010-03-141-4/+4
| | | | llvm-svn: 98510
* fix PR6605, X86ISD::CMP always returns i32 (EFLAGS), notChris Lattner2010-03-142-2/+2
| | | | | | the operand type. llvm-svn: 98507
* Add substarget feature for FP16Anton Korobeynikov2010-03-144-1/+10
| | | | llvm-svn: 98503
* Add codegen support for FP16 on ARMAnton Korobeynikov2010-03-143-12/+54
| | | | llvm-svn: 98502
* add support for pentium class CPUs which do not have cmov,Chris Lattner2010-03-144-16/+64
| | | | | | PR4841. Patch by Craig Smith! llvm-svn: 98496
* comment fix.Chris Lattner2010-03-141-1/+1
| | | | llvm-svn: 98494
* shrink 4-byte branches to 1-byte branches when lowering fromChris Lattner2010-03-141-0/+23
| | | | | | | MachineInstr -> MCInst. This is what the assembler backend wants, it relaxes from smaller to larger things. This fixes rdar://7750815 llvm-svn: 98493
* get MMI out of the label uniquing business, just go to MCContextChris Lattner2010-03-145-15/+14
| | | | | | to get unique assembler temporary labels. llvm-svn: 98489
* Now that DBG_LABEL is updated, we can finally make MachineMove Chris Lattner2010-03-147-76/+60
| | | | | | contain an MCSymbol instead of a label index. llvm-svn: 98482
* change the DBG_LABEL MachineInstr to always be createdChris Lattner2010-03-148-20/+28
| | | | | | with an MCSymbol instead of an immediate. llvm-svn: 98481
* switch GC_LABEL to use an MCSymbol operand instead of a label ID operand.Chris Lattner2010-03-141-1/+1
| | | | llvm-svn: 98474
* Do not force indirect tailcall through fixed registers: eax, r11. Add ↵Evan Cheng2010-03-147-87/+183
| | | | | | support to allow loads to be folded to tail call instructions. llvm-svn: 98465
* change the LabelSDNode to be EHLabelSDNode and make it holdChris Lattner2010-03-143-3/+10
| | | | | | | | an MCSymbol. Make the EH_LABEL MachineInstr hold its label with an MCSymbol instead of ID. Fix a bug in MMI.cpp which would return labels named "Label4" instead of "label4". llvm-svn: 98463
* change EH related stuff (other than EH_LABEL) to use MCSymbolChris Lattner2010-03-143-7/+12
| | | | | | | | | | | | | | | | instead of label ID's. This cleans up and regularizes a bunch of code and makes way for future progress. Unfortunately, this pointed out to me that JITDwarfEmitter.cpp is largely copy and paste from DwarfException/MachineModuleInfo and other places. This is very sad and disturbing. :( One major change here is that TidyLandingPads moved from being called in DwarfException::BeginFunction to being called in DwarfException::EndFunction. There should not be any functionality change from doing this, but I'm not an EH expert. llvm-svn: 98459
* X86_64: Fix encoding for the rest of the 64i32 instructions too.Daniel Dunbar2010-03-131-12/+12
| | | | llvm-svn: 98458
* X86: Fix ADD64i32 encoding.Daniel Dunbar2010-03-131-2/+2
| | | | llvm-svn: 98457
* eliminate the now-unneeded context argument of MBB::getSymbol()Chris Lattner2010-03-1317-24/+24
| | | | llvm-svn: 98451
* rearrange MCContext ownership. Before LLVMTargetMachine created it Chris Lattner2010-03-1314-52/+35
| | | | | | | | | | | and passing off ownership to AsmPrinter. Now MachineModuleInfo creates it and owns it by value. This allows us to use MCSymbols more consistently throughout the rest of the code generator, and simplifies a bit of code. This also allows MachineFunction to keep an MCContext reference handy, and cleans up the TargetRegistry interfaces for AsmPrinters. llvm-svn: 98450
* MC/X86_64: Fix matching of leaq.Daniel Dunbar2010-03-131-2/+2
| | | | llvm-svn: 98444
* MC/X86_64: Fix matching of callq.Daniel Dunbar2010-03-131-0/+1
| | | | llvm-svn: 98443
* simplify some overly general code. The stack always grows down on x86.Chris Lattner2010-03-131-6/+2
| | | | llvm-svn: 98431
* Fix another warning. There is a functionality change but I believe it's correct.Benjamin Kramer2010-03-131-2/+2
| | | | llvm-svn: 98430
* Attempt to appease the arm-linux buildbot by fixing the JIT encodings for newBob Wilson2010-03-135-32/+51
| | | | | | base register updating load/store-multiple instructions. llvm-svn: 98427
* switch to the text section at the start of the .s file for darwin/x86Chris Lattner2010-03-132-1/+7
| | | | | | | targets. This is a temporary hack for the .o file writer that Daniel wants :) llvm-svn: 98413
* Change ARM ld/st multiple instructions to have variant instructions forBob Wilson2010-03-1311-179/+291
| | | | | | | | | | | | | | | writebacks to the address register. This gets rid of the hack that the first register on the list was the magic writeback register operand. There was an implicit constraint that if that operand was not reg0 it had to match the base register operand. The post-RA scheduler's antidependency breaker did not understand that constraint and sometimes changed one without the other. This also fixes Radar 7495976 and should help the verifier work better for ARM code. There are now new ld/st instructions explicit writeback operands and explicit constraints that tie those registers together. llvm-svn: 98409
* MC/X86: Add temporary hack to match shrl $1,%eax correctly, to support testingDaniel Dunbar2010-03-131-0/+9
| | | | | | other functionality on 403.gcc compiled at -O0. llvm-svn: 98405
* Combine the code to build VLDM and VSTM instructions, since they areBob Wilson2010-03-131-16/+14
| | | | | | mostly the same. llvm-svn: 98402
* Tidy up. No functional changes.Bob Wilson2010-03-121-15/+16
| | | | llvm-svn: 98398
* Remove obsolete comments. VLDM is implemented in ARMInstrVFP.td.Bob Wilson2010-03-121-30/+0
| | | | llvm-svn: 98395
* Fix LLVM build when the user specifies CPPFLAGS on the make command line.Jeffrey Yasskin2010-03-1217-17/+17
| | | | llvm-svn: 98394
OpenPOWER on IntegriCloud