- Feb 25, 2010
-
-
Chris Lattner authored
llvm-svn: 97123
-
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
x86 table by 1200 bytes. llvm-svn: 97053
-
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
-
Chris Lattner authored
internal nodes with flag results. Record these with a new OPC_MarkFlagResults opcode and use this to update the interior nodes' flag results properly. This fixes CodeGen/X86/i256-add.ll with the new isel. llvm-svn: 97021
-
- Feb 22, 2010
-
-
Chris Lattner authored
has one of the list of acceptable opcodes for a complex pattern. This fixes 4 regtest failures. llvm-svn: 96814
-
- Feb 21, 2010
-
-
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 19, 2010
-
-
Chris Lattner authored
llvm-svn: 96663
-
- Feb 18, 2010
-
-
Chris Lattner authored
building the tree to represent them but not emitting table entries for them yet. llvm-svn: 96617
-
Chris Lattner authored
relationship, this is a linear list relationship. llvm-svn: 96561
-
Chris Lattner authored
field to MatcherNode. llvm-svn: 96560
-
- Feb 17, 2010
-
-
Chris Lattner authored
I'd like to eventually rip it out, but for now producing the same selections as the old matcher is more important. llvm-svn: 96458
-
Chris Lattner authored
variables. Use the fancy OpNo variable instead of i, which has the right index including chains. llvm-svn: 96436
-
Chris Lattner authored
llvm-svn: 96433
-
Chris Lattner authored
for evaluating complex patterns. Some cleanup has to happen before this can be used though. llvm-svn: 96419
-
- Feb 16, 2010
-
-
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
build if enabled, it will fail with constness issues. I'll resolve these next. llvm-svn: 96336
-
Chris Lattner authored
(isprofitable|islegal)tofold checks. llvm-svn: 96331
-
- Feb 15, 2010
-
-
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
-