| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
machine instructions.
This is a work in progress.
llvm-svn: 98556
|
|
|
|
| |
llvm-svn: 98526
|
|
|
|
|
|
|
| |
label instead of trying to form one based on the BB name (which
causes collisions if the name is empty). This fixes PR6608
llvm-svn: 98495
|
|
|
|
|
|
| |
with an MCSymbol instead of an immediate.
llvm-svn: 98481
|
|
|
|
| |
llvm-svn: 98474
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 98451
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 98392
|
|
|
|
|
|
| |
some of its callers.
llvm-svn: 98388
|
|
|
|
| |
llvm-svn: 98378
|
|
|
|
|
|
| |
for a global instead of messing around with string buffers.
llvm-svn: 98366
|
|
|
|
|
|
| |
No functionality change.
llvm-svn: 98363
|
|
|
|
|
|
| |
are inside the function by the target at the point of use.
llvm-svn: 98255
|
|
|
|
| |
llvm-svn: 98124
|
|
|
|
|
|
|
| |
Now that setStartLabel takes an MCSymbol, we can de-ID'ize
beginScope and RecordSourceLine.
llvm-svn: 98047
|
|
|
|
|
|
| |
failures.
llvm-svn: 98039
|
|
|
|
|
|
| |
beginScope and RecordSourceLine.
llvm-svn: 98035
|
|
|
|
| |
llvm-svn: 98025
|
|
|
|
| |
llvm-svn: 98017
|
|
|
|
|
|
| |
MCize it.
llvm-svn: 98010
|
|
|
|
|
|
| |
This is a first step towards eliminating checks in Descriptor constructors.
llvm-svn: 97975
|
|
|
|
| |
llvm-svn: 97963
|
|
|
|
|
|
| |
This is a first step towards eliminating unncessary constructor checks in light weight DIDescriptor wrappers.
llvm-svn: 97947
|
|
|
|
|
|
| |
segment.
llvm-svn: 96967
|
|
|
|
|
|
|
| |
and add a sparc implementation that knows about delay slots. Patch by
Nathan Keynes!
llvm-svn: 96492
|
|
|
|
| |
llvm-svn: 95781
|
|
|
|
| |
llvm-svn: 95748
|
|
|
|
|
|
|
|
|
|
|
|
| |
The major win of this is that the code is simpler and they
print on the same line as the instruction again:
movl %eax, 96(%esp) ## 4-byte Spill
movl 96(%esp), %eax ## 4-byte Reload
cmpl 92(%esp), %eax ## 4-byte Folded Reload
jl LBB7_86
llvm-svn: 95738
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
direct MCExpr equivalents. Don't use MCExpr::Shr because it isn't
consistent between targets.
llvm-svn: 95620
|
|
|
|
|
|
|
| |
MCSymbol, we can remove the 'suffix' argument of
GetBlockAddressSymbol. Do so.
llvm-svn: 95601
|
|
|
|
|
|
| |
expression; don't go into an infinite loop if it does.
llvm-svn: 95591
|
|
|
|
|
|
|
|
|
| |
in global initializers. Instead of aborting, attempt to fold them on the
spot. If folding succeeds, emit the folded expression instead.
This fixes PR6255.
llvm-svn: 95583
|
|
|
|
|
|
|
|
|
|
|
| |
following it. However, the EmitGlobalConstant method wasn't emitting a body for
the constant. The assembler doesn't like that. Before, we were generating this:
.zerofill __DATA, __common, __cmd, 1, 3
This fix puts us back to that semantic.
llvm-svn: 95336
|
|
|
|
|
|
| |
.o files don't like that.
llvm-svn: 95187
|
|
|
|
| |
llvm-svn: 95186
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
mccontext instead of having AsmPrinter do it. This allows other
types of MCStreamer's to be passed in.
llvm-svn: 95155
|
|
|
|
|
|
| |
LLVMTargetMachine.cpp with the rest of the command line options.
llvm-svn: 95152
|
|
|
|
| |
llvm-svn: 94732
|
|
|
|
|
|
|
|
| |
runOnMachineFunction, and switch PPC to use EmitFunctionBody.
The two ppc asmprinters now don't heave to define
runOnMachineFunction.
llvm-svn: 94722
|
|
|
|
|
|
| |
"0" is nice and target independent.
llvm-svn: 94718
|
|
|
|
|
|
|
|
| |
Move the X86 implementation of function body emission up to
AsmPrinter::EmitFunctionBody, which works by calling the virtual
EmitInstruction method.
llvm-svn: 94716
|
|
|
|
|
|
|
| |
Overload it in the ARM backend to do nothing, since is does insane
constant pool emission.
llvm-svn: 94708
|
|
|
|
|
|
| |
constify EmitLinkage.
llvm-svn: 94705
|