| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
| |
llvm-svn: 95643
|
| |
|
|
|
|
| |
xform.
llvm-svn: 95642
|
| |
|
|
| |
llvm-svn: 95641
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
movl $3735928559, a ## inst: <MCInst 1273 <MCOperand Reg:0> <MCOperand Imm:1> <MCOperand Reg:0> <MCOperand Expr:(a)> <MCOperand Reg:0> <MCOperand Expr:(3735928559)>>
after:
movl $3735928559, a ## <MCInst #1273
## <MCOperand Reg:0>
## <MCOperand Imm:1>
## <MCOperand Reg:0>
## <MCOperand Expr:(a)>
## <MCOperand Reg:0>
## <MCOperand Expr:(3735928559)>>
llvm-svn: 95637
|
| |
|
|
|
|
| |
Previously spill registers, whose def indexes are not defined, would sometimes be improperly marked as coalescable with conflicting registers. The new findCoalesces routine conservatively assumes that any register with at least one undefined def is not coalescable with any register it interferes with.
llvm-svn: 95636
|
| |
|
|
| |
llvm-svn: 95634
|
| |
|
|
|
|
| |
memory access bug in the heuristic solver.
llvm-svn: 95633
|
| |
|
|
|
|
|
|
|
|
|
| |
Initial skeleton and SCEVUnknown lowering implemented,
the rest should come relatively quickly. Move testcase
to new directory.
Move pass to right before SimplifyLibCalls - which is
moved down a bit so we can take advantage of a few opts.
llvm-svn: 95628
|
| |
|
|
| |
llvm-svn: 95627
|
| |
|
|
| |
llvm-svn: 95624
|
| |
|
|
|
|
|
| |
direct MCExpr equivalents. Don't use MCExpr::Shr because it isn't
consistent between targets.
llvm-svn: 95620
|
| |
|
|
|
|
|
|
|
|
|
| |
Document that MCExpr::Div, Mod, and the comparison operators are all
signed operators.
Document that the comparison operators' results are target-dependent.
Document that the behavior of shr is target-dependent.
llvm-svn: 95619
|
| |
|
|
| |
llvm-svn: 95616
|
| |
|
|
| |
llvm-svn: 95609
|
| |
|
|
| |
llvm-svn: 95603
|
| |
|
|
|
|
|
| |
MCSymbol, we can remove the 'suffix' argument of
GetBlockAddressSymbol. Do so.
llvm-svn: 95601
|
| |
|
|
|
|
| |
2 files changed, 48 insertions(+), 83 deletions(-)
llvm-svn: 95599
|
| |
|
|
|
|
| |
backend to use X86MCTargetExpr, simplifying a bunch of code.
llvm-svn: 95595
|
| |
|
|
|
|
|
|
| |
for register tokens. Before, if it encountered
'%al,' it would report 'al,' as the token. Now it
correctly reports '%al'.
llvm-svn: 95594
|
| |
|
|
| |
llvm-svn: 95593
|
| |
|
|
|
|
| |
expression; don't go into an infinite loop if it does.
llvm-svn: 95591
|
| |
|
|
|
|
|
| |
representing @GOT and friends. Use it for
personality references as a first use.
llvm-svn: 95588
|
| |
|
|
| |
llvm-svn: 95587
|
| |
|
|
|
|
|
|
|
| |
The 'R' suffix means the to-integer operations use the rounding mode specified
by the FPSCR, encoded as Inst{7} = 0.
A8.6.295
llvm-svn: 95584
|
| |
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 95582
|
| |
|
|
|
|
|
| |
we can get in here if FastISel gives up in a block.
(Actually the two copies of this need to be unified. Later.)
llvm-svn: 95579
|
| |
|
|
|
|
| |
for blocks ending in "unreachable".
llvm-svn: 95565
|
| |
|
|
|
|
| |
its current purpose.
llvm-svn: 95564
|
| |
|
|
|
|
| |
purpose.
llvm-svn: 95560
|
| |
|
|
| |
llvm-svn: 95559
|
| |
|
|
|
|
| |
A8.6.331 VMOV (between two ARM core registers and two single-precision registers)
llvm-svn: 95548
|
| |
|
|
|
|
| |
Thanks to Kristaps Straupe for noticing the bug.
llvm-svn: 95537
|
| |
|
|
|
|
| |
cppcheck!
llvm-svn: 95527
|
| |
|
|
|
|
|
|
|
| |
warns about this base class not having a virtual destructor, but since
this class has no virtual methods and neither it or the types derived
from it has a destructor, a protected trivial destructor will do (and
shuts cppcheck up) the trick without the cost of introducing a vtable.
llvm-svn: 95526
|
| |
|
|
| |
llvm-svn: 95506
|
| |
|
|
|
|
|
|
| |
- o32 cc must pass all arguments in A0...A3 and stack regardless
if its type (but respect the alignment).
- Store all variable arguments back to the caller stack.
llvm-svn: 95500
|
| |
|
|
|
|
|
|
|
|
| |
only run for x86 with fastisel. I've found it being very effective in
eliminating some obvious dead code as result of formal parameter lowering
especially when tail call optimization eliminated the need for some of the loads
from fixed frame objects. It also shrinks a number of the tests. A couple of
tests no longer make sense and are now eliminated.
llvm-svn: 95493
|
| |
|
|
| |
llvm-svn: 95488
|
| |
|
|
| |
llvm-svn: 95477
|
| |
|
|
|
|
| |
unnecessary stack adjustments.
llvm-svn: 95475
|
| |
|
|
|
|
|
| |
addresses in dbg.declare; ignore this for the
moment to prevent things from breaking.
llvm-svn: 95471
|
| |
|
|
| |
llvm-svn: 95468
|
| |
|
|
|
|
| |
to function-local IR were not getting written by BitcodeWriter; solution is for these metadata to be enumerated just like global metadata.
llvm-svn: 95467
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This time it's for real! I am going to hook this up in the frontends as well.
The inliner has some experimental heuristics for dealing with the inline hint.
When given a -respect-inlinehint option, functions marked with the inline
keyword are given a threshold just above the default for -O3.
We need some experiments to determine if that is the right thing to do.
llvm-svn: 95466
|
| |
|
|
| |
llvm-svn: 95461
|
| |
|
|
|
|
| |
Radar 7614112.
llvm-svn: 95456
|
| |
|
|
| |
llvm-svn: 95454
|
| |
|
|
| |
llvm-svn: 95453
|
| |
|
|
| |
llvm-svn: 95452
|