- Sep 03, 2008
-
-
Dan Gohman authored
when searching for redundant subregister dead/kill bits. Previously it was common to see instructions marked like this: "RET %EAX<imp-use,kill>, %AX<imp-use,kill>" With this change, addRegisterKilled continues scanning after finding the %EAX operand, so it proceeds to discover the redundant %AX kill and eliminates it, producing this: "RET %EAX<imp-use,kill>" This currently has no effect on the generated code. llvm-svn: 55698
-
- Aug 30, 2008
-
-
Evan Cheng authored
llvm-svn: 55563
-
- Aug 27, 2008
-
-
Evan Cheng authored
llvm-svn: 55434
-
Evan Cheng authored
llvm-svn: 55430
-
- Aug 24, 2008
-
-
Chris Lattner authored
simplify PseudoSourceValue printing a bit. Unnest all of PseudoSourceValue.cpp from the llvm namespace. llvm-svn: 55293
-
Evan Cheng authored
llvm-svn: 55291
-
- Aug 20, 2008
-
-
Dan Gohman authored
alignment and volatility information, such as loads and stores, to reduce the number of integer values added to the FoldingSetNodeID. llvm-svn: 55058
-
- Aug 15, 2008
-
-
Owen Anderson authored
llvm-svn: 54807
-
- Aug 14, 2008
-
-
Owen Anderson authored
subregister query, and by increasing the size of the subregister hashtable so that there are fewer collisions. llvm-svn: 54781
-
- Jul 28, 2008
-
-
Dan Gohman authored
a new ilist_node class, and remove them. Unlike alist_node, ilist_node doesn't attempt to manage storage itself, so it avoids the associated problems, including being opaque in gdb. Adjust the Recycler class so that it doesn't depend on alist_node. Also, change it to use explicit Size and Align parameters, allowing it to work when the largest-sized node doesn't have the greatest alignment requirement. Change MachineInstr's MachineMemOperand list from a pool-backed alist to a std::list for now. llvm-svn: 54146
-
- Jul 21, 2008
-
-
Dan Gohman authored
in the MachineInstr clone code. llvm-svn: 53868
-
- Jul 19, 2008
-
-
Evan Cheng authored
llvm-svn: 53779
-
- Jul 18, 2008
-
-
Dan Gohman authored
Fix a leak that this turned up in LowerSubregs.cpp. And, comment a leak in LiveIntervalAnalysis.cpp. llvm-svn: 53746
-
- Jul 16, 2008
-
-
Dan Gohman authored
llvm-svn: 53680
-
- Jul 11, 2008
-
-
Dan Gohman authored
llvm-svn: 53471
-
- Jul 10, 2008
-
-
Evan Cheng authored
- Change the horrible N^2 isRegReDefinedByTwoAddr. Now callers must supply the operand index of def machineoperand and at most one full scan of non-implicit operands is needed. - Change local register allocator to use the new isRegReDefinedByTwoAddr instead of reinventing the wheel. llvm-svn: 53394
-
- Jul 09, 2008
-
-
Dan Gohman authored
parent is non-null. It now always is. llvm-svn: 53263
-
Dan Gohman authored
llvm-svn: 53262
-
- Jul 08, 2008
-
-
Dan Gohman authored
MachineMemOperands. The pools are owned by MachineFunctions. This drastically reduces the number of calls to malloc/free made during the "Emit" phase of scheduling, as well as later phases in CodeGen. Combined with other changes, this speeds up the "instruction selection" phase of CodeGen by 10% in some cases. llvm-svn: 53212
-
- Jul 07, 2008
-
-
Dan Gohman authored
#include dependency on Support/MathExtras.h in the header file. llvm-svn: 53200
-
- Jul 03, 2008
-
-
Evan Cheng authored
- Remove calls to copyKillDeadInfo which is an N^2 function. Instead, propagate kill / dead markers as new instructions are constructed in foldMemoryOperand, convertToThressAddress, etc. - Also remove LiveVariables::instructionChanged, etc. Replace all calls with cheaper calls which update VarInfo kill list. llvm-svn: 53097
-
Dan Gohman authored
254.gap failure was not due to this mod. llvm-svn: 53068
-
Dan Gohman authored
llvm-svn: 53050
-
- Jul 02, 2008
-
-
Evan Cheng authored
llvm-svn: 52988
-
- Jul 01, 2008
-
-
Dan Gohman authored
the need for a flavor operand, and add a new SDNode subclass, LabelSDNode, for use with them to eliminate the need for a label id operand. Change instruction selection to let these label nodes through unmodified instead of creating copies of them. Teach the MachineInstr emitter how to emit a MachineInstr directly from an ISD label node. This avoids the need for allocating SDNodes for the label id and flavor value, as well as SDNodes for each of the post-isel label, label id, and label flavor. llvm-svn: 52943
-
- Jun 28, 2008
-
-
Evan Cheng authored
llvm-svn: 52841
-
- Jun 27, 2008
-
-
Owen Anderson authored
Don't perform expensive queries checking for super and sub registers when we know that there aren't any. This speed up LiveVariables on instcombine at -O0 -g from 0.3855s to 0.3503s. Look for more improvements in this area soon! llvm-svn: 52804
-
- May 29, 2008
-
-
Bill Wendling authored
instruction to execute. This can be used for transformations (like two-address conversion) to remat an instruction instead of generating a "move" instruction. The idea is to decrease the live ranges and register pressure and all that jazz. llvm-svn: 51660
-
- May 06, 2008
-
-
Dan Gohman authored
llvm-svn: 50687
-
- Apr 16, 2008
-
-
Evan Cheng authored
llvm-svn: 49783
-
- Apr 07, 2008
-
-
Dan Gohman authored
review feedback from Chris quite a while ago. No functionality change. llvm-svn: 49348
-
- Mar 20, 2008
-
-
Chris Lattner authored
llvm-svn: 48577
-
- Mar 13, 2008
-
-
Evan Cheng authored
llvm-svn: 48311
-
- Mar 05, 2008
-
-
Evan Cheng authored
findRegisterUseOperandIdx, findRegisterDefOperandIndx. Fix some naming inconsistencies. llvm-svn: 47927
-
- Mar 04, 2008
-
-
Bill Wendling authored
llvm-svn: 47875
-
Bill Wendling authored
- Cleaned up how the prologue-epilogue inserter loops over the instructions. - Instead of restarting the processing of an instruction if we remove an implicit kill, just update the end iterator and make sure that the iterator isn't incremented. llvm-svn: 47870
-
- Mar 03, 2008
-
-
Bill Wendling authored
marking both a super- and sub-register as "killed". This removes implicit uses that are marked as "killed". llvm-svn: 47862
-
- Feb 26, 2008
-
-
Bill Wendling authored
llvm-svn: 47629
-
- Feb 24, 2008
-
-
Bill Wendling authored
%r3 on PPC) in their ASM files. However, it's hard for humans to read during debugging. Adding a new field to the register data that lets you specify a different name to be printed than the one that goes into the ASM file -- %x3 instead of %r3, for instance. llvm-svn: 47534
-
- Feb 14, 2008
-
-
Nate Begeman authored
FP Immediates, crazily enough llvm-svn: 47117
-