| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
is constified.
llvm-svn: 94613
|
|
|
|
| |
llvm-svn: 94611
|
|
|
|
|
|
|
|
|
|
|
|
| |
assignments.
.set x, a-b
is the same as:
x = a-b
llvm-svn: 94596
|
|
|
|
| |
llvm-svn: 94593
|
|
|
|
| |
llvm-svn: 94587
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
that has it.
llvm-svn: 94581
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
implement it.
llvm-svn: 94521
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
* Fixed a reduction bug which occasionally led to infinite-cost (invalid)
register allocation solutions despite the existence finite-cost solutions.
* Significantly reduced memory usage (>50% reduction).
* Simplified a lot of the solver code.
llvm-svn: 94514
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 94490
|
|
|
|
|
|
|
| |
dbg.declare's we currently generate go through both
register allocators without perturbing the results.
llvm-svn: 94480
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
a null pointer for functions with no jump tables. No functionality
change.
llvm-svn: 94469
|
|
|
|
| |
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: 94378
|
|
|
|
| |
llvm-svn: 94370
|
|
|
|
|
|
| |
This fixes FrontendObjC/2009-11-30-Objc-ID.m
llvm-svn: 94369
|
|
|
|
|
|
| |
Add support to widen SETCC.
llvm-svn: 94342
|
|
|
|
|
|
|
| |
the alignment allows. Fixed a bug where we didn't use a
vector load/store for PR5626.
llvm-svn: 94338
|
|
|
|
|
|
|
|
|
| |
the '-pre-RA-sched' flag. It actually makes more sense to do it this way. Also,
keep track of the SDNode ordering by default. Eventually, we would like to make
this ordering a way to break a "tie" in the scheduler. However, doing that now
breaks the "CodeGen/X86/abi-isel.ll" test for 32-bit Linux.
llvm-svn: 94308
|
|
|
|
| |
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: 94297
|
|
|
|
| |
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
|