- Feb 17, 2010
-
-
Chris Lattner authored
for evaluating complex patterns. Some cleanup has to happen before this can be used though. llvm-svn: 96419
-
Chris Lattner authored
llvm-svn: 96416
-
Chris Lattner authored
record all their results. llvm-svn: 96412
-
Chris Lattner authored
does the same thing as getComplexPatternInfo. llvm-svn: 96411
-
- Feb 16, 2010
-
-
Chris Lattner authored
llvm-svn: 96409
-
rdar://7653908Chris Lattner authored
into a roundss intrinsic, producing a cyclic dag. The root cause of this is badness handling ComplexPattern nodes in the old dagisel that I noticed through inspection. Eliminate a copy of the of the code that handled ComplexPatterns by making EmitChildMatchCode call into EmitMatchCode. llvm-svn: 96408
-
Chris Lattner authored
need to scan the entire subtree of the pattern anymore. llvm-svn: 96369
-
Chris Lattner authored
use and only call IsProfitableToFold/IsLegalToFold on the load being folded, like the old dagiselemitter does. This substantially simplifies the code and improves opportunities for sharing. llvm-svn: 96368
-
Chris Lattner authored
with chains. On interior nodes that lead up to them, we just directly check that there is a single use. This generates slightly more efficient code. llvm-svn: 96366
-
Chris Lattner authored
llvm-svn: 96337
-
Chris Lattner authored
build if enabled, it will fail with constness issues. I'll resolve these next. llvm-svn: 96336
-
Chris Lattner authored
llvm-svn: 96334
-
Chris Lattner authored
llvm-svn: 96333
-
Chris Lattner authored
llvm-svn: 96332
-
Chris Lattner authored
(isprofitable|islegal)tofold checks. llvm-svn: 96331
-
- Feb 15, 2010
-
-
Evan Cheng authored
IsLegalToFold and IsProfitableToFold. The generic version of the later simply checks whether the folding candidate has a single use. This allows the target isel routines more flexibility in deciding whether folding makes sense. The specific case we are interested in is folding constant pool loads with multiple uses. llvm-svn: 96255
-
Chris Lattner authored
produce a table based matcher instead of gobs of C++ Code. Though it's not done yet, the shrinkage seems promising, the table for the X86 ISel is 75K and still has a lot of optimization to come (compare to the ~1.5M of .o generated the old way, much of which will go away). The code is currently disabled by default (the #if 0 in DAGISelEmitter.cpp). When enabled it generates a dead SelectCode2 function in the DAGISel Header which will eventually replace SelectCode. There is still a lot of stuff left to do, which are documented with a trail of FIXMEs. llvm-svn: 96215
-
Mikhail Glushenkov authored
This behaviour must be configurable. llvm-svn: 96210
-
- Feb 14, 2010
-
-
Chris Lattner authored
llvm-svn: 96199
-
Chris Lattner authored
on TreePatternNode to be methods on TreePatternNode. llvm-svn: 96197
-
Chris Lattner authored
that predated -fast-isel which attempted to speed up the dag pattern matchers at -O0. Since fast-isel is around, this is basically obsolete and removing it shrinks the generated dag isels. llvm-svn: 96188
-
Chris Lattner authored
llvm-svn: 96187
-
Chris Lattner authored
llvm-svn: 96186
-
- Feb 13, 2010
-
-
Mikhail Glushenkov authored
Some tools do not like the '-option parameter' form. Should this be configurable? llvm-svn: 96130
-
Chris Lattner authored
class out of line. llvm-svn: 96113
-
Sean Callanan authored
tables. llvm-svn: 96073
-
Sean Callanan authored
llvm-svn: 96065
-
Chris Lattner authored
fix swapgs to be spelled right. llvm-svn: 96058
-
Chris Lattner authored
encoder and decoder by using new MRM_ forms. llvm-svn: 96048
-
Sean Callanan authored
whose opcodes extend into the ModR/M field using the Form field of the instruction rather than by special casing each instruction. Commented out the special casing of VMCALL, which is the first instruction to use this special form. While I was in the neighborhood, added a few comments for people modifying the Intel disassembler. llvm-svn: 96043
-
- Feb 12, 2010
-
-
Chris Lattner authored
This will work better for the disassembler for modeling things like lfence/monitor/vmcall etc. llvm-svn: 95960
-
Daniel Dunbar authored
matcher is now free of implicit operands! - Still need to clean up the code now that we don't to worry about implicit operands, and to make it a hard error if an instruction fails to specify all of its operands for some reason. llvm-svn: 95956
-
- Feb 11, 2010
-
-
Chris Lattner authored
testb %al, %al ## <MCInst #2412 TEST8rr ## <MCOperand Reg:2> ## <MCOperand Reg:2>> jne LBB1_7 ## <MCInst #938 JNE_1 ## <MCOperand Expr:(LBB1_7)>> llvm-svn: 95935
-
- Feb 10, 2010
-
-
Chris Lattner authored
llvm-svn: 95808
-
Daniel Dunbar authored
llvm-svn: 95802
-
Daniel Dunbar authored
- Pretty messy, but we need to rework how we handle tied operands in MCInst anyway. llvm-svn: 95774
-
Sean Callanan authored
backend to not use exceptions at all except in cases of actual error. llvm-svn: 95762
-
Sean Callanan authored
Disassembler to take advantage of the refactored AsmWriterInst.h. Note removed parser code. llvm-svn: 95760
-
Sean Callanan authored
operand into the CodeGenInstruction's list of operands, which is useful for EDEmitter. (Still working on PR6219) llvm-svn: 95759
-
Chris Lattner authored
for representing constraint info semantically instead of as a c expression that will be blatted out to the .inc file. Fix X86RecognizableInstr to use this instead of parsing C code :). llvm-svn: 95753
-