- Mar 19, 2007
-
-
Reid Spencer authored
Test that invalid numbered value references get an error message. llvm-svn: 35175
-
Reid Spencer authored
llvm-svn: 35174
-
Reid Spencer authored
Eliminate support for type planes in numbered values. This simplifies the data structures involved in managing forward definitions, etc. Instead of requiring maps from type to value, we can now just use a vector of values. These changes also required rewrites of some support functions such as InsertValue, getBBVal, and ResolveDefinitions. Some other cosmetic changes were made as well. llvm-svn: 35173
-
Reid Spencer authored
named or numbered ValIDs. llvm-svn: 35172
-
Reid Spencer authored
Radically simplify the SlotMachine. There is no need to keep Value planes around any more. This change causes slot numbering to number all un-named, non-void values starting at 0 and incrementing monotonically through the function, regardless of type (including BasicBlocks). Getting slot numbers is now a single lookup operation instead of a double lookup. llvm-svn: 35171
-
Reid Spencer authored
Revise numeric value references to accommodate collapsed type planes. llvm-svn: 35170
-
Chris Lattner authored
llvm-svn: 35169
-
Reid Spencer authored
llvm-svn: 35168
-
Chris Lattner authored
llvm-svn: 35167
-
Reid Spencer authored
llvm-svn: 35166
-
Evan Cheng authored
llvm-svn: 35165
-
Duncan Sands authored
llvm-svn: 35164
-
Evan Cheng authored
llvm-svn: 35163
-
Evan Cheng authored
rematerializable. Only used for constant generation for now. llvm-svn: 35162
-
Evan Cheng authored
llvm-svn: 35161
-
Evan Cheng authored
llvm-svn: 35160
-
Evan Cheng authored
llvm-svn: 35159
-
Evan Cheng authored
It means the instruction can be easily re-materialized at any point. e.g. constant generation, load from constantpool. llvm-svn: 35158
-
Zhou Sheng authored
llvm-svn: 35156
-
Evan Cheng authored
llvm-svn: 35153
-
Chris Lattner authored
llvm-svn: 35152
-
Chris Lattner authored
llvm-svn: 35151
-
Chris Lattner authored
implements Transforms/ScalarRepl/memset-aggregate-byte-leader.ll llvm-svn: 35150
-
Chris Lattner authored
llvm-svn: 35149
-
Chris Lattner authored
llvm-svn: 35148
-
Chris Lattner authored
llvm-svn: 35147
-
- Mar 18, 2007
-
-
Nick Lewycky authored
llvm-svn: 35146
-
Chris Lattner authored
Rearrange some code to simplify it now that shifts are binops llvm-svn: 35145
-
Chris Lattner authored
llvm-svn: 35144
-
Chris Lattner authored
llvm-svn: 35143
-
Nick Lewycky authored
entry: icmp ugt i32 %x, 4 ; <i1>:0 [#uses=1] br i1 %0, label %cond_true, label %cond_false cond_true: ; preds = %entry %tmp1 = tail call i32 (...)* @bar( i32 12 ) ; <i32> [#uses=0] ret void cond_false: ; preds = %entry switch i32 %x, label %cond_true15 [ i32 4, label %cond_true3 i32 3, label %cond_true7 i32 2, label %cond_true11 i32 0, label %cond_false17 ] ... llvm-svn: 35142
-
Evan Cheng authored
- Use distance to closest use to determine whether to abort coalescing. llvm-svn: 35141
-
Evan Cheng authored
llvm-svn: 35140
-
Evan Cheng authored
llvm-svn: 35139
-
Nick Lewycky authored
Add some more micro-optimizations: x * 0 = 0, a - x = a --> x = 0. llvm-svn: 35138
-
- Mar 17, 2007
-
-
Anton Korobeynikov authored
llvm-svn: 35137
-
Evan Cheng authored
llvm-svn: 35135
-
Evan Cheng authored
to be really bad. Once they are joined they are not broken apart. Also, physical intervals cannot be spilled! Added a heuristic as a workaround for this. Be careful coalescing with a physical register if the virtual register uses are "far". Check if there are uses in the same loop as the source (copy instruction). Check if it is in the loop preheader, etc. llvm-svn: 35134
-
Evan Cheng authored
llvm-svn: 35133
-
Evan Cheng authored
in that BB. llvm-svn: 35132
-