- Jul 16, 2011
-
-
Owen Anderson authored
Get rid of the separate opcodes for the Darwin versions of tBL, tBLXi, and tBLXr, using pseudo-instructions to lower to the single final opcode. Update the ARM disassembler for this change. llvm-svn: 135319
-
- Jul 15, 2011
-
-
Kevin Enderby authored
llvm-svn: 135287
-
NAKAMURA Takumi authored
MSVC decorates (and distinguishes) "const" in mangler. It brought linkage error between "extern const" declarations and definitions. llvm-svn: 135269
-
- Jul 14, 2011
-
-
Benjamin Kramer authored
- The actual values are from the MCOI::OperandType enum. - Teach tblgen to read it from the instruction definition. - This is a better implementation of the hacks in edis. llvm-svn: 135197
-
Evan Cheng authored
registeration and creation code into XXXMCDesc libraries. llvm-svn: 135184
-
Chris Lattner authored
conceptually have nuls in it. llvm-svn: 135165
-
Benjamin Kramer authored
llvm-svn: 135154
-
Owen Anderson authored
Add a target-indepedent entry to MCInstrDesc to describe the encoded size of an opcode. Switch ARM over to using that rather than its own special MCInstrDesc bits. llvm-svn: 135106
-
David Greene authored
Rename struct Init to class Init for consistency and in preparation for making Init a FoldingSetNode. llvm-svn: 135097
-
Jim Grosbach authored
llvm-svn: 135092
-
- Jul 13, 2011
-
-
Jim Grosbach authored
The immediate is of limited range and the operand type should reflect that. llvm-svn: 135066
-
- Jul 12, 2011
-
-
Eric Christopher authored
in multiple buildbots. llvm-svn: 134936
-
- Jul 11, 2011
-
-
David Greene authored
Respond to some feedback asking for a name change. llvm-svn: 134921
-
Evan Cheng authored
llvm-svn: 134917
-
David Greene authored
Update the tag for Init to match how it's defined. llvm-svn: 134908
-
David Greene authored
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
-
Shantonu Sen authored
The enum names as well as order (i.e. value) had skewed, which means that consumers of the tablegen-ed table would see different values than intended. Make both files have a superset of enums, and add classification as needed for numMCOperands. Reviewed by Owen Anderson llvm-svn: 134905
-
Evan Cheng authored
and MCSubtargetInfo. - Added methods to update subtarget features (used when targets automatically detect subtarget features or switch modes). - Teach X86Subtarget to update MCSubtargetInfo features bits since the MCSubtargetInfo layer can be shared with other modules. - These fixes .code 16 / .code 32 support since mode switch is updated in MCSubtargetInfo so MC code emitter can do the right thing. llvm-svn: 134884
-
- Jul 09, 2011
-
-
NAKAMURA Takumi authored
llvm-svn: 134809
-
- Jul 08, 2011
-
-
Eli Friedman authored
llvm-svn: 134725
-
Evan Cheng authored
llvm-svn: 134709
-
Jim Grosbach authored
This allows the (many) pseudo-instructions we have that map onto a single real instruction to have their expansion during MC lowering handled automatically instead of the current cumbersome manual expansion required. These sorts of pseudos are common when an instruction is used in situations that require different MachineInstr flags (isTerminator, isBranch, et. al.) than the generic instruction description has. For example, using a move to the PC to implement a branch. llvm-svn: 134704
-
Evan Cheng authored
- Each target asm parser now creates its own MCSubtatgetInfo (if needed). - Changed AssemblerPredicate to take subtarget features which tablegen uses to generate asm matcher subtarget feature queries. e.g. "ModeThumb,FeatureThumb2" is translated to "(Bits & ModeThumb) != 0 && (Bits & FeatureThumb2) != 0". llvm-svn: 134678
-
- Jul 07, 2011
-
-
Evan Cheng authored
llvm-svn: 134606
-
Jim Grosbach authored
So users of a CGI don't have to look up the value directly from the original Record; just like the rest of the convenience values in the class. llvm-svn: 134576
-
Jim Grosbach authored
llvm-svn: 134563
-
- Jul 06, 2011
-
-
Jim Grosbach authored
For now this is distinct from isCodeGenOnly, as code-gen-only instructions can (and often do) still have encoding information associated with them. Once we've migrated all of them over to true pseudo-instructions that are lowered to real instructions prior to the printer/emitter, we can remove isCodeGenOnly and just use isPseudo. llvm-svn: 134539
-
David Greene authored
llvm-svn: 134498
-
Evan Cheng authored
llvm-svn: 134457
-
- Jul 02, 2011
-
-
Jordy Rose authored
llvm-svn: 134324
-
- Jul 01, 2011
-
-
Evan Cheng authored
llvm-svn: 134259
-
Evan Cheng authored
itineraries. - Refactor TargetSubtarget to be based on MCSubtargetInfo. - Change tablegen generated subtarget info to initialize MCSubtargetInfo and hide more details from targets. llvm-svn: 134257
-
Evan Cheng authored
llvm-svn: 134244
-
- Jun 30, 2011
-
-
Jim Grosbach authored
It's just a call to a special helper function. Get rid of the T2 variant entirely, as it's identical to the Thumb1 version. llvm-svn: 134178
-
Jim Grosbach authored
It's just a tPOP instruction with additional code-gen properties, so it doesn't need encoding information. llvm-svn: 134172
-
Evan Cheng authored
be the first encoded as the first feature. It then uses the CPU name to look up features / scheduling itineray even though clients know full well the CPU name being used to query these properties. The fix is to just have the clients explictly pass the CPU name! llvm-svn: 134127
-
Jim Grosbach authored
Unlike Thumb1, Thumb2 does not have dedicated encodings for adjusting the stack pointer. It can just use the normal add-register-immediate encoding since it can use all registers as a source, not just R0-R7. The extra instruction definitions are just duplicates of the normal instructions with the (not well enforced) constraint that the source register was SP. llvm-svn: 134114
-
Jim Grosbach authored
They've been pseudos for a while now, so the decoder will never see them in the first place. llvm-svn: 134101
-
- Jun 29, 2011
-
-
Jim Grosbach authored
The tSpill and tRestore instructions are just copies of the tSTRspi and tLDRspi instructions, respectively. Just use those directly instead. llvm-svn: 134092
-
Francois Pichet authored
Change AsmName's type from StringRef to std::string. AsmName was pointing to a temporary string object that was destroyed. This is undefined behavior and MSVC didn't like it. This fixes over 300+ failing tests on MSVC. Credit for this fix goes to chapuni. llvm-svn: 134064
-