| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 104858
|
| |
|
|
|
|
| |
they are not directly attached to current function.
llvm-svn: 104848
|
| |
|
|
| |
llvm-svn: 104841
|
| |
|
|
| |
llvm-svn: 104831
|
| |
|
|
| |
llvm-svn: 104805
|
| |
|
|
| |
llvm-svn: 104794
|
| |
|
|
| |
llvm-svn: 104785
|
| |
|
|
|
|
| |
and Write, and add a comment explaining this.
llvm-svn: 104756
|
| |
|
|
| |
llvm-svn: 104744
|
| |
|
|
| |
llvm-svn: 104732
|
| |
|
|
| |
llvm-svn: 104731
|
| |
|
|
|
|
| |
Reduced from one provided by Duncan Sands, thanks!
llvm-svn: 104710
|
| |
|
|
|
|
| |
This is used to track variable information.
llvm-svn: 104649
|
| |
|
|
| |
llvm-svn: 104648
|
| |
|
|
|
|
| |
and testcases accordingly.
llvm-svn: 104635
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
are st(0). These can be encoded using an opcode for storing in st(0) or using
an opcode for storing in st(i), where i can also be 0. To allow testing with
the darwin assembler and get a matching binary the opcode for storing in st(0)
is now used. To do this the same logical trick is use from the darwin assembler
in converting things like this:
fmul %st(0), %st
into this:
fmul %st(0)
by looking for the second operand being X86::ST0 for specific floating point
mnemonics then removing the second X86::ST0 operand. This also has the add
benefit to allow things like:
fmul %st(1), %st
that llvm-mc did not assemble.
llvm-svn: 104634
|
| |
|
|
|
|
| |
bug go untested than have a testcase this large. So be it.
llvm-svn: 104632
|
| |
|
|
| |
llvm-svn: 104626
|
| |
|
|
|
|
|
|
| |
Mon Ping provided; unfortunately bugpoint failed to
reduce it, but I think it's important to have a test for
this in the suite. 8023512.
llvm-svn: 104624
|
| |
|
|
| |
llvm-svn: 104622
|
| |
|
|
|
|
| |
for the 64-bit version of the Bit Test instruction.
llvm-svn: 104621
|
| |
|
|
|
|
| |
Fixes rdar://8017638
llvm-svn: 104617
|
| |
|
|
| |
llvm-svn: 104552
|
| |
|
|
| |
llvm-svn: 104549
|
| |
|
|
|
|
|
| |
Fix it by changing the T2I_rbin_s_is multiclass to handle the CPSR
output and 'S' suffix in the same way as T2I_bin_s_irs.
llvm-svn: 104531
|
| |
|
|
| |
llvm-svn: 104518
|
| |
|
|
|
|
|
|
|
|
|
| |
immediates based on the width of the target instruction. For example:
addw $0xFFFF, %ax
should match the same as
addw $-1, %ax
but we used to match it to the longer encoding.
llvm-svn: 104453
|
| |
|
|
| |
llvm-svn: 104435
|
| |
|
|
| |
llvm-svn: 104421
|
| |
|
|
| |
llvm-svn: 104418
|
| |
|
|
|
|
|
|
| |
copying VFP subregs. This exposed a bunch of dead code in the *spill-q.ll
tests, so I tweaked those tests to keep that code from being optimized away.
Radar 7872877.
llvm-svn: 104415
|
| |
|
|
| |
llvm-svn: 104414
|
| |
|
|
| |
llvm-svn: 104394
|
| |
|
|
|
|
|
|
| |
so that it will continue to test what it was meant to test when I commit a
separate change for better support of BUILD_VECTOR and VECTOR_SHUFFLE for Neon.
Fix a DAG combiner crash exposed by this test change.
llvm-svn: 104380
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
pass after isel instead of being interlaced with it, we can
trust that all the code for a function has been isel'd before
it is run.
The practical impact of this is that we can scan for machine
instr phis instead of doing a fuzzy match on the LLVM BB for
phi nodes. Doing the fuzzy match required knowing when isel
would produce an fp reg stack phi which was gross. It was
also wrong in cases where select got lowered to a branch
tree because cmovs aren't available (PR6828).
Just do the scan on machine phis which is simpler, faster
and more correct. This fixes PR6828.
llvm-svn: 104333
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
definitions of the virtual register.
This happens when spilling the registers produced by REG_SEQUENCE:
%reg1047:5<def>, %reg1047:6<def>, %reg1047:7<def> = VLD3d8 %reg1033, 0, pred:14, pred:%reg0
The rewriter would spill the register multiple times, dead store elimination
tried to keep up, but ended up cutting the branch it was sitting on.
llvm-svn: 104321
|
| |
|
|
|
|
|
| |
tricky since there's a 3rd 64-bit type, MMX vectors.
PR 7135.
llvm-svn: 104308
|
| |
|
|
|
|
| |
point instructions (and is not using soft float).
llvm-svn: 104307
|
| |
|
|
|
|
| |
movq.
llvm-svn: 104275
|
| |
|
|
|
|
|
|
|
|
|
|
| |
operand on the left, the interesting operand is on the right. This
fixes a bug where LSR was failing to recognize ICmpZero uses,
which led it to be unable to reverse the induction variable in the
attached testcase.
Delete test/CodeGen/X86/stack-color-with-reg-2.ll, because its test
is extremely fragile and hard to meaningfully update.
llvm-svn: 104262
|
| |
|
|
|
|
| |
This fixes the remaining issue with pr7167.
llvm-svn: 104257
|
| |
|
|
|
|
| |
instructions.
llvm-svn: 104231
|
| |
|
|
| |
llvm-svn: 104204
|
| |
|
|
|
|
|
| |
doesn't have a register operand. Also, use I instead of PSI, for
consistency with mfence and lfence.
llvm-svn: 104203
|
| |
|
|
| |
llvm-svn: 104196
|
| |
|
|
| |
llvm-svn: 104190
|
| |
|
|
|
|
|
|
| |
the addressing modes don't make this trivially easy. This allows
it to avoid falling into the less precise heuristics in more
cases.
llvm-svn: 104186
|
| |
|
|
| |
llvm-svn: 104183
|
| |
|
|
| |
llvm-svn: 104182
|
| |
|
|
| |
llvm-svn: 104163
|