- Jul 09, 2008
-
-
Dan Gohman authored
parent is non-null. It now always is. llvm-svn: 53263
-
Dan Gohman authored
llvm-svn: 53262
-
Dan Gohman authored
available to getAtomic in addition to just getLoad and getStore, to prevent MachineMemOperands with 0 alignment. llvm-svn: 53261
-
Owen Anderson authored
Fix the build. Apparently MachineInstr& is no longer implicitly convertable to MachineBasicBlock::iterator. llvm-svn: 53260
-
Owen Anderson authored
rather than depending on LiveVariables. This decreases compile time from: 0.5909s (LV + Regalloc) to 0.421s (just regalloc). llvm-svn: 53256
-
- Jul 08, 2008
-
-
Dale Johannesen authored
llvm-svn: 53253
-
Evan Cheng authored
Do not CSE DEBUG_LOC, DBG_LABEL, DBG_STOPPOINT, DECLARE, and EH_LABEL SDNode's. This improves compile time slightly at -O0 -g. llvm-svn: 53246
-
Duncan Sands authored
soft float: experiments show that targets aren't expecting this for results or for operands. Add support select/select_cc result soft float and correct operand soft float for these. llvm-svn: 53245
-
Duncan Sands authored
in LegalizeTypes. llvm-svn: 53244
-
Evan Cheng authored
llvm-svn: 53237
-
Duncan Sands authored
soft float. llvm-svn: 53231
-
Evan Cheng authored
llvm-svn: 53215
-
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
-
Dan Gohman authored
and reused across SelectionDAGs. This drastically reduces the number of calls to malloc/free made during instruction selection, and improves memory locality. llvm-svn: 53211
-
- Jul 07, 2008
-
-
Bill Wendling authored
llvm-svn: 53206
-
Bill Wendling authored
llvm-svn: 53202
-
Dan Gohman authored
properly track dead nodes that are on the original SDNode's operand list but not the new one, and have no other uses. llvm-svn: 53201
-
Dan Gohman authored
#include dependency on Support/MathExtras.h in the header file. llvm-svn: 53200
-
Dan Gohman authored
llvm-svn: 53197
-
Dan Gohman authored
llvm-svn: 53196
-
Dan Gohman authored
their cleanup code. llvm-svn: 53194
-
Dan Gohman authored
simple const SDOperand*, which is what's usually needed. For AddNodeIDOperands, which is small, just duplicate the function to accept an SDUse*. For SelectionDAG::getNode - Add an overload that accepts SDUse* that copies the operands into a temporary SDOperand array, but also has special-case checks for 0 through 3 operands to avoid the copy in the common cases. llvm-svn: 53183
-
Dan Gohman authored
llvm-svn: 53179
-
Dan Gohman authored
llvm-svn: 53177
-
Evan Cheng authored
llvm-svn: 53169
-
Bill Wendling authored
llvm-svn: 53166
-
Duncan Sands authored
float value. llvm-svn: 53165
-
- Jul 05, 2008
-
-
Mon P Wang authored
that fixed problems in EmitStackConvert where the source and target type have different alignment by creating a stack slot with the max alignment of source and target type. llvm-svn: 53150
-
- Jul 04, 2008
-
-
Duncan Sands authored
hook for each way in which a result type can be legalized (promotion, expansion, softening etc), just use one: ReplaceNodeResults, which returns a node with exactly the same result types as the node passed to it, but presumably with a bunch of custom code behind the scenes. No change if the new LegalizeTypes infrastructure is not turned on. llvm-svn: 53137
-
Duncan Sands authored
moves in order to get correct debug info. Since I can't imagine how any target could possibly be any different, I've just stripped out the option: now all the world's like Darwin! llvm-svn: 53134
-
Bill Wendling authored
llvm-svn: 53123
-
Bill Wendling authored
slow the compiler down at -O0 some 30% or more. Ooops. llvm-svn: 53120
-
- Jul 03, 2008
-
-
Evan Cheng authored
llvm-svn: 53110
-
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: 53065
-
Evan Cheng authored
llvm-svn: 53063
-
Evan Cheng authored
- Add LiveVariables::replaceKillInstruction. This does a subset of instructionChanged. That is, it only update the VarInfo.kills if the new instruction is known to have the correct dead and kill markers. - CommuteInstruction copies kill / dead markers over to new instruction. So use replaceKillInstruction instead. llvm-svn: 53061
-
Owen Anderson authored
Make LiveVariables even more optional, by making it optional in the call to TargetInstrInfo::convertToThreeAddressInstruction Also, if LV isn't around, then TwoAddr doesn't need to be updating flags, since they won't have been set in the first place. llvm-svn: 53058
-
Dan Gohman authored
SelectionDAG::SelectNodeTo in the instruction selector. This updates existing nodes in place instead of creating new ones. Go back to selecting ISD::DBG_LABEL nodes into TargetInstrInfo::DBG_LABEL nodes instead of leaving them unselected, now that SelectNodeTo allows us to update them in place. llvm-svn: 53057
-