- Nov 06, 2010
-
-
Chris Lattner authored
operand list instead of the operand list redundantly declared on the alias or instruction. With this change, we finally remove the ins/outs list on the alias. Before: def : InstAlias<(outs GR16:$dst), (ins GR8 :$src), "movsx $src, $dst", (MOVSX16rr8W GR16:$dst, GR8:$src)>; After: def : InstAlias<"movsx $src, $dst", (MOVSX16rr8W GR16:$dst, GR8:$src)>; This also makes the alias mechanism more general and powerful, which will be exploited in subsequent patches. llvm-svn: 118329
-
Chris Lattner authored
(someinst GR16:$foo, GR32:$foo) Reimplement BuildAliasOperandReference to be correctly based on the names of operands in the result pattern, instead of on the instruction operand definitions. llvm-svn: 118328
-
Chris Lattner authored
llvm-svn: 118326
-
Chris Lattner authored
llvm-svn: 118325
-
Chris Lattner authored
file instead of the asmmatcher. llvm-svn: 118324
-
- Nov 04, 2010
-
-
Chris Lattner authored
Right now the code is partitioned but the behavior is the same. This should be improved in the near future. This removes some uses of TheOperandList. llvm-svn: 118232
-
Chris Lattner authored
it doesn't do any lexical stuff anymore. llvm-svn: 118230
-
Chris Lattner authored
llvm-svn: 118228
-
Chris Lattner authored
on the incoming operand list. This also makes the code simpler. llvm-svn: 118225
-
Chris Lattner authored
llvm-svn: 118219
-
Chris Lattner authored
now matchables contain an explicit list of how to populate each operand in the result instruction instead of having them somehow magically be correlated to the input inst. llvm-svn: 118217
-
- Nov 03, 2010
-
-
Chris Lattner authored
llvm-svn: 118190
-
Chris Lattner authored
ins/outs list that isn't specified by their asmstring. Previously the asmmatcher would just force a 0 register into it, which clearly isn't right. Mark a bunch of ARM instructions that use this as isCodeGenOnly. Some of them are clearly pseudo instructions (like t2TBB) others use a weird hasExtraSrcRegAllocReq thing that will either need to be removed or the asmmatcher will need to be taught about it (someday). llvm-svn: 118119
-
Chris Lattner authored
that have complicated tying going on. llvm-svn: 118112
-
- Nov 02, 2010
-
-
Chris Lattner authored
filling them in one at a time. Previously this iterated over the asmoperands, which left the problem of "holes". The new approach simplifies things. llvm-svn: 118104
-
Chris Lattner authored
in the generated .inc files. llvm-svn: 118083
-
Chris Lattner authored
llvm-svn: 118031
-
Chris Lattner authored
llvm-svn: 118025
-
Chris Lattner authored
merging it into a Token field in Operand, and moving the first token to an explicit mnemonic field. These were parallel arrays before (except for the mnemonic) which kept confusing me. llvm-svn: 118024
-
Chris Lattner authored
llvm-svn: 117993
-
Chris Lattner authored
FWIW, X86 has 254 ambiguous instructions. llvm-svn: 117979
-
Chris Lattner authored
llvm-svn: 117968
-
- Nov 01, 2010
-
-
Chris Lattner authored
aliases installed and working. They now work when the matched pattern and the result instruction have exactly the same operand list. This is now enough for us to define proper aliases for movzx and movsx, implementing rdar://8017633 and PR7459. Note that we do not accept instructions like: movzx 0(%rsp), %rsi GAS accepts this instruction, but it doesn't make any sense because we don't know the size of the memory operand. It could be 8/16/32 bits. llvm-svn: 117901
-
Chris Lattner authored
represents InstAliases as well. Rename isAssemblerInstruction -> Validate since that is what it does (modulo the ARM $lane hack). llvm-svn: 117899
-
Chris Lattner authored
instructions and InstAliases. Start creating InstructionInfo's for Aliases. llvm-svn: 117898
-
Chris Lattner authored
in their asmstring. Fix the two x86 "NOREX" instructions that have them. If these comments are important, the instlowering stuff can print them. llvm-svn: 117897
-
Chris Lattner authored
member, and make isAssemblerInstruction() a method (pushing some code around inside it). llvm-svn: 117895
-
Chris Lattner authored
todo: the result field. llvm-svn: 117894
-
Chris Lattner authored
CodeGenInstruction into its own helper class. No functionality change. llvm-svn: 117893
-
Chris Lattner authored
llvm-svn: 117892
-
Chris Lattner authored
simplify CodeGenInstruction. No functionality change. llvm-svn: 117891
-
Chris Lattner authored
llvm-svn: 117890
-
Chris Lattner authored
instead of strings, simplifying it. llvm-svn: 117889
-
Chris Lattner authored
argument passing. Consolidate all SingletonRegister detection and handling into a new InstructionInfo::getSingletonRegisterForToken method instead of having it scattered about. No change in generated .inc files. llvm-svn: 117888
-
Chris Lattner authored
CodeGenInstruction::FlattenAsmStringVariants method. Use it to simplify the code in AsmWriterInst, which now no longer needs to worry about variants. llvm-svn: 117886
-
Chris Lattner authored
this can start rejecting instructions. llvm-svn: 117885
-
Chris Lattner authored
various X86 and ARM instructions that are bitten by this as isCodeGenOnly, as they are. llvm-svn: 117884
-
- Oct 31, 2010
-
-
Chris Lattner authored
Use this to make the X86 and ARM targets set isCodeGenOnly=1 automatically for their instructions that have Format=Pseudo, resolving a hack in tblgen. llvm-svn: 117862
-
Chris Lattner authored
and make it a hard error for instructions to not have an asm string. These instructions should be marked isCodeGenOnly. llvm-svn: 117861
-
Chris Lattner authored
got a dulicated line). llvm-svn: 117860
-