- Dec 21, 2010
-
-
Chris Lattner authored
something that just glues two nodes together, even if it is sometimes used for flags. llvm-svn: 122310
-
- Nov 12, 2010
-
-
Bruno Cardoso Lopes authored
llvm-svn: 118864
-
- Sep 21, 2010
-
-
Chris Lattner authored
passed the root of the match, even though only a few patterns actually needed this (one in X86, several in ARM [which should be refactored anyway], and some in CellSPU that I don't feel like detangling). Instead of requiring all ComplexPatterns to take the dead root, have targets opt into getting the root by putting SDNPWantRoot on the ComplexPattern. llvm-svn: 114471
-
- Sep 03, 2010
-
-
Jakob Stoklund Olesen authored
llvm-svn: 112919
-
- Aug 19, 2010
-
-
Jakob Stoklund Olesen authored
llvm-svn: 111468
-
- May 24, 2010
-
-
Jakob Stoklund Olesen authored
llvm-svn: 104514
-
- Apr 17, 2010
-
-
Dan Gohman authored
const_casts, and it reinforces the design of the Target classes being immutable. SelectionDAGISel::IsLegalToFold is now a static member function, because PIC16 uses it in an unconventional way. There is more room for API cleanup here. And PIC16's AsmPrinter no longer uses TargetLowering. llvm-svn: 101635
-
- Mar 02, 2010
-
-
Chris Lattner authored
DoInstructionSelection. Inline "SelectRoot" into it from DAGISelHeader. Sink some other stuff out of DAGISelHeader into SDISel. Eliminate the various 'Indent' stuff from various targets, which dates to when isel was recursive. 17 files changed, 114 insertions(+), 430 deletions(-) llvm-svn: 97555
-
- Feb 09, 2010
-
-
Chris Lattner authored
into TargetOpcodes.h. #include the new TargetOpcodes.h into MachineInstr. Add new inline accessors (like isPHI()) to MachineInstr, and start using them throughout the codebase. llvm-svn: 95687
-
- Feb 01, 2010
-
-
Bruno Cardoso Lopes authored
llvm-svn: 94977
-
- Jan 19, 2010
-
-
Bruno Cardoso Lopes authored
in use by Mips. llvm-svn: 93897
-
Bruno Cardoso Lopes authored
the instruction to load those args removed. This fix PR6071 llvm-svn: 93880
-
Bruno Cardoso Lopes authored
llvm-svn: 93876
-
- 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
-
- Nov 25, 2009
-
-
Bruno Cardoso Lopes authored
llvm-svn: 89863
-
Bruno Cardoso Lopes authored
using two swc/lwc instead of sdc/ldc. llvm-svn: 89826
-
- Nov 19, 2009
-
-
Bruno Cardoso Lopes authored
- Support mips1 like load/store of doubles: Instead of: sdc $f0, X($3) Generate: swc $f0, X($3) swc $f1, X+4($3) llvm-svn: 89322
-
- Nov 16, 2009
-
-
Bruno Cardoso Lopes authored
- Add a smarter constant pool loading, instead of: lui $2, %hi($CPI1_0) addiu $2, $2, %lo($CPI1_0) lwc1 $f0, 0($2) Generate: lui $2, %hi($CPI1_0) lwc1 $f0, %lo($CPI1_0)($2) llvm-svn: 88886
-
- Nov 13, 2009
-
-
Bruno Cardoso Lopes authored
because the testcase is triggering one more bug. llvm-svn: 88674
-
- Nov 05, 2009
-
-
Dan Gohman authored
llvm-svn: 86149
-
- Oct 25, 2009
-
-
Nick Lewycky authored
VISIBILITY_HIDDEN removal. llvm-svn: 85043
-
Nick Lewycky authored
Chris claims we should never have visibility_hidden inside any .cpp file but that's still not true even after this commit. llvm-svn: 85042
-
- Sep 25, 2009
-
-
Dan Gohman authored
naming scheme used in SelectionDAG, where there are multiple kinds of "target" nodes, but "machine" nodes are nodes which represent a MachineInstr. llvm-svn: 82790
-
- Sep 01, 2009
-
-
Bruno Cardoso Lopes authored
Add MO flags to simplify the printing of relocations. Remove the support for printing large code model relocs (which aren't supported anyway). llvm-svn: 80691
-
- Aug 27, 2009
-
-
Bruno Cardoso Lopes authored
llvm-svn: 80280
-
Bruno Cardoso Lopes authored
Add MO flags to simplify the printing of relocations. Remove the support for printing large code model relocs (which aren't supported anyway). llvm-svn: 80278
-
- Aug 23, 2009
-
-
Daniel Dunbar authored
- The world needs better C++ refactoring tools, can I get an Amen!? llvm-svn: 79843
-
Chris Lattner authored
llvm-svn: 79833
-
- Aug 11, 2009
-
-
Owen Anderson authored
the latter is capable of representing either a primitive or an extended type. llvm-svn: 78713
-
Owen Anderson authored
llvm-svn: 78610
-
- Aug 01, 2009
-
-
Dan Gohman authored
llvm-svn: 77768
-
- Jul 08, 2009
-
-
Torok Edwin authored
Finish converting lib/Target. llvm-svn: 75043
-
- Jun 03, 2009
-
-
Dan Gohman authored
carry GlobalBaseReg, and GlobalRetAddr too in Alpha's case. This eliminates the need for them to search through the MachineRegisterInfo livein list in order to identify these virtual registers. EmitLiveInCopies is now the only user of the virtual register portion of MachineRegisterInfo's livein data. llvm-svn: 72802
-
- Jun 02, 2009
-
-
Dale Johannesen authored
llvm-svn: 72705
-
- Feb 05, 2009
-
-
Dale Johannesen authored
Adjust callers. llvm-svn: 63789
-
- Jan 15, 2009
-
-
Dan Gohman authored
and into the ScheduleDAGInstrs class, so that they don't get destructed and re-constructed for each block. This fixes a compile-time hot spot in the post-pass scheduler. To help facilitate this, tidy and do some minor reorganization in the scheduler constructor functions. llvm-svn: 62275
-
- Dec 14, 2008
-
-
Chris Lattner authored
llvm-svn: 61014
-
- Nov 05, 2008
-
-
Dan Gohman authored
priority function. Instead, just iterate over the AllNodes list, which is already in topological order. This eliminates a fair amount of bookkeeping, and speeds up the isel phase by about 15% on many testcases. The impact on most targets is that AddToISelQueue calls can be simply removed. In the x86 target, there are two additional notable changes. The rule-bending AND+SHIFT optimization in MatchAddress that creates new pre-isel nodes during isel is now a little more verbose, but more robust. Instead of either creating an invalid DAG or creating an invalid topological sort, as it has historically done, it can now just insert the new nodes into the node list at a position where they will be consistent with the topological ordering. Also, the address-matching code has logic that checked to see if a node was "already selected". However, when a node is selected, it has all its uses taken away via ReplaceAllUsesWith or equivalent, so it won't recieve any further visits from MatchAddress. This code is now removed. llvm-svn: 58748
-
- Oct 27, 2008
-
-
David Greene authored
Have TableGen emit setSubgraphColor calls under control of a -gen-debug flag. Then in a debugger developers can set breakpoints at these calls to see waht is about to be selected and what the resulting subgraph looks like. This really helps when debugging instruction selection. llvm-svn: 58278
-
- Oct 16, 2008
-
-
Dan Gohman authored
llvm-svn: 57649
-