[llvm-commits] [llvm] r78379 - in /llvm/trunk: lib/Target/X86/AsmParser/X86AsmParser.cpp test/MC/AsmParser/labels.s test/MC/AsmParser/x86_instructions.s
Chris Lattner
clattner at apple.com
Fri Aug 7 09:50:33 PDT 2009
On Aug 7, 2009, at 1:45 AM, Daniel Dunbar wrote:
> Author: ddunbar
> Date: Fri Aug 7 03:45:03 2009
> New Revision: 78379
>
> URL: http://llvm.org/viewvc/llvm-project?rev=78379&view=rev
> Log:
> Disable X86 AsmMatcher for now, it is causing gcc-4.0 to run out of
> memory on
> i386-apple-darwin9. This presumably will get fixed once the
> generated code
> improves.
I'm sure you have a ton of ideas :), but it looks pretty straight-
forward to break down common conditions into a tree. Turning the top
level into a switch on the # operands also looks pretty obvious :).
The generated code looks great for a first cut though! Maybe it
should include a comment about the instruction being matched?
Is the code intended to handle regclass constraints yet? For example,
in:
if (Operands.size() == 3 &&
Operands[0].isToken("mulss") &&
Operands[1].isReg() &&
Operands[2].isReg())
return ConvertReg1ImpReg1(Inst, X86::MULSSrr, Operands[2],
Operands[1]);
I don't see how it avoids matching things like "mulss %gs, %eax". Do
you intend the matcher to reject this in the future?
-Chris
More information about the llvm-commits
mailing list