| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
of AsmPrinter and InstLowering into libx86 and out of the
asmprinter subdirectory. Now X86/AsmPrinter just depends on
MC stuff, not all of codegen and LLVM IR.
llvm-svn: 108782
|
|
|
|
| |
llvm-svn: 108368
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
jumps where possible and turning the TAILCALL marker in the instruction
asm string into a proper comment.
This eliminates a FIXME and is on the path to finishing:
rdar://7639610 - eliminate encoding and asm info for TAILJMPd TAILJMPr TAILJMPn, etc.
However, I can't eliminate the encodings for these instructions because the JIT
still exists and has its own copy of the encoder, sigh.
llvm-svn: 107946
|
|
|
|
| |
llvm-svn: 107939
|
|
|
|
|
|
|
|
|
|
|
| |
like all other instructions, even though a segment is not
allowed. This resolves a bunch of gross hacks in the
encoder and makes LEA more consistent with the rest of the
instruction set.
No functionality change.
llvm-svn: 107934
|
|
|
|
| |
llvm-svn: 107818
|
|
|
|
| |
llvm-svn: 107678
|
|
|
|
|
|
|
|
|
| |
TLVP:
movl _a@TLVP, %eax
Daniel: Please review if you get a chance.
llvm-svn: 106194
|
|
|
|
| |
llvm-svn: 105381
|
|
|
|
|
|
|
| |
prefix byte problem as in r104062.
- As a total hack to keep the TAILCALL markers in the output, which some tests depend on, this invents a new TAILJMP_1 instruction.
llvm-svn: 104120
|
|
|
|
|
|
| |
CALL64pcrel32, for the same reason.
llvm-svn: 104116
|
|
|
|
| |
llvm-svn: 104112
|
|
|
|
|
|
| |
avoid same prefix byte problem as in r104062.
llvm-svn: 104108
|
|
|
|
|
|
|
|
|
|
|
|
| |
The register use operands (e.g. the first argument is passed in a
register) is currently being modeled as a normal register use,
instead of correctly being an implicit use. This causes the operand
to get propagated onto the mcinst, which was causing the encoder to
emit a rex prefix byte, which generates an invalid call.
This fixes rdar://7998435
llvm-svn: 104062
|
|
|
|
|
|
|
|
| |
X86::ADC32ri $0, %eax
to
X86::ADC32i32 $0
llvm-svn: 104030
|
|
|
|
| |
llvm-svn: 103276
|
|
|
|
|
|
|
|
|
|
| |
##DEBUG_VALUE: runOnMachineFunction:this <- RDI+0
##DEBUG_VALUE: runOnMachineFunction:fn <- RSI+0
##DEBUG_VALUE: DeadDefs <- undef ## SimpleRegisterCoalescing.cpp:2706
##DEBUG_VALUE: getRegInfo:this <- [%rsp+$56]+$0
##DEBUG_VALUE: getTarget:this <- [%rsp+$56]+$0
llvm-svn: 102655
|
|
|
|
| |
llvm-svn: 102486
|
|
|
|
| |
llvm-svn: 101639
|
|
|
|
|
|
| |
relocation. rdar://7738756
llvm-svn: 101085
|
|
|
|
|
|
|
| |
into AsmPrinter. Target-dependent form is still generated
by FastISel and still handled in X86 code.
llvm-svn: 100596
|
|
|
|
| |
llvm-svn: 100578
|
|
|
|
|
|
| |
There is probably a more elegant way to do this.
llvm-svn: 100573
|
|
|
|
| |
llvm-svn: 100342
|
|
|
|
|
|
| |
streamerized for everything.
llvm-svn: 100316
|
|
|
|
| |
llvm-svn: 100315
|
|
|
|
| |
llvm-svn: 100312
|
|
|
|
| |
llvm-svn: 100311
|
|
|
|
| |
llvm-svn: 99975
|
|
|
|
|
|
|
|
|
| |
create symbols. It is extremely error prone and a source of a lot
of the remaining integrated assembler bugs on x86-64.
This fixes rdar://7807601.
llvm-svn: 99902
|
|
|
|
|
|
|
| |
should use CreateTempSymbol() if they don't care about the
name.
llvm-svn: 98712
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
| |
llvm-svn: 98494
|
|
|
|
|
|
|
| |
MachineInstr -> MCInst. This is what the assembler backend wants,
it relaxes from smaller to larger things. This fixes rdar://7750815
llvm-svn: 98493
|
|
|
|
| |
llvm-svn: 98451
|
|
|
|
| |
llvm-svn: 98391
|
|
|
|
|
|
| |
remove it.
llvm-svn: 98390
|
|
|
|
| |
llvm-svn: 98384
|
|
|
|
| |
llvm-svn: 98377
|
|
|
|
|
|
| |
actually X86_StdCall or X86_FastCall.
llvm-svn: 98374
|
|
|
|
| |
llvm-svn: 98373
|
|
|
|
| |
llvm-svn: 98369
|
|
|
|
|
|
|
| |
no arguments instead of having to come up with a unique name.
This also makes the code less fragile.
llvm-svn: 98364
|
|
|
|
|
|
|
|
| |
indicates that an MCSymbol is external or not. (It's true if it's external.)
This will be used to specify the correct information to add to non-lazy
pointers. That will be explained further when this bit is used.
llvm-svn: 98199
|
|
|
|
| |
llvm-svn: 98124
|
|
|
|
|
|
| |
OutStreamer.AddBlankLine instead of textually.
llvm-svn: 95734
|
|
|
|
|
|
|
|
|
| |
into TargetOpcodes.h. #include the new TargetOpcodes.h
into MachineInstr. Add new inline accessors (like isPHI())
to MachineInstr, and start using them throughout the
codebase.
llvm-svn: 95687
|
|
|
|
|
|
| |
2 files changed, 48 insertions(+), 83 deletions(-)
llvm-svn: 95599
|
|
|
|
|
|
| |
backend to use X86MCTargetExpr, simplifying a bunch of code.
llvm-svn: 95595
|
|
|
|
| |
llvm-svn: 95593
|