| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
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
|
|
|
|
|
|
|
| |
which allows targets to override function entry label emission.
Use it to convert linux/ppc to use EmitFunctionHeader().
llvm-svn: 94667
|
|
|
|
| |
llvm-svn: 94624
|
|
|
|
|
|
|
|
|
| |
change is that we now use ".linkonce discard" for global variables
instead of ".linkonce samesize". These should be the same, just less
strict. If anyone is interested in mcizing MCSection for COFF targets,
this should be easy to fix.
llvm-svn: 94623
|
|
|
|
| |
llvm-svn: 94621
|
|
|
|
| |
llvm-svn: 94620
|
|
|
|
|
|
|
| |
logic up from X86 into the common code. The other targets will
hopefully start using this soon.
llvm-svn: 94614
|
|
|
|
|
|
|
|
|
|
|
|
| |
assignments.
.set x, a-b
is the same as:
x = a-b
llvm-svn: 94596
|
|
|
|
|
|
|
|
|
|
|
| |
Default HasSetDirective to true, since most targets have it.
The targets that claim to not have it probably do, or it is
spelled differently. These include Blackfin, Mips, Alpha, and
PIC16. All of these except pic16 are normal ELF targets, so
they almost certainly have it.
llvm-svn: 94585
|
|
|
|
|
|
|
| |
subsumed by TargetLowering::getJumpTableEncoding(). Change uses of
it to be more specific.
llvm-svn: 94529
|
|
|
|
|
|
|
| |
inline it into its only caller, allowing us to simplify it
and hoist bits out of the loop.
llvm-svn: 94528
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
which is more convenient, and change getPICJumpTableRelocBaseExpr
to take a MachineFunction to match.
Next, move the X86 code that create a PICBase symbol to
X86TargetLowering::getPICBaseSymbol from
X86MCInstLower::GetPICBaseSymbol, which was an asmprinter specific
library. This eliminates a 'gross hack', and allows us to
implement X86ISelLowering::getPICJumpTableRelocBaseExpr which now
calls it.
This in turn allows us to eliminate the
X86AsmPrinter::printPICJumpTableSetLabel method, which was the
only overload of printPICJumpTableSetLabel.
llvm-svn: 94526
|
|
|
|
|
|
| |
use it to implement the default TargetLowering::getPICJumpTableRelocBaseExpr
llvm-svn: 94523
|
|
|
|
|
|
|
| |
EK_LabelDifference32 kind and the target has .set support. Simplify
X86AsmPrinter::printPICJumpTableSetLabel to make use of recent helpers.
llvm-svn: 94518
|
|
|
|
|
|
|
| |
make it private and non-virtual. It handles the non-pic
case too, so just use it, simplifying EmitJumpTableInfo.
llvm-svn: 94517
|
|
|
|
|
|
| |
the AsmPrinter::GetMBBSymbol.
llvm-svn: 94515
|
|
|
|
|
|
|
|
| |
MachineFunctionAnalysis dole them out, instead of having
AsmPrinter do both. Have the AsmPrinter::SetupMachineFunction
method set the 'AsmPrinter::MF' variable.
llvm-svn: 94509
|
|
|
|
|
|
| |
jump table entries.
llvm-svn: 94505
|
|
|
|
|
|
| |
instead of magic variables.
llvm-svn: 94500
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1. MachineJumpTableInfo is now created lazily for a function the first time
it actually makes a jump table instead of for every function.
2. The encoding of jump table entries is now described by the
MachineJumpTableInfo::JTEntryKind enum. This enum is determined by the
TLI::getJumpTableEncoding() hook, instead of by lots of code scattered
throughout the compiler that "knows" that jump table entries are always
32-bits in pic mode (for example).
3. The size and alignment of jump table entries is now calculated based on
their kind, instead of at machinefunction creation time.
Future work includes using the EntryKind in more places in the compiler,
eliminating other logic that "knows" the layout of jump tables in various
situations.
llvm-svn: 94470
|
|
|
|
| |
llvm-svn: 94464
|