- Jul 02, 2008
-
-
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
-
Evan Cheng authored
llvm-svn: 52933
-
Dan Gohman authored
llvm-svn: 52931
-
Evan Cheng authored
llvm-svn: 52930
-
Dan Gohman authored
llvm-svn: 52929
-
- Jun 30, 2008
-
-
Dan Gohman authored
SelectionDAG::allnodes_size is linear, but that doesn't appear to outweigh the benefit of reducing heap traffic. If it does become a problem, we should teach SelectionDAG to keep a count of how many nodes are live, because there are several other places where that information would be useful as well. llvm-svn: 52926
-
Dan Gohman authored
purpose, and give it a custom SDNode subclass so that it doesn't need to have line number, column number, filename string, and directory string, all existing as individual SDNodes to be the operands. This was the only user of ISD::STRING, StringSDNode, etc., so remove those and some associated code. This makes stop-points considerably easier to read in -view-legalize-dags output, and reduces overhead (creating new nodes and copying std::strings into them) on code containing debugging information. llvm-svn: 52924
-
Evan Cheng authored
llvm-svn: 52923
-
Dale Johannesen authored
objects. Fixes a couple of tests on Linux. llvm-svn: 52921
-
Evan Cheng authored
llvm-svn: 52920
-
Dan Gohman authored
SmallVectors. Change the signature of TargetLowering::LowerArguments to avoid returning a vector by value, and update the two targets which still use this directly, Sparc and IA64, accordingly. llvm-svn: 52917
-
Dan Gohman authored
only needs one bit for each register. UsedRegs is a SmallVector sized at 16, so this eliminates a heap allocation/free for every call and return processed by Legalize on most targets. llvm-svn: 52915
-
Duncan Sands authored
fixes CodeGen/PowerPC/2008-06-19-LegalizerCrash.ll when using the new LegalizeTypes infrastructure. llvm-svn: 52903
-
Duncan Sands authored
wrong for types like x86 long double and i1, but no worse than what is done in LegalizeDAG. llvm-svn: 52898
-
Duncan Sands authored
llvm-svn: 52895
-
Duncan Sands authored
it impossible to create a MERGE_VALUES node with only one result: sometimes it is useful to be able to create a node with only one result out of one of the results of a node with more than one result, for example because the new node will eventually be used to replace a one-result node using ReplaceAllUsesWith, cf X86TargetLowering::ExpandFP_TO_SINT. On the other hand, most users of MERGE_VALUES don't need this and for them the optimization was valuable. So add a new utility method getMergeValues for creating MERGE_VALUES nodes which by default performs the optimization. Change almost everywhere to use getMergeValues (and tidy some stuff up at the same time). llvm-svn: 52893
-
Evan Cheng authored
- Re-apply 52748 and friends with fix. GetConstantStringInfo() returns an empty string for ConstantAggregateZero case which surprises selectiondag. - Correctly handle memcpy from constant string which is zero-initialized. llvm-svn: 52891
-
Chris Lattner authored
llvm-svn: 52887
-