| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
debug information is being output, because it's leet!
llvm-svn: 52994
|
| |
|
|
| |
llvm-svn: 52992
|
| |
|
|
| |
llvm-svn: 52980
|
| |
|
|
| |
llvm-svn: 52976
|
| |
|
|
| |
llvm-svn: 52971
|
| |
|
|
|
|
| |
and mark it const along with the associated changes to TargetRegisterInfo.
llvm-svn: 52966
|
| |
|
|
|
|
| |
being suppressed here.
llvm-svn: 52952
|
| |
|
|
|
|
|
|
| |
with a hashtable-based
version that is computed by tblgen at the time LLVM is compiled.
llvm-svn: 52945
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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: 52932
|
| |
|
|
| |
llvm-svn: 52929
|
| |
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
'section kind' for a global.
llvm-svn: 52868
|
| |
|
|
| |
llvm-svn: 52866
|
| |
|
|
| |
llvm-svn: 52865
|
| |
|
|
| |
llvm-svn: 52864
|
| |
|
|
| |
llvm-svn: 52863
|
| |
|
|
| |
llvm-svn: 52862
|
| |
|
|
| |
llvm-svn: 52861
|
| |
|
|
| |
llvm-svn: 52860
|
| |
|
|
| |
llvm-svn: 52859
|
| |
|
|
|
|
| |
printer. This leads to some code duplication, which will be resolved later.
llvm-svn: 52858
|
| |
|
|
| |
llvm-svn: 52857
|
| |
|
|
| |
llvm-svn: 52856
|
| |
|
|
| |
llvm-svn: 52836
|
| |
|
|
|
|
| |
Patch by Gary Benson!
llvm-svn: 52828
|
| |
|
|
|
|
|
|
| |
faster lookups.
This speeds up LiveVariables from 0.6279s to 0.6165s on kimwitu++.
llvm-svn: 52818
|
| |
|
|
|
|
| |
Patch by Hasso Tepper!
llvm-svn: 52781
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
<16 x float> is 64-byte aligned (for some reason),
which gets us into the stack realignment code. The
computation changing FP-relative offsets to SP-relative
was broken, assiging a spill temp to a location
also used for parameter passing. This
fixes it by rounding up the stack frame to a multiple
of the largest alignment (I concluded it wasn't fixable
without doing this, but I'm not very sure.)
llvm-svn: 52750
|
| |
|
|
|
|
|
|
| |
shift.
- Add a readme entry for a missing vector_shuffle optimization that results in
awful codegen.
llvm-svn: 52740
|
| |
|
|
|
|
|
| |
InvalidateInstructionCache method instead of calling through
a hook on the JIT. This is a host feature, not a target feature.
llvm-svn: 52734
|
| |
|
|
| |
llvm-svn: 52725
|
| |
|
|
|
|
| |
the base SDNode's VTList.
llvm-svn: 52722
|
| |
|
|
|
|
|
|
| |
Added abstract class MemSDNode for any Node that have an associated MemOperand
Changed atomic.lcs => atomic.cmp.swap, atomic.las => atomic.load.add, and
atomic.lss => atomic.load.sub
llvm-svn: 52706
|
| |
|
|
| |
llvm-svn: 52701
|
| |
|
|
|
|
|
| |
load,store,call,return,bitcast. This is enough to
make call and return work.
llvm-svn: 52691
|
| |
|
|
|
|
| |
instead of using the longer MOV32ri instruction.
llvm-svn: 52670
|
| |
|
|
| |
llvm-svn: 52663
|
| |
|
|
|
|
|
| |
general solution possible, but it's a fairly simple one.
Based on a patch from the OpenGTL project!
llvm-svn: 52662
|
| |
|
|
| |
llvm-svn: 52613
|
| |
|
|
| |
llvm-svn: 52594
|
| |
|
|
|
|
|
|
|
|
| |
shuffle could be skipped. The check is invalid because the loop index i
doesn't correspond to the element actually inserted. The correct check is
already done a few lines earlier, for whether the element is already in
the right spot, so this shouldn't have any effect on the codegen for
code that was already correct.
llvm-svn: 52486
|
| |
|
|
| |
llvm-svn: 52478
|
| |
|
|
| |
llvm-svn: 52454
|
| |
|
|
| |
llvm-svn: 52439
|