| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 94452
|
|
|
|
| |
llvm-svn: 94450
|
|
|
|
| |
llvm-svn: 94449
|
|
|
|
|
|
| |
make it clear what it is, instead of how it is used.
llvm-svn: 94448
|
|
|
|
|
|
|
| |
and MCize the non-pic case. Now printPICJumpTableEntry really
is just about printing PIC entries.
llvm-svn: 94446
|
|
|
|
| |
llvm-svn: 94445
|
|
|
|
|
|
| |
rename it to avoid shadowing.
llvm-svn: 94440
|
|
|
|
|
|
|
| |
normal form of .file would fail if the filename had a weird character
in it.
llvm-svn: 94437
|
|
|
|
| |
llvm-svn: 94436
|
|
|
|
| |
llvm-svn: 94417
|
|
|
|
|
|
| |
mcstreamer.
llvm-svn: 94416
|
|
|
|
| |
llvm-svn: 94299
|
|
|
|
|
|
|
|
|
| |
a .section. Switch to it with SwitchSection.
However, I think that this directive should be safe on any ELF target.
If so, we should hoist it up out of the X86 and SystemZ targets.
llvm-svn: 94298
|
|
|
|
| |
llvm-svn: 94295
|
|
|
|
|
|
| |
into a new MCDirectives.h file.
llvm-svn: 94294
|
|
|
|
|
|
|
| |
to MCExpr then emit them through MCStreamer with EmitValue. I think all
global variable initializers are now going through mcstreamer.
llvm-svn: 94293
|
|
|
|
| |
llvm-svn: 94290
|
|
|
|
|
|
| |
and some .weak directives.
llvm-svn: 94284
|
|
|
|
| |
llvm-svn: 94282
|
|
|
|
|
|
|
| |
be careful to add a \0 at the end though, because EmitString didn't
do this.
llvm-svn: 94277
|
|
|
|
|
|
| |
be completely eliminated, but today is not that day.
llvm-svn: 94253
|
|
|
|
|
|
| |
cleanup and eliminate a bunch more uses of "EOL".
llvm-svn: 94250
|
|
|
|
|
|
| |
handle the comment better, MCize the non-.sleb case.
llvm-svn: 94244
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
pretty printing encoding comments and eliminates redundancy on
the client side. We now get pretty dwarf like this again:
.byte 255 ## @LPStart Encoding = omit
.byte 0 ## @TType Encoding = absptr
.byte 0x28 ## @TType base offset
.byte 3 ## Call site Encoding = udata4
.byte 0x1a ## Call site table size
...
llvm-svn: 94239
|
|
|
|
| |
llvm-svn: 94230
|
|
|
|
| |
llvm-svn: 94228
|
|
|
|
| |
llvm-svn: 94227
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
output. An example:
.align 4, 0x90
LBB1_5: ## %while.cond3
## Parent Loop BB1_1 Depth=1
## => This Loop Header: Depth=2
## Child Loop BB1_8 Depth 3
## Child Loop BB1_6 Depth 3
llvm-svn: 94225
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For loop headers, print Inner loop along with the other stuff so it doesn't take
an extra line. We now get stuff like this:
LBB1_4: ## %land.end
## in Loop: Header=BB1_1 Depth=1
notb %al
testb $1, %al
jne LBB1_8
and:
LBB1_6: ## %while.cond7
## Inner Loop Header: Depth=3
## Inside Loop BB1_5 Depth 2
## Inside Loop BB1_1 Depth 1
which still isn't great for loop headers, but is much less verbose.
llvm-svn: 94221
|
|
|
|
|
|
|
| |
comment emission stuff. I'm going to rewrite this though because the
current output doesn't make sense.
llvm-svn: 94215
|