| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
#include dependency on Support/MathExtras.h in the header file.
llvm-svn: 53200
|
| |
|
|
| |
llvm-svn: 53197
|
| |
|
|
| |
llvm-svn: 53196
|
| |
|
|
|
|
| |
their cleanup code.
llvm-svn: 53194
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 53179
|
| |
|
|
| |
llvm-svn: 53177
|
| |
|
|
|
|
| |
Richard Osborne.
llvm-svn: 53169
|
| |
|
|
| |
llvm-svn: 53166
|
| |
|
|
|
|
| |
float value.
llvm-svn: 53165
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 53123
|
| |
|
|
|
|
| |
slow the compiler down at -O0 some 30% or more. Ooops.
llvm-svn: 53120
|
| |
|
|
| |
llvm-svn: 53110
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
254.gap failure was not due to this mod.
llvm-svn: 53068
|
| |
|
|
| |
llvm-svn: 53065
|
| |
|
|
| |
llvm-svn: 53063
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 53050
|
| |
|
|
|
|
| |
needs to update it if it's already around.
llvm-svn: 53049
|
| |
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
| |
have different alignment by creating a stack slot with the max
alignment of source and target type.
llvm-svn: 53031
|
| |
|
|
|
|
| |
The dag combiner can produce a shift of i1 when folding icmp i1's.
llvm-svn: 53030
|
| |
|
|
| |
llvm-svn: 53012
|
| |
|
|
|
|
|
| |
This makes sure that all new nodes are expunged, not
just those the top node of a new subtree.
llvm-svn: 53011
|
| |
|
|
|
|
| |
- Code clean up.
llvm-svn: 53010
|
| |
|
|
|
|
| |
Solanki!
llvm-svn: 53008
|
| |
|
|
| |
llvm-svn: 53003
|
| |
|
|
|
|
| |
source tree.
llvm-svn: 53001
|
| |
|
|
|
|
| |
debug information is being output, because it's leet!
llvm-svn: 52994
|
| |
|
|
| |
llvm-svn: 52992
|
| |
|
|
|
|
| |
much more cheaply.
llvm-svn: 52990
|
| |
|
|
| |
llvm-svn: 52988
|
| |
|
|
|
|
| |
- Don't use GlobalVariable::LinkageTypes when unsigned works.
llvm-svn: 52987
|
| |
|
|
|
|
|
| |
predessors of exit blocks from tail merging
consideration.
llvm-svn: 52985
|
| |
|
|
| |
llvm-svn: 52982
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 52975
|
| |
|
|
| |
llvm-svn: 52971
|
| |
|
|
| |
llvm-svn: 52970
|
| |
|
|
| |
llvm-svn: 52944
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 52934
|
| |
|
|
| |
llvm-svn: 52933
|
| |
|
|
| |
llvm-svn: 52931
|