| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 94560
|
| |
|
|
| |
llvm-svn: 94558
|
| |
|
|
|
|
| |
than an iteration count.
llvm-svn: 94549
|
| |
|
|
|
|
| |
in the case of empty and full ranges.
llvm-svn: 94548
|
| |
|
|
|
|
| |
wrapping that Duncan pointed out.
llvm-svn: 94547
|
| |
|
|
| |
llvm-svn: 94544
|
| |
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
| |
jump table entry kind, instead of overloading
AsmPrinter::printPICJumpTableEntry.
This has a pretty horrible and inefficient FIXME around how @GOTOFF
is currently smashed into the mcsymbol name, but otherwise this is
much cleaner.
llvm-svn: 94516
|
| |
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
have trouble with an intermediate add overflowing. Also, be more conservative
about the case where the induction variable in an SLT loop exit can step past
the RHS of the SLT and overflow in a single step.
Make getSignedRange more aggressive, to recover for some common cases which
the above fixes pessimized.
This addresses rdar://7561161.
llvm-svn: 94512
|
| |
|
|
|
|
|
| |
AsmPrinter::SetupMachineFunction sets it. Note that systemz
and msp430 didn't. Yay for reduced inconsistency! :)
llvm-svn: 94510
|
| |
|
|
|
|
|
|
| |
MachineFunctionAnalysis dole them out, instead of having
AsmPrinter do both. Have the AsmPrinter::SetupMachineFunction
method set the 'AsmPrinter::MF' variable.
llvm-svn: 94509
|
| |
|
|
| |
llvm-svn: 94507
|
| |
|
|
| |
llvm-svn: 94506
|
| |
|
|
|
|
| |
jump table entries.
llvm-svn: 94505
|
| |
|
|
| |
llvm-svn: 94502
|
| |
|
|
|
|
|
|
|
| |
variables.
JITInfo::getPICJumpTableEntry can probably be removed now, but I don't plan to do
this.
llvm-svn: 94501
|
| |
|
|
|
|
| |
instead of magic variables.
llvm-svn: 94500
|
| |
|
|
|
|
| |
associated llvm.dbg.declare instrinsic, insert an llvm.dbg.var intrinsic before each store.
llvm-svn: 94493
|
| |
|
|
|
|
| |
by metadata (since metadata does not appear in a value's use list)
llvm-svn: 94492
|
| |
|
|
| |
llvm-svn: 94491
|
| |
|
|
| |
llvm-svn: 94490
|
| |
|
|
| |
llvm-svn: 94489
|
| |
|
|
|
|
| |
TargetAsmLexer.
llvm-svn: 94482
|
| |
|
|
|
|
|
| |
dbg.declare's we currently generate go through both
register allocators without perturbing the results.
llvm-svn: 94480
|
| |
|
|
| |
llvm-svn: 94479
|
| |
|
|
| |
llvm-svn: 94477
|
| |
|
|
| |
llvm-svn: 94475
|
| |
|
|
|
|
| |
entries with @GOTOFF whih is EK_GPRel32BlockAddress.
llvm-svn: 94474
|
| |
|
|
| |
llvm-svn: 94472
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
| |
when we don't have one laying around. Useful if you don't
have an llvmcontext handy.
llvm-svn: 94468
|
| |
|
|
| |
llvm-svn: 94465
|
| |
|
|
| |
llvm-svn: 94464
|
| |
|
|
| |
llvm-svn: 94457
|
| |
|
|
|
|
|
|
| |
TargetAsmLexer. Dialect-specific lexing code will
be placed in the functions LexTokenATT() and
LexTokenIntel().
llvm-svn: 94456
|
| |
|
|
| |
llvm-svn: 94455
|
| |
|
|
|
|
| |
of a forward-reference, which doesn't use an "abbrev" encoding.
llvm-svn: 94454
|
| |
|
|
| |
llvm-svn: 94452
|
| |
|
|
|
|
| |
already checked that TmpBB->getSinglePredecessor() is non-null.
llvm-svn: 94451
|
| |
|
|
| |
llvm-svn: 94450
|
| |
|
|
| |
llvm-svn: 94449
|