- Jul 07, 2008
-
-
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
-
Dan Gohman authored
llvm-svn: 53050
-
- Jul 02, 2008
-
-
Owen Anderson authored
TwoAddressInstructionPass doesn't really require LiveVariables, it just needs to update it if it's already around. llvm-svn: 53049
-
Duncan Sands authored
to be passed the list of value types, and use this where appropriate. Inappropriate places are where the value type list is already known and may be long, in which case the existing method is more efficient. llvm-svn: 53035
-
Mon P Wang authored
have different alignment by creating a stack slot with the max alignment of source and target type. llvm-svn: 53031
-
Chris Lattner authored
The dag combiner can produce a shift of i1 when folding icmp i1's. llvm-svn: 53030
-
Duncan Sands authored
llvm-svn: 53012
-
Duncan Sands authored
This makes sure that all new nodes are expunged, not just those the top node of a new subtree. llvm-svn: 53011
-
Evan Cheng authored
- Code clean up. llvm-svn: 53010
-
Chris Lattner authored
Solanki! llvm-svn: 53008
-
Bill Wendling authored
llvm-svn: 53003
-
Bill Wendling authored
llvm-svn: 53001
-
Bill Wendling authored
debug information is being output, because it's leet! llvm-svn: 52994
-
Evan Cheng authored
llvm-svn: 52992
-
Owen Anderson authored
much more cheaply. llvm-svn: 52990
-
Evan Cheng authored
llvm-svn: 52988
-
Bill Wendling authored
- Don't use GlobalVariable::LinkageTypes when unsigned works. llvm-svn: 52987
-
- Jul 01, 2008
-
-
Dale Johannesen authored
predessors of exit blocks from tail merging consideration. llvm-svn: 52985
-
Evan Cheng authored
llvm-svn: 52982
-
Owen Anderson authored
Add a version of AsmPrinter::EOL that takes a const char* so that we don't have to do as many implicit std::string constructions. Unfortunately, this doesn't appear to translate to a real speedup in practice. llvm-svn: 52981
-
Evan Cheng authored
llvm-svn: 52975
-
Evan Cheng authored
llvm-svn: 52971
-
Evan Cheng authored
llvm-svn: 52970
-
Dan Gohman authored
llvm-svn: 52944
-
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
-
Evan Cheng authored
llvm-svn: 52934
-