- Mar 01, 2010
-
-
Chris Lattner authored
ComplexPattern at the root be generated multiple times, once for each opcode they are part of. This encourages factoring because the opcode checks get treated just like everything else in the matcher. llvm-svn: 97439
-
Chris Lattner authored
dispatcher method. This eliminates the dependence of the new isel's generated code on the old isel's predicates, however some random hand written isel code still uses them. llvm-svn: 97431
-
- Feb 28, 2010
-
-
Chris Lattner authored
even some the old isel didn't. There are several parts of this that make me feel dirty, but it's no worse than the old isel. I'll clean up the parts I can do without ripping out the old one next. llvm-svn: 97415
-
- Feb 25, 2010
-
-
Chris Lattner authored
instead of to have a chained series of scope nodes. This makes the generated table smaller, improves the efficiency of the interpreter, and make the factoring optimization much more reasonable to implement. llvm-svn: 97160
-
Chris Lattner authored
llvm-svn: 97096
-
Chris Lattner authored
reflect what it does. Switch the sense of the Next and the Check arms to be more logical. No functionality change. llvm-svn: 97093
-
- Feb 24, 2010
-
-
Chris Lattner authored
llvm-svn: 97034
-
Chris Lattner authored
the old one around for comparative purposes: have the ENABLE_NEW_ISEL #define (which is not enabled on mainline) stop emitting the old isel at all, yay for build time win. llvm-svn: 97033
-
Chris Lattner authored
the new isel: fold movechild+record+moveparent into a single recordchild N node. This shrinks the X86 table from 125443 to 117502 bytes. llvm-svn: 97031
-
Chris Lattner authored
Also add an easy macro at the top of DAGISelEmitter.cpp to enable it. Lets see if I can avoid accidentally turning it on :) llvm-svn: 97029
-
- Feb 21, 2010
-
-
Chris Lattner authored
least cost matches. This gets us from 195 -> 208 passes on the ppc codegen tests. llvm-svn: 96747
-
Chris Lattner authored
llvm-svn: 96725
-
Chris Lattner authored
of the matched pattern to use the newly created node results. Onto the "making it actually work" phase! llvm-svn: 96724
-
Chris Lattner authored
the point where it is to the 95% feature complete mark, it just needs result updating to be done (then testing, optimization etc). More specificallly, this adds support for chain and flag handling on the result nodes, support for sdnodexforms, support for variadic nodes, memrefs, pinned physreg inputs, and probably lots of other stuff. In the old DAGISelEmitter, this deletes the dead code related to OperatorMap, cleans up a variety of dead stuff handling "implicit remapping" from things like globaladdr -> targetglobaladdr (which is no longer used because globaladdr always needs to be legalized), and some minor formatting fixes. llvm-svn: 96716
-
- Feb 18, 2010
-
-
Chris Lattner authored
Nothing real here yet. llvm-svn: 96575
-
Chris Lattner authored
llvm-svn: 96541
-
- Feb 17, 2010
-
-
Chris Lattner authored
llvm-svn: 96497
-
Chris Lattner authored
and add a sparc implementation that knows about delay slots. Patch by Nathan Keynes! llvm-svn: 96492
-
Chris Lattner authored
tblgen splatted code into the implementation. llvm-svn: 96460
-
Chris Lattner authored
functionality change. llvm-svn: 96453
-
Chris Lattner authored
for evaluating complex patterns. Some cleanup has to happen before this can be used though. llvm-svn: 96419
-
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
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
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
-
- Feb 14, 2010
-
-
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
-
- Feb 13, 2010
-
-
Chris Lattner authored
class out of line. llvm-svn: 96113
-
- Jan 05, 2010
-
-
Dan Gohman authored
clear what information these functions are actually using. This is also a micro-optimization, as passing a SDNode * around is simpler than passing a { SDNode *, int } by value or reference. llvm-svn: 92564
-
- Jan 04, 2010
-
-
Dan Gohman authored
verifying that the special case does not occur. llvm-svn: 92504
-
Dan Gohman authored
for a refactoring I'm working on. llvm-svn: 92503
-
- Dec 19, 2009
-
-
Dan Gohman authored
llvm-svn: 91741
-
- Nov 24, 2009
-
-
Dan Gohman authored
Note that "hasDotLocAndDotFile"-style debug info was already broken; people wanting this functionality should implement it in the AsmPrinter/DwarfWriter code. llvm-svn: 89711
-
- Nov 14, 2009
-
-
Benjamin Kramer authored
forward declaration and patching tblgen to emit it right. Patch by Amine Khaldi! llvm-svn: 88798
-