| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
|
| |
them as
invalid instructions.
llvm-svn: 129286
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
--- Reverse-merging r129235 into '.':
D test/Feature/bb_attrs.ll
U include/llvm/BasicBlock.h
U include/llvm/Bitcode/LLVMBitCodes.h
U lib/VMCore/AsmWriter.cpp
U lib/VMCore/BasicBlock.cpp
U lib/AsmParser/LLParser.cpp
U lib/AsmParser/LLLexer.cpp
U lib/AsmParser/LLToken.h
U lib/Bitcode/Reader/BitcodeReader.cpp
U lib/Bitcode/Writer/BitcodeWriter.cpp
llvm-svn: 129259
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* Add a "landing pad" attribute to the BasicBlock.
* Modify the bitcode reader and writer to handle said attribute.
Later: The verifier will ensure that the landing pad attribute is used in the
appropriate manner. I.e., not applied to the entry block, and applied only to
basic blocks that are branched to via a `dispatch' instruction.
(This is a work-in-progress.)
llvm-svn: 129235
|
| |
|
|
|
|
|
| |
InstAlias doesn't allow matching immediate operands, so we have to write
C++ code to do this.
llvm-svn: 129223
|
| |
|
|
|
|
| |
for pointing this out
llvm-svn: 129217
|
| |
|
|
|
|
| |
And don't append the name over and over again in the loop.
llvm-svn: 129210
|
| |
|
|
|
|
|
| |
is an array of structures doesn't imply it's a ConstantArray of
ConstantStruct.
llvm-svn: 129207
|
| |
|
|
|
|
| |
indirectbr.
llvm-svn: 129203
|
| |
|
|
|
|
|
| |
delete the instruction pointed to by CGP's current instruction
iterator, leading to a crash on the testcase. This fixes PR9578.
llvm-svn: 129200
|
| |
|
|
|
|
|
| |
it's completely safe to cache the AST across LICM runs even with this fix,
but this fix can't hurt.
llvm-svn: 129198
|
| |
|
|
| |
llvm-svn: 129197
|
| |
|
|
| |
llvm-svn: 129195
|
| |
|
|
|
|
|
| |
they thought they were, because alternation was expanding
wrong in {{}}'s.
llvm-svn: 129194
|
| |
|
|
|
|
| |
with undef arguments.
llvm-svn: 129185
|
| |
|
|
| |
llvm-svn: 129184
|
| |
|
|
| |
llvm-svn: 129172
|
| |
|
|
|
|
|
|
| |
If lower bound is more then upper bound then consider it is an unbounded array.
An array is unbounded if non-zero lower bound is same as upper bound.
If lower bound and upper bound are zero than array has one element.
llvm-svn: 129156
|
| |
|
|
|
|
| |
is lowered into a call to the specified trap function at sdisel time.
llvm-svn: 129152
|
| |
|
|
|
|
|
| |
PR9650
rdar://problem/9257565
llvm-svn: 129147
|
| |
|
|
|
|
|
| |
PR9648
rdar://problem/9257634
llvm-svn: 129146
|
| |
|
|
|
|
| |
Add tests for that.
llvm-svn: 129137
|
| |
|
|
|
|
| |
Add more test cases to exercise the logical branches related to the above change.
llvm-svn: 129117
|
| |
|
|
| |
llvm-svn: 129116
|
| |
|
|
| |
llvm-svn: 129114
|
| |
|
|
| |
llvm-svn: 129111
|
| |
|
|
|
|
| |
instruction. rdar://9249183.
llvm-svn: 129107
|
| |
|
|
|
|
|
| |
Patch by Roman Divacky.
Fixes PR9361.
llvm-svn: 129106
|
| |
|
|
|
|
|
|
|
| |
induction variable. The preRA scheduler is unaware of induction vars,
so we look for potential "virtual register cycles" instead.
Fixes <rdar://problem/8946719> Bad scheduling prevents coalescing
llvm-svn: 129100
|
| |
|
|
| |
llvm-svn: 129099
|
| |
|
|
|
|
|
|
| |
extend instructions.
Add some test cases.
llvm-svn: 129098
|
| |
|
|
| |
llvm-svn: 129096
|
| |
|
|
|
|
| |
And two test cases.
llvm-svn: 129090
|
| |
|
|
|
|
| |
match.
llvm-svn: 129078
|
| |
|
|
|
|
| |
vector type (vectors of size 3). Also included test cases.
llvm-svn: 129074
|
| |
|
|
|
|
| |
rdar://problem/9246844
llvm-svn: 129050
|
| |
|
|
|
|
|
|
|
|
|
| |
is equivalent to any other relevant value; it isn't true in general.
If it is equivalent, the LoopPromoter will tell the AST the equivalence.
Also, delete the PreheaderLoad if it is unused.
Chris, since you were the last one to make major changes here, can you check
that this is sane?
llvm-svn: 129049
|
| |
|
|
|
|
|
|
|
|
| |
checking for register values
for USAD8 and USADA8.
rdar://problem/9247060
llvm-svn: 129047
|
| |
|
|
| |
llvm-svn: 129045
|
| |
|
|
|
|
| |
rdar://problem/9246650
llvm-svn: 129042
|
| |
|
|
|
|
| |
folded comparisons, just like ADD and SUB.
llvm-svn: 129038
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The ARM disassembler should reject invalid (type, align) encodings as invalid instructions.
So, instead of:
Opcode=1641 Name=VST2b32_UPD Format=ARM_FORMAT_NLdSt(30)
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
-------------------------------------------------------------------------------------------------
| 1: 1: 1: 1| 0: 1: 0: 0| 0: 0: 0: 0| 0: 0: 1: 1| 0: 0: 0: 0| 1: 0: 0: 1| 1: 0: 1: 1| 0: 0: 1: 1|
-------------------------------------------------------------------------------------------------
vst2.32 {d0, d2}, [r3, :256], r3
we now have:
Opcode=1641 Name=VST2b32_UPD Format=ARM_FORMAT_NLdSt(30)
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
-------------------------------------------------------------------------------------------------
| 1: 1: 1: 1| 0: 1: 0: 0| 0: 0: 0: 0| 0: 0: 1: 1| 0: 0: 0: 0| 1: 0: 0: 1| 1: 0: 1: 1| 0: 0: 1: 1|
-------------------------------------------------------------------------------------------------
mc-input.txt:1:1: warning: invalid instruction encoding
0xb3 0x9 0x3 0xf4
^
llvm-svn: 129033
|
| |
|
|
|
|
|
|
|
|
| |
Since these "Advanced SIMD and VFP" instructions have more specfic encoding bits
specified, if coproc == 10 or 11, we should reject the insn as invalid.
rdar://problem/9239922
rdar://problem/9239596
llvm-svn: 129027
|
| |
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
test fail (without the fix). Thanks Dan.
llvm-svn: 128999
|
| |
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
| |
illegal register
encodings for DisassembleArithMiscFrm().
rdar://problem/9238659
llvm-svn: 128958
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
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
|