| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
|
| |
addConstraints, and finish.
This will allow us to abort the algorithm early if it is determined to be futile.
llvm-svn: 129020
|
| |
|
|
|
|
|
|
|
| |
Also set the encoding bits (for A8.6.303, A8.6.328, A8.6.329) Inst{3-0} = 0b0000,
in class NVLaneOp.
rdar://problem/9240648
llvm-svn: 129015
|
| |
|
|
| |
llvm-svn: 129012
|
| |
|
|
|
|
| |
Change the test to force a sign extension and expose the problem again.
llvm-svn: 129011
|
| |
|
|
|
|
| |
Keep track of llvm.dbg.value intrinsics with non null values.
llvm-svn: 129010
|
| |
|
|
|
|
| |
This takes the linking of libxul on linux from 6m54.931s to 5m39.840s.
llvm-svn: 129009
|
| |
|
|
| |
llvm-svn: 129002
|
| |
|
|
|
|
| |
DenseMap.
llvm-svn: 128994
|
| |
|
|
| |
llvm-svn: 128988
|
| |
|
|
| |
llvm-svn: 128986
|
| |
|
|
|
|
|
|
| |
About 90% of the relevant blocks are live-through without uses, and the only
information required about them is their number. This saves memory and enables
later optimizations that need to look at only the use-blocks.
llvm-svn: 128985
|
| |
|
|
|
|
|
|
|
|
| |
Add more complete sanity check for LdStFrm instructions where if IBit (Inst{25})
is 1, Inst{4} should be 0. Otherwise, we should reject the insn as invalid.
rdar://problem/9239347
rdar://problem/9239467
llvm-svn: 128977
|
| |
|
|
|
|
|
|
|
|
| |
Start teaching the runtime Dyld interface to use the memory manager API
for allocating space. Rather than mapping directly into the MachO object,
we extract the payload for each object and copy it into a dedicated buffer
allocated via the memory manager. For now, just do Segment64, so this works
on x86_64, but not yet on ARM.
llvm-svn: 128973
|
| |
|
|
|
|
| |
imp-def of CPSR it was adding.
llvm-svn: 128965
|
| |
|
|
| |
llvm-svn: 128964
|
| |
|
|
| |
llvm-svn: 128963
|
| |
|
|
| |
llvm-svn: 128962
|
| |
|
|
|
|
| |
Treat the landing pad as a normal successor when that happens.
llvm-svn: 128961
|
| |
|
|
| |
llvm-svn: 128959
|
| |
|
|
|
|
|
|
|
|
| |
illegal register
encodings for DisassembleArithMiscFrm().
rdar://problem/9238659
llvm-svn: 128958
|
| |
|
|
| |
llvm-svn: 128953
|
| |
|
|
| |
llvm-svn: 128951
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Qd -> bit[12] == 0
Qn -> bit[16] == 0
Qm -> bit[0] == 0
If one of these bits is 1, the instruction is UNDEFINED.
rdar://problem/9238399
rdar://problem/9238445
llvm-svn: 128949
|
| |
|
|
| |
llvm-svn: 128947
|
| |
|
|
| |
llvm-svn: 128946
|
| |
|
|
|
|
|
|
| |
Added checks for regs which should not be 15.
rdar://problem/9237734
llvm-svn: 128945
|
| |
|
|
|
|
| |
still used by RegionInfo :(
llvm-svn: 128943
|
| |
|
|
|
|
|
|
|
| |
For register-controlled shifts, we should check that the encoding constraint
Inst{7} = 0 and Inst{4} = 1 is satisfied.
rdar://problem/9237693
llvm-svn: 128941
|
| |
|
|
|
|
| |
doing the expansion earlier (using a custom inserter) to allow for the chance of predicating these instructions.
llvm-svn: 128940
|
| |
|
|
| |
llvm-svn: 128935
|
| |
|
|
| |
llvm-svn: 128929
|
| |
|
|
|
|
| |
of a basic block.
llvm-svn: 128925
|
| |
|
|
| |
llvm-svn: 128924
|
| |
|
|
|
|
|
|
| |
Modify DisassembleCoprocessor() of ARMDisassemblerCore.cpp to react to the change.
rdar://problem/9236873
llvm-svn: 128922
|
| |
|
|
| |
llvm-svn: 128920
|
| |
|
|
|
|
|
|
| |
def into the remaining use.
Rematerialization can leave single-use loads behind that we might as well fold whenever possible.
llvm-svn: 128918
|
| |
|
|
| |
llvm-svn: 128914
|
| |
|
|
| |
llvm-svn: 128913
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
developers can see if their driver changed any cl::Option's. The
current implementation isn't perfect but handles most kinds of
options. This is nice to have when decomposing the stages of
compilation and moving between different drivers. It's also a good
sanity check when comparing results produced by different command line
invocations that are expected to produce the comparable results.
Note: This is not an attempt to prolong the life of cl::Option. On the
contrary, it's a placeholder for a feature that must exist when
cl::Option is replaced by a more appropriate framework. A new
framework needs: a central option registry, dynamic name lookup,
non-global containers of option values (e.g. per-module,
per-function), *and* the ability to print options values and their defaults at
any point during compilation.
llvm-svn: 128910
|
| |
|
|
|
|
|
|
|
|
| |
getEDInfo(), in which case this code would dereference
NULL. EDInst can already handle NULL info, so avoid
the dereference and pass NULL through.
Reviewed by Sean Callanan
llvm-svn: 128904
|
| |
|
|
|
|
| |
Finish what r128736 started.
llvm-svn: 128903
|
| |
|
|
|
|
|
|
|
|
| |
An alternative syntax is available for a modified immediate constant that permits the programmer to specify
the encoding directly. In this syntax, #<const> is instead written as #<byte>,#<rot>, where:
<byte> is the numeric value of abcdefgh, in the range 0-255
<rot> is twice the numeric value of rotation, an even number in the range 0-30.
llvm-svn: 128897
|
| |
|
|
|
|
|
|
|
| |
if dLo == 15 || dHi == 15 || n == 15 || m == 15 then UNPREDICTABLE;
if dHi == dLo then UNPREDICTABLE;
rdar://problem/9230202
llvm-svn: 128895
|
| |
|
|
|
|
| |
ADC/ABC with the appropriate S-bit input value.
llvm-svn: 128892
|
| |
|
|
|
|
|
|
|
|
|
|
| |
addRegisterDead().
There can be multiple defs for a single virtual register when they are defining
sub-registers.
The missing <dead> flag was stopping the inline spiller from eliminating dead
code after rematerialization.
llvm-svn: 128888
|
| |
|
|
| |
llvm-svn: 128887
|
| |
|
|
|
|
|
|
|
|
|
| |
UseSlots.
This allows us to always keep the smaller slot for an instruction which is what
we want when a register has early clobber defines.
Drop the UsingInstrs set and the UsingBlocks map. They are no longer needed.
llvm-svn: 128886
|
| |
|
|
|
|
|
| |
space info. We crash with an assert in this case. This change checks that the
address space of the bitcasted pointer is the same as the gep ptr.
llvm-svn: 128884
|
| |
|
|
| |
llvm-svn: 128875
|
| |
|
|
|
|
|
|
|
| |
inlined path for the common case.
Most basic blocks don't contain a call that may throw, so the last split point
os simply the first terminator.
llvm-svn: 128874
|