| Commit message (Collapse) | Author | Age | Files | Lines | 
| | 
| 
| 
| 
| 
|  | 
source tree.
llvm-svn: 53001
 | 
| | 
| 
| 
| 
| 
|  | 
conversions to std::string.
llvm-svn: 52995
 | 
| | 
| 
| 
| 
| 
|  | 
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: 52983
 | 
| | 
| 
| 
|  | 
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: 52980
 | 
| | 
| 
| 
| 
| 
|  | 
Thanks for the feedback!
llvm-svn: 52978
 | 
| | 
| 
| 
|  | 
llvm-svn: 52976
 | 
| | 
| 
| 
|  | 
llvm-svn: 52975
 | 
| | 
| 
| 
|  | 
llvm-svn: 52971
 | 
| | 
| 
| 
|  | 
llvm-svn: 52970
 | 
| | 
| 
| 
|  | 
llvm-svn: 52967
 | 
| | 
| 
| 
| 
| 
|  | 
and mark it const along with the associated changes to TargetRegisterInfo.
llvm-svn: 52966
 | 
| | 
| 
| 
| 
| 
|  | 
being suppressed here.
llvm-svn: 52952
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
unreachable.
This fixes PR2503, though we should also fix other passes not to emit this kind of code.
llvm-svn: 52946
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
with a hashtable-based
version that is computed by tblgen at the time LLVM is compiled.
llvm-svn: 52945
 | 
| | 
| 
| 
|  | 
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: 52932
 | 
| | 
| 
| 
|  | 
llvm-svn: 52931
 | 
| | 
| 
| 
|  | 
llvm-svn: 52930
 | 
| | 
| 
| 
|  | 
llvm-svn: 52929
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
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
 | 
| | 
| 
| 
|  | 
llvm-svn: 52925
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
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
 | 
| | 
| 
| 
|  | 
llvm-svn: 52923
 | 
| | 
| 
| 
| 
| 
|  | 
objects.  Fixes a couple of tests on Linux.
llvm-svn: 52921
 | 
| | 
| 
| 
|  | 
llvm-svn: 52920
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
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
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
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
 | 
| | 
| 
| 
|  | 
llvm-svn: 52907
 | 
| | 
| 
| 
| 
| 
| 
|  | 
fixes CodeGen/PowerPC/2008-06-19-LegalizerCrash.ll
when using the new LegalizeTypes infrastructure.
llvm-svn: 52903
 | 
| | 
| 
| 
| 
| 
| 
|  | 
wrong for types like x86 long double and i1, but
no worse than what is done in LegalizeDAG.
llvm-svn: 52898
 | 
| | 
| 
| 
|  | 
llvm-svn: 52895
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
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
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
empty string for ConstantAggregateZero case which surprises selectiondag.
- Correctly handle memcpy from constant string which is zero-initialized.
llvm-svn: 52891
 | 
| | 
| 
| 
|  | 
llvm-svn: 52887
 | 
| | 
| 
| 
|  | 
llvm-svn: 52885
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
Move GetConstantStringInfo to lib/Analysis. Remove
string output routine from Constant. Update all
callers. Change debug intrinsic api slightly to
accomodate move of routine, these now return values
instead of strings.
This unbreaks llvm-gcc bootstrap.
llvm-svn: 52884
 | 
| | 
| 
| 
| 
| 
|  | 
'section kind' for a global.
llvm-svn: 52868
 | 
| | 
| 
| 
|  | 
llvm-svn: 52866
 | 
| | 
| 
| 
|  | 
llvm-svn: 52865
 |