- Aug 30, 2011
-
-
- Aug 27, 2011
-
-
Owen Anderson authored
Improve encoding support for BLX with immediat eoperands, and fix a BLX decoding bug this uncovered. llvm-svn: 138675
-
- Aug 25, 2011
-
-
Craig Topper authored
Give ATTR_VEX higher priority when generating the disassembler context table. Fixes disassembling of VEX instructions with 'pp'=00. Fixes subset of PR10678. llvm-svn: 138552
-
- Aug 24, 2011
-
-
Jim Grosbach authored
Fix the test FIXME and add parsing support for the ADD (SP plus immediate) and ADD (SP plus register) instruction forms. llvm-svn: 138488
-
Jim Grosbach authored
Add the predicate operand to the instructions. Update the back end accordingly where the instructions are used. Restrict the SP operands to actually only be SP, as otherwise these break assembly parsing for the normal instruction variants. llvm-svn: 138445
-
- Aug 23, 2011
-
-
Caitlin Sadowski authored
llvm-svn: 138351
-
Eric Christopher authored
Patch by Micah Villmow! llvm-svn: 138330
-
- Aug 19, 2011
-
-
Jim Grosbach authored
llvm-svn: 138073
-
Jim Grosbach authored
llvm-svn: 138067
-
- Aug 17, 2011
-
-
Owen Anderson authored
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
-
- Aug 16, 2011
-
-
Jim Grosbach authored
llvm-svn: 137742
-
Bob Wilson authored
It turns out that the use of "__extension__" in these macros was disabling the expected "incompatible pointer" warnings, so these type checks were not doing anything anyway. They introduced a serious bug by evaluating some macro arguments twice, which is a big problem for arguments with side effects. I'll have to find another way to get the right type checking. Radar 9947657. llvm-svn: 137680
-
Jim Grosbach authored
Allow a target assembly parser to do context sensitive constraint checking on a potential instruction match. This will be used, for example, to handle Thumb2 IT block parsing. llvm-svn: 137675
-
- Aug 15, 2011
-
-
Jim Grosbach authored
No need for it to be redefined as part of every derived target asm parser class. llvm-svn: 137649
-
- Aug 10, 2011
-
-
David Greene authored
Use an Init (ultimately a StringInit) to represent the Record name. This allows the name to be composed by standard TableGen operators. This will enable us to get rid of the ugly #NAME# hack processing and naturally replace it with operators. It also increases flexibility and power of the TableGen language by allowing record identifiers to be computed dynamically. llvm-svn: 137232
-
David Greene authored
Add a method to return an Init as an unquoted string. This primarily affects StringInit where we return the value without surrounding it with quotes. This is in preparation for removing the ugly #NAME# hack and replacing it with standard TabelGen operators. llvm-svn: 137231
-
Owen Anderson authored
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
-
Owen Anderson authored
Create a new register class for the set of all GPRs except the PC. Use it to tighten our decoding of BFI. llvm-svn: 137168
-
- Aug 09, 2011
-
-
Owen Anderson authored
This new disassembler can correctly decode all the testcases that the old one did, though some "expected failure" testcases are XFAIL'd for now because it is not (yet) as strict in operand checking as the old one was. llvm-svn: 137144
-
- Aug 08, 2011
-
-
Owen Anderson authored
Fix encodings for Thumb ASR and LSR immediate operands. They encode the range 1-32, with 32 encoded as 0. llvm-svn: 137062
-
- Aug 04, 2011
-
-
Owen Anderson authored
LDCL_POST and STCL_POST need one's-complement offsets, rather than two's complement offsets. Add an appropriate immediate type for them. llvm-svn: 136896
-
Jim Grosbach authored
Memory operand parsing is a bit haphazzard at the moment, in no small part due to the even more haphazzard representations of memory operands in the .td files. Start cleaning that all up, at least a bit. The addressing modes in the .td files will be being simplified to not be so monolithic, especially with regards to immediate vs. register offsets and post-indexed addressing. addrmode3 is on its way with this patch, for example. This patch is foundational to enable going back to smaller incremental patches for the individual memory referencing instructions themselves. It does just enough to get the basics in place and handle the "make check" regression tests we already have. Follow-up work will be fleshing out the details and adding more robust test cases for the individual instructions, starting with ARM mode and moving from there into Thumb and Thumb2. llvm-svn: 136845
-
- Aug 02, 2011
-
-
Jim Grosbach authored
Use a more descriptive name so the code is more self-documenting. llvm-svn: 136704
-
Owen Anderson authored
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
-
- Aug 01, 2011
-
-
Owen Anderson authored
The FixedLenDecoder needs to gracefully handle failing per-instruction decoder hooks in addition to per-operand decoder hooks. llvm-svn: 136645
-
Owen Anderson authored
llvm-svn: 136635
-
- Jul 30, 2011
-
-
Owen Anderson authored
llvm-svn: 136534
-
David Greene authored
Remove const qualifiers from Init references, per Chris' request. llvm-svn: 136531
-
- Jul 29, 2011
-
-
David Greene authored
llvm-svn: 136511
-
David Greene authored
Make sure DagInits are unique and created only once. llvm-svn: 136501
-
David Greene authored
Make sure FieldInits are unique and created only once. llvm-svn: 136500
-
David Greene authored
Make sure VarListElementInits are unique and created only once. llvm-svn: 136499
-
David Greene authored
Make sure VarBitInits are unique and created only once. llvm-svn: 136498
-
David Greene authored
Make sure VarInits are unique and created only once. llvm-svn: 136497
-
David Greene authored
Make sure TernOpInits are unique and created only once. This will be important for AVX/SIMD as many operators will be used to generate patterns and other relevant data. llvm-svn: 136496
-
David Greene authored
Make sure BinOpInits are unique and created only once. This will be important for AVX/SIMD as many operators will be used to generate patterns and other relevant data. llvm-svn: 136495
-
David Greene authored
Make sure UnOpInits are unique and created only once. This will be important for AVX/SIMD as many operators will be used to generate patterns and other relevant data. llvm-svn: 136494
-
David Greene authored
Ensure ListInits are unique and only created once. This will be important for AVX as lists will be used extensively to pass generic patterns, prefix information and other things to lower-level pattern-generation classes. llvm-svn: 136493
-
David Greene authored
Use a StringMap to ensure CodeInits are unique and created only once. llvm-svn: 136492
-
David Greene authored
Use a StringMap to ensure the StringInits are unique. This is especially important for AVX where we will have many smallish strings representing instruction prefixes, suffixes and the like. llvm-svn: 136491
-