| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
It is an error to call APInt::zext with a size that is equal to the value's
current size, so use zextOrTrunc instead.
llvm-svn: 66039
|
|
|
|
|
|
|
|
| |
arbitrary vector sizes. Add an optional MinSplatBits parameter to specify
a minimum for the splat element size. Update the PPC target to use the
revised interface.
llvm-svn: 65899
|
|
|
|
|
|
| |
method in a BuildVectorSDNode "pseudo-class".
llvm-svn: 65747
|
|
|
|
| |
llvm-svn: 65482
|
|
|
|
| |
llvm-svn: 65427
|
|
|
|
|
|
|
|
|
| |
results via reference parameters.
This patch also appears to fix Evan's reported problem supplied as a
reduced bugpoint test case.
llvm-svn: 65426
|
|
|
|
|
|
|
| |
ashr instcombine to help expose this code. And apply the fix to
SelectionDAG's copy of this code too.
llvm-svn: 65364
|
|
|
|
|
|
|
|
|
| |
instruction. The class also consolidates the code for detecting constant
splats that's shared across PowerPC and the CellSPU backends (and might be
useful for other backends.) Also introduces SelectionDAG::getBUID_VECTOR() for
generating new BUILD_VECTOR nodes.
llvm-svn: 65296
|
|
|
|
|
|
|
|
| |
(Note: Eventually, commits like this will be handled via a pre-commit hook that
does this automagically, as well as expand tabs to spaces and look for 80-col
violations.)
llvm-svn: 64827
|
|
|
|
|
|
| |
No functional change.
llvm-svn: 64026
|
|
|
|
|
|
|
|
|
| |
Adjust derived classes to pass UnknownLoc where
a DebugLoc does not make sense. Pick one of
DebugLoc and non-DebugLoc variants to survive
for all such classes.
llvm-svn: 64000
|
|
|
|
| |
llvm-svn: 63995
|
|
|
|
|
|
|
|
|
|
|
|
| |
Many targets build placeholder nodes for special operands, e.g.
GlobalBaseReg on X86 and PPC for the PIC base. There's no
sensible way to associate debug info with these. I've left
them built with getNode calls with explicit DebugLoc::getUnknownLoc operands.
I'm not too happy about this but don't see a good improvement;
I considered adding a getPseudoOperand or something, but it
seems to me that'll just make it harder to read.
llvm-svn: 63992
|
|
|
|
|
|
|
|
| |
getCALLSEQ_{END,START} to permit passing no DebugLoc
there. UNDEF doesn't logically have DebugLoc; add
getUNDEF to encapsulate this.
llvm-svn: 63978
|
|
|
|
| |
llvm-svn: 63969
|
|
|
|
| |
llvm-svn: 63951
|
|
|
|
| |
llvm-svn: 63909
|
|
|
|
|
|
|
| |
its corresponding getTargetNode. Lots of
caller changes.
llvm-svn: 63904
|
|
|
|
| |
llvm-svn: 63889
|
|
|
|
| |
llvm-svn: 63886
|
|
|
|
|
|
| |
between a unsigned integer and signed integer.
llvm-svn: 63831
|
|
|
|
| |
llvm-svn: 63808
|
|
|
|
| |
llvm-svn: 63800
|
|
|
|
|
|
| |
Adjust callers.
llvm-svn: 63789
|
|
|
|
| |
llvm-svn: 63768
|
|
|
|
|
|
| |
Adjust the many callers of those versions.
llvm-svn: 63767
|
|
|
|
|
|
|
|
|
|
| |
support GraphViz, I've been using the foo->dump() facility. This
patch is a minor rewrite to the SelectionDAG dump() stuff to make it a
little more helpful. The existing foo->dump() functionality does not
change; this patch adds foo->dumpr(). All of this is only useful when
running LLVM under a debugger.
llvm-svn: 63736
|
|
|
|
|
|
| |
of Lod and Sto; patch uses.
llvm-svn: 63716
|
|
|
|
|
|
| |
functions, with callers adjusted to fit.
llvm-svn: 63705
|
|
|
|
|
|
| |
functions.
llvm-svn: 63703
|
|
|
|
|
|
| |
from SelectionDagBuild.
llvm-svn: 63680
|
|
|
|
|
|
| |
have it yet. More coming.
llvm-svn: 63673
|
|
|
|
|
|
| |
Duncan spotted this. Thanks!
llvm-svn: 63641
|
|
|
|
| |
llvm-svn: 63595
|
|
|
|
|
|
| |
into SimplifySetCC which gets called elsewhere.
llvm-svn: 63583
|
|
|
|
|
|
|
|
| |
information. This eliminates the need for the Flags field in MemSDNode,
so this makes LoadSDNode and StoreSDNode smaller. Also, it makes
FoldingSetNodeIDs for loads and stores two AddIntegers smaller.
llvm-svn: 63577
|
|
|
|
| |
llvm-svn: 63545
|
|
|
|
|
|
|
|
|
| |
crashes or wrong code with codegen of large integers:
eliminate the legacy getIntegerVTBitMask and
getIntegerVTSignBit methods, which returned their
value as a uint64_t, so couldn't handle huge types.
llvm-svn: 63494
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
returned by getShiftAmountTy may be too small
to hold shift values (it is an i8 on x86-32).
Before and during type legalization, use a large
but legal type for shift amounts: getPointerTy;
afterwards use getShiftAmountTy, fixing up any
shift amounts with a big type during operation
legalization. Thanks to Dan for writing the
original patch (which I shamelessly pillaged).
llvm-svn: 63482
|
|
|
|
|
|
| |
when A==B, -0.0 != +0.0.
llvm-svn: 63474
|
|
|
|
|
|
| |
argument. Adjust all callers and overloaded versions.
llvm-svn: 63444
|
|
|
|
| |
llvm-svn: 63442
|
|
|
|
| |
llvm-svn: 63434
|
|
|
|
| |
llvm-svn: 63433
|
|
|
|
|
|
|
| |
the element indices may be equal if either one is not a
constant.
llvm-svn: 63311
|
|
|
|
|
|
| |
change.
llvm-svn: 63301
|
|
|
|
|
|
|
|
|
| |
- Modify TableGen to add the DebugLoc when calling getTargetNode.
(The light-weight wrappers are only temporary. The non-DebugLoc version will be
removed once the whole debug info stuff is finished with.)
llvm-svn: 63273
|
|
|
|
|
|
| |
functions. Currently omitted: memcpy, memmove, memset.
llvm-svn: 63259
|
|
|
|
| |
llvm-svn: 63245
|
|
|
|
|
|
|
| |
classes (those that reasonably have a DebugLoc
associated with them).
llvm-svn: 63236
|