James Molloy
d9ba4fd48f
Teach the MC and disassembler about SoftFail, and hook it up to UNPREDICTABLE on ARM. Wire this to tBLX in order to provide test coverage.
...
llvm-svn: 150169
2012-02-09 10:56:31 +00:00
Craig Topper
c4965bce14
Convert assert(0) to llvm_unreachable
...
llvm-svn: 149814
2012-02-05 07:21:30 +00:00
Owen Anderson
b7d9ee707d
Fix unused variable warning in the rare circumstance that we have no feature-dependent instructions.
...
llvm-svn: 142193
2011-10-17 16:56:47 +00:00
Peter Collingbourne
84c287e33c
Move TableGen's parser and entry point into a library
...
This is the first step towards splitting LLVM and Clang's tblgen executables.
llvm-svn: 140951
2011-10-01 16:41:13 +00:00
Bob Wilson
ce29158bc4
Subtarget getFeatureBits() returns a uint64_t, not unsigned.
...
llvm-svn: 140928
2011-10-01 02:47:54 +00:00
Eli Friedman
e776b580c1
Make sure to handle the case where emitPredicateMatch returns false. Noticed by inspection.
...
llvm-svn: 139317
2011-09-08 21:00:31 +00:00
James Molloy
21d293a37f
Fix warning on windows; use of comparison with bool argument.
...
llvm-svn: 139286
2011-09-08 08:12:01 +00:00
Andrew Trick
43674ad44d
Fix a use of freed string contents.
...
Speculatively try to fix our windows testers with a patch I found on the internet.
llvm-svn: 139279
2011-09-08 05:25:49 +00:00
Andrew Trick
61abca6daa
whitespace
...
llvm-svn: 139278
2011-09-08 05:23:14 +00:00
James Molloy
8067df9503
Second of a three-patch series aiming to fix MSR/MRS on Cortex-M. This adds predicate checking to the Disassembler.
...
llvm-svn: 139250
2011-09-07 19:42:28 +00:00
Owen Anderson
a4043c4b32
Allow the MCDisassembler to return a "soft fail" status code, indicating an instruction that is disassemblable, but invalid. Only used for ARM UNPREDICTABLE instructions at the moment.
...
Patch by James Molloy.
llvm-svn: 137830
2011-08-17 17:44:15 +00:00
Owen Anderson
ecc4ffc941
Fix an oversight in the FixedLenDecoderEmitter where we weren't correctly checking the success result of custom decoder hooks on singleton decodings.
...
llvm-svn: 137171
2011-08-09 23:05:23 +00:00
Owen Anderson
3022d6711d
Make the FixedLengthDecoderEmitter smart enough to autogenerate decoders for encodings like "let Inst{11-7} = foo;", where the RHS has no bitwidth specifiers.
...
llvm-svn: 136660
2011-08-01 22:45:43 +00:00
Owen Anderson
faee2cf9ff
The FixedLenDecoder needs to gracefully handle failing per-instruction decoder hooks in addition to per-operand decoder hooks.
...
llvm-svn: 136645
2011-08-01 20:06:49 +00:00
Owen Anderson
37ef826040
Enhance the fixed length disassembler to better handle operand decoding failures.
...
llvm-svn: 136635
2011-08-01 18:44:37 +00:00
Owen Anderson
e08f5b5b37
Correctly handle scattered operands where the bits of the operand are contiguous, but out of order.
...
llvm-svn: 136534
2011-07-29 23:01:18 +00:00
David Greene
af8ee2cdee
Unconstify Inits
...
Remove const qualifiers from Init references, per Chris' request.
llvm-svn: 136531
2011-07-29 22:43:06 +00:00
David Greene
1aa0e3e118
[AVX] Constify Inits
...
Make references to Inits const everywhere. This is the final step
before making them unique.
llvm-svn: 136485
2011-07-29 19:07:05 +00:00
Owen Anderson
cb32ce2642
Third time's the charm for implementing tied operand decoding properly.
...
llvm-svn: 136478
2011-07-29 18:28:52 +00:00
Owen Anderson
abe75904a8
Fix a case where, when trying to track tied operands, we'd accidentally overwrite our mapping.
...
llvm-svn: 136467
2011-07-29 17:32:03 +00:00
Owen Anderson
53562d0551
Enhance the fixed-length decoder emitter to support tied operands.
...
llvm-svn: 136431
2011-07-28 23:56:20 +00:00
Owen Anderson
e3591657a0
Enhance the fixed-length decoder emitter to support parsing scattered fields.
...
llvm-svn: 136405
2011-07-28 21:54:31 +00:00
Owen Anderson
c78e03c39a
Enhance the FixedLengthDecoder to be able to generate plausible-looking decoders for ARM.
...
llvm-svn: 135524
2011-07-19 21:06:00 +00:00
Eric Christopher
71520a867d
Revert r134921, 134917, 134908 and 134907. They're causing failures
...
in multiple buildbots.
llvm-svn: 134936
2011-07-11 23:06:52 +00:00
David Greene
af973b4f36
[AVX] Make Inits Foldable
...
Manage Inits in a FoldingSet. This provides several benefits:
- Memory for Inits is properly managed
- Duplicate Inits are folded into Flyweights, saving memory
- It enforces const-correctness, protecting against certain classes
of bugs
The above benefits allow Inits to be used in more contexts, which in
turn provides more dynamism to TableGen. This enhanced capability
will be used by the AVX code generator to a fold common patterns
together.
llvm-svn: 134907
2011-07-11 18:25:51 +00:00