summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target
Commit message (Collapse)AuthorAgeFilesLines
* stub out a new X86 encoder, which can be tried withChris Lattner2010-02-035-1/+56
| | | | | | -enable-new-x86-encoder until its stable. llvm-svn: 95256
* rename createX86MCCodeEmitter to more accurately reflect what it creates.Chris Lattner2010-02-033-5/+7
| | | | llvm-svn: 95254
* Added support for X86 instruction prefixes so llvm-mc can assemble them. TheKevin Enderby2010-02-032-6/+52
| | | | | | | | | | Lock prefix, Repeat string operation prefixes and the Segment override prefixes. Also added versions of the move string and store string instructions without the repeat prefixes to X86InstrInfo.td. And finally marked the rep versions of move/store string records in X86InstrInfo.td as isCodeGenOnly = 1 so tblgen is happy building the disassembler files. llvm-svn: 95252
* reapply r95206, this time actually delete the code I'm replacing in the ↵Chris Lattner2010-02-031-9/+23
| | | | | | third stub case. llvm-svn: 95209
* revert r95206, it is apparently causing bootstrap failure on i386-darwin9Chris Lattner2010-02-031-24/+7
| | | | llvm-svn: 95208
* make the x86 backend emit darwin stubs through mcstreamerChris Lattner2010-02-031-7/+24
| | | | | | instead of textually. llvm-svn: 95206
* make MachineModuleInfoMachO hold non-const MCSymbol*'s insteadChris Lattner2010-02-035-21/+20
| | | | | | | of const ones. non-const ones aren't very useful, because you can't even, say, emit them. llvm-svn: 95205
* Allow all types of callee's to be tail called. But avoid automatic tailcall ↵Evan Cheng2010-02-031-17/+1
| | | | | | if the callee is a result of bitcast to avoid losing necessary zext / sext etc. llvm-svn: 95195
* don't emit \n's at the start of X86AsmPrinter::runOnMachineFunction,Chris Lattner2010-02-031-1/+0
| | | | | | .o files don't like that. llvm-svn: 95187
* rename printMachineInstruction -> EmitInstructionChris Lattner2010-02-032-8/+3
| | | | llvm-svn: 95184
* print instructions through the mcstreamer.Chris Lattner2010-02-031-13/+6
| | | | llvm-svn: 95181
* emit instructions through the streamer.Chris Lattner2010-02-031-2/+1
| | | | llvm-svn: 95180
* Finally eliminate printMCInst and send instructions throughChris Lattner2010-02-033-17/+4
| | | | | | | | | | | | | | | | | | | | | | | the streamer. Demo: $ cat t.ll define i32 @test() nounwind { ret i32 42 } $ llc t.ll -o - ... _test: movl $42, %eax ret $ llc t.ll -o t.o -filetype=obj $ otool -tv t.o t.o: (__TEXT,__text) section _test: 00000000 movl $0x0000002a,%eax 00000005 ret llvm-svn: 95179
* rejigger the world so that EmitInstruction prints the \n atChris Lattner2010-02-0311-3/+26
| | | | | | | | the end of the instruction instead of expecting the caller to do it. This currently causes the asm-verbose instruction comments to be on the next line. llvm-svn: 95178
* sink handling of target-independent machine instrs (otherChris Lattner2010-02-037-51/+0
| | | | | | | | than DEBUG_VALUE :( ) into the target indep AsmPrinter.cpp file. This allows elimination of the NO_ASM_WRITER_BOILERPLATE hack among other things. llvm-svn: 95177
* Print FPImm a less kludgy way; APFloat.toString seemsDale Johannesen2010-02-031-6/+3
| | | | | | to have some problems anyway. llvm-svn: 95171
* ByVal frame object size should be that of the byval argument, not the size ↵Evan Cheng2010-02-021-7/+11
| | | | | | of the type which is just a pointer. This is not known to break stuff but is wrong nevertheless. llvm-svn: 95163
* As of r79039, we still try to eliminate the frame pointer on leaf functions,Jim Grosbach2010-02-021-1/+1
| | | | | | even when -disable-fp-elim is specified. llvm-svn: 95161
* Revert 95130.Evan Cheng2010-02-0224-29/+33
| | | | llvm-svn: 95160
* Accept floating point immediates in DEBUG_VALUE.Dale Johannesen2010-02-021-1/+11
| | | | llvm-svn: 95159
* AsmParser/X86: Add temporary hack to allow parsing "sal". Eventually we needDaniel Dunbar2010-02-021-2/+8
| | | | | | | some mechanism for specifying alternative syntaxes, but I'm not sure what form that should take yet. llvm-svn: 95158
* refactor code so that LLVMTargetMachine creates the asmstreamer and Chris Lattner2010-02-0213-33/+48
| | | | | | | mccontext instead of having AsmPrinter do it. This allows other types of MCStreamer's to be passed in. llvm-svn: 95155
* tidy some targets.Chris Lattner2010-02-023-6/+0
| | | | llvm-svn: 95146
* remove dead code.Chris Lattner2010-02-024-43/+0
| | | | llvm-svn: 95144
* detemplatize the ppc code emitter.Chris Lattner2010-02-021-37/+21
| | | | llvm-svn: 95142
* remove dead code.Chris Lattner2010-02-024-73/+0
| | | | llvm-svn: 95141
* add a definition for ID.Chris Lattner2010-02-021-0/+3
| | | | llvm-svn: 95140
* detemplatize ARM code emitter.Chris Lattner2010-02-021-111/+57
| | | | llvm-svn: 95138
* MCAsmParser/X86: Represent absolute memory operands as CodeGen does, with scaleDaniel Dunbar2010-02-021-2/+2
| | | | | | == 1. llvm-svn: 95137
* MCCodeEmitter/X86: Handle tied registers better when converting MCInst ->Daniel Dunbar2010-02-021-6/+18
| | | | | | | MCMachineInstr. This also fixes handling of tied registers for MRMSrcMem instructions. llvm-svn: 95136
* remove dead code.Chris Lattner2010-02-024-43/+2
| | | | llvm-svn: 95134
* detemplatize alpha code emission, it is now JIT specific.Chris Lattner2010-02-021-32/+13
| | | | llvm-svn: 95133
* eliminate all the dead addSimpleCodeEmitter implementations.Chris Lattner2010-02-0210-155/+0
| | | | | | | eliminate random "code emitter" stuff in Alpha, except for the JIT path. Next up, remove the template cruft. llvm-svn: 95131
* Pass callsite return type to TargetLowering::LowerCall and use that to check ↵Evan Cheng2010-02-0224-33/+29
| | | | | | sibcall eligibility. llvm-svn: 95130
* eliminate FileModel::Model, just use CodeGenFileType. The clientChris Lattner2010-02-023-3/+3
| | | | | | | of the code generator shouldn't care what object format a target uses. llvm-svn: 95124
* remove the remnants of TargetMachOWriterInfo.Chris Lattner2010-02-022-26/+0
| | | | llvm-svn: 95114
* Added t2BFI (Bitfield Insert) entry for disassembler, with blank pattern field.Johnny Chen2010-02-021-1/+10
| | | | llvm-svn: 95112
* remove PPCMachOWriterInfo.Chris Lattner2010-02-025-214/+1
| | | | llvm-svn: 95111
* Perform sibcall in some cases when arguments are passes memory. Look for casesEvan Cheng2010-02-021-6/+49
| | | | | | | | | | | | | where callee's arguments are already in the caller's own caller's stack and they line up perfectly. e.g. extern int foo(int a, int b, int c); int bar(int a, int b, int c) { return foo(a, b, c); } llvm-svn: 95053
* MOVi16 should also be marked as a UnaryDP instruction, i.e., it doesn't have aJohnny Chen2010-02-011-1/+1
| | | | | | Rn operand. llvm-svn: 95025
* Fix PR6196. GV callee may not be a function.Evan Cheng2010-02-011-3/+5
| | | | llvm-svn: 95017
* MulOp is actually a Mips specific node, so do the match using Opcode. This ↵Bruno Cardoso Lopes2010-02-011-1/+1
| | | | | | fixes PR6192 llvm-svn: 94977
* Undo r94946 now all the tests are passing again.Evan Cheng2010-02-011-11/+3
| | | | llvm-svn: 94970
* Fix stack size bug while using o32 abiBruno Cardoso Lopes2010-02-011-10/+18
| | | | llvm-svn: 94969
* For MVNr and MVNs, we need to set Inst{25} = 0 so as not to confuse the decoder.Johnny Chen2010-01-311-1/+4
| | | | llvm-svn: 94955
* Change TAILJMP's to be varargs and transfer implicit uses over from ↵Evan Cheng2010-01-313-7/+13
| | | | | | TCRETURN's. Otherwise the missing uses can make post-regalloc scheduling do bad things. This fixes 403.gcc. llvm-svn: 94950
* Fix a missing check from my last commit.Evan Cheng2010-01-311-1/+2
| | | | llvm-svn: 94949
* Avoid recursive sibcall's.Evan Cheng2010-01-311-6/+20
| | | | llvm-svn: 94946
* Remove a completed item, add a couple new ones.Eli Friedman2010-01-311-4/+38
| | | | llvm-svn: 94945
* Moved InstallLexer() from the X86-specific AsmLexerSean Callanan2010-01-312-9/+4
| | | | | | | | to the TargetAsmLexer class so that clients can actually use the TargetAsmLexer they get from a Target. llvm-svn: 94940
OpenPOWER on IntegriCloud