| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 138657
|
| |
|
|
| |
llvm-svn: 138654
|
| |
|
|
|
|
| |
were failing to specify enough fixed bits of LDR_PRE/LDRB_PRE, resulting in decoding conflicts. Separate them into immediate vs. register versions, allowing us to specify the necessary fixed bits. This in turn results in the test being decoded properly, and being rejected as UNPREDICTABLE rather than a hard failure.
llvm-svn: 138653
|
| |
|
|
| |
llvm-svn: 138651
|
| |
|
|
| |
llvm-svn: 138642
|
| |
|
|
|
|
| |
This should fix PR10772.
llvm-svn: 138636
|
| |
|
|
|
|
| |
instructions. This is helpful for disassembler testing, and indeed exposed a disassembler bug that is also fixed here.
llvm-svn: 138635
|
| |
|
|
| |
llvm-svn: 138630
|
| |
|
|
|
|
|
|
| |
instructions when decoding their successors.
This is the last disassembly crash detected by exhaustive Thumb2 instruction space. Major thanks to Chandler Carruth for making this kind of exhaustive testing possible.
llvm-svn: 138625
|
| |
|
|
| |
llvm-svn: 138623
|
| |
|
|
|
|
| |
Fixes an oversight, and adds verification to catch it in the unloop.ll tests.
llvm-svn: 138622
|
| |
|
|
|
|
|
|
|
|
|
|
| |
I don't really like the patterns, but I'm having trouble coming up with a
better way to handle them.
I plan on making other targets use the same legalization
ARM-without-memory-barriers is using... it's not especially efficient, but
if anyone cares, it's not that hard to fix for a given target if there's
some better lowering.
llvm-svn: 138621
|
| |
|
|
|
|
|
|
| |
- Reword comments.
- Allow undefined behavior interfering with undefined behavior.
- Add address space checks.
llvm-svn: 138619
|
| |
|
|
|
|
|
|
|
|
| |
or store to the address returned by the PHI node then we can consider this incoming value as dead and remove the edge pointing there, unless there are instructions that can affect control flow executed in between.
In theory this could be extended to other instructions, eg. division by zero, but it's likely that it will "miscompile" some code because people depend on div by zero not trapping. NULL pointer dereference usually leads to a crash so we should be on the safe side.
This shrinks the size of a Release clang by 16k on x86_64.
llvm-svn: 138618
|
| |
|
|
|
|
|
| |
scheme, return 'true' so that it doesn't try to run the old EH scheme's fixup on
the new code.
llvm-svn: 138605
|
| |
|
|
|
|
|
|
|
|
| |
This upgrade suffers from the problems of the old EH scheme - i.e., that the
calls to llvm.eh.exception() and llvm.eh.selector() can wander off and get
lost. It makes a valiant effort to reclaim these little lost lambs.
This is a first draft, so it hasn't yet been hooked up to the parser.
llvm-svn: 138602
|
| |
|
|
| |
llvm-svn: 138592
|
| |
|
|
| |
llvm-svn: 138589
|
| |
|
|
| |
llvm-svn: 138588
|
| |
|
|
| |
llvm-svn: 138587
|
| |
|
|
|
|
| |
ordering bug this exposed.
llvm-svn: 138575
|
| |
|
|
| |
llvm-svn: 138573
|
| |
|
|
|
|
| |
rdar://10005094: miscompile of 176.gcc
llvm-svn: 138568
|
| |
|
|
| |
llvm-svn: 138566
|
| |
|
|
| |
llvm-svn: 138562
|
| |
|
|
|
|
| |
disassembled. Fixes remainder of PR10678.
llvm-svn: 138553
|
| |
|
|
|
|
| |
disassembled. Fixes PR10723.
llvm-svn: 138551
|
| |
|
|
|
|
| |
proper function to do it.
llvm-svn: 138550
|
| |
|
|
| |
llvm-svn: 138548
|
| |
|
|
| |
llvm-svn: 138546
|
| |
|
|
| |
llvm-svn: 138545
|
| |
|
|
| |
llvm-svn: 138540
|
| |
|
|
|
|
| |
getFirstNonPHI so that it will skip over the landingpad instructions as well.
llvm-svn: 138537
|
| |
|
|
| |
llvm-svn: 138536
|
| |
|
|
| |
llvm-svn: 138534
|
| |
|
|
|
|
| |
file, and move more code around!
llvm-svn: 138521
|
| |
|
|
| |
llvm-svn: 138520
|
| |
|
|
| |
llvm-svn: 138519
|
| |
|
|
|
|
| |
the missing ones for AVX.
llvm-svn: 138518
|
| |
|
|
| |
llvm-svn: 138517
|
| |
|
|
|
|
| |
pattern for 128-bit AVX mode.
llvm-svn: 138516
|
| |
|
|
|
|
|
| |
explicit about which subtarget they refer to, and add AVX versions of
the ones we currently don't. Remove old and now wrong comments!
llvm-svn: 138515
|
| |
|
|
|
|
|
|
| |
explicit about which subtarget they refer to, and add AVX versions of
the ones we currently don't. Make the mask check more strict, to be
clear it won't be used to match to 256-bit versions!
llvm-svn: 138514
|
| |
|
|
|
|
| |
remaining crashers when disassembling the entire 16-bit instruction space.
llvm-svn: 138507
|
| |
|
|
|
|
| |
implementations eventually.
llvm-svn: 138505
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
.cfi_startproc. e.g. libffi:
$ cat confopt.c
asm (".cfi_startproc\n\t.cfi_endproc");
int main () { return 0; }
Teach MC / dwarf emission to handle these cfi directives which essentially
create an empty frame.
rdar://10017184
llvm-svn: 138504
|
| |
|
|
| |
llvm-svn: 138501
|
| |
|
|
|
|
|
| |
We'll need to pay attention to them when we start getting more serious about
the details of parsing thumb2 assembly.
llvm-svn: 138500
|
| |
|
|
|
|
|
| |
Fix FiXME in test file. Remove FIXME for SUB (SP minus register) since that
form is Thumb2 only.
llvm-svn: 138494
|
| |
|
|
|
|
| |
VFP predicates.
llvm-svn: 138492
|