| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
Patch by Sterling Stein!
llvm-svn: 41758
|
|
|
|
|
|
| |
changing the interface to allow for future changes.
llvm-svn: 41384
|
|
|
|
|
|
|
|
| |
(constants are still not handled). Adds ConvertActions
to control fp-to-fp conversions (these are currently
defaulted for all other targets, so no changes there).
llvm-svn: 40958
|
|
|
|
|
|
|
|
|
|
|
| |
updating it with calls to setIndexedLoadAction/setIndexedStoreAction,
which only update a few bits at a time. This avoids ostensible
undefined behavior of operationg on values which may be
trap-representations, and as a practical matter fixes errors from
valgrind, which doesn't track uninitialized memory with bit
granularity.
llvm-svn: 38468
|
|
|
|
|
|
|
|
|
|
|
|
| |
illegal value type will be transformed to, for code that needs the
register type after all transformations instead of just after the first
transformation.
Factor out the code that uses this information to do copy-from-regs and
copy-to-regs for various purposes into separate functions so that they
are done consistently.
llvm-svn: 37781
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
extended vector types. Remove the special SDNode opcodes used for pre-legalize
vector operations, and the special MVT::Vector type used with them. Adjust
lowering and legalize to work with the normal SDNode kinds instead, and to
use the normal MVT functions to work with vector types instead of using the
two special operands that the pre-legalize nodes held.
This allows pre-legalize and post-legalize DAGs, and the code that operates
on them, to be more consistent. Pre-legalize vector operators can be handled
more consistently with scalar operators. And, -view-dag-combine1-dags and
-view-legalize-dags now look prettier for vector code.
llvm-svn: 37719
|
|
|
|
|
|
|
|
|
| |
TargetLowering to SelectionDAG so that they have more convenient
access to the current DAG, in preparation for the ValueType routines
being changed from standalone functions to members of SelectionDAG for
the pre-legalize vector type changes.
llvm-svn: 37704
|
|
|
|
| |
llvm-svn: 37688
|
|
|
|
|
|
|
| |
TargetLowering::getNumRegisters and similar, to avoid confusion with
the actual number of elements for vector types.
llvm-svn: 37687
|
|
|
|
| |
llvm-svn: 37362
|
|
|
|
| |
llvm-svn: 37249
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
this case, the xform introduces an extra operation). This compiles
PowerPC/compare-duplicate.ll into:
_test:
subf r2, r3, r4
cmplw cr0, r2, r3
bne cr0, LBB1_2 ;F
instead of:
_test:
slwi r2, r3, 1
subf r3, r3, r4
cmplw cr0, r4, r2
bne cr0, LBB1_2 ;F
This is target independent of course.
llvm-svn: 37246
|
|
|
|
| |
llvm-svn: 37230
|
|
|
|
|
|
|
| |
i128 integers. The 64-bit masks are not wide enough to represent the results.
These should be converted to APInt someday.
llvm-svn: 37169
|
|
|
|
| |
llvm-svn: 37134
|
|
|
|
|
|
|
|
| |
CodeGen/PowerPC/2007-05-03-InlineAsm-S-Constraint.ll
and PR1382
llvm-svn: 36672
|
|
|
|
| |
llvm-svn: 36242
|
|
|
|
|
|
| |
wrong operand.
llvm-svn: 36223
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This compiles:
int baz(long long a) { return (short)(((int)(a >>24)) >> 9); }
into:
_baz:
srwi r2, r3, 1
extsh r3, r2
blr
on PPC, instead of:
_baz:
slwi r2, r3, 8
srwi r2, r2, 9
extsh r3, r2
blr
GCC produces:
_baz:
srwi r10,r4,24
insrwi r10,r3,24,0
srawi r9,r3,24
srawi r3,r10,9
extsh r3,r3
blr
This implements CodeGen/PowerPC/shl_elim.ll
llvm-svn: 36221
|
|
|
|
|
|
| |
target for tabs checking.
llvm-svn: 36146
|
|
|
|
| |
llvm-svn: 35941
|
|
|
|
| |
llvm-svn: 35847
|
|
|
|
| |
llvm-svn: 35840
|
|
|
|
| |
llvm-svn: 35527
|
|
|
|
| |
llvm-svn: 35520
|
|
|
|
| |
llvm-svn: 35406
|
|
|
|
|
|
| |
CodeGen/X86/2007-03-24-InlineAsmXConstraint.ll
llvm-svn: 35327
|
|
|
|
| |
llvm-svn: 35324
|
|
|
|
|
|
| |
not just the first letter. No functionality change.
llvm-svn: 35322
|
|
|
|
| |
llvm-svn: 35245
|
|
|
|
|
|
| |
instructions (that would have to be split later)
llvm-svn: 35227
|
|
|
|
|
|
| |
folded into target addressing mode for the given type.
llvm-svn: 35121
|
|
|
|
|
|
| |
legal target address immediate or scale.
llvm-svn: 35076
|
|
|
|
| |
llvm-svn: 34567
|
|
|
|
| |
llvm-svn: 34551
|
|
|
|
| |
llvm-svn: 34499
|
|
|
|
|
|
| |
test/CodeGen/PowerPC/2007-02-16-InlineAsmNConstraint.ll
llvm-svn: 34368
|
|
|
|
|
|
|
| |
Rename PackedType -> VectorType, ConstantPacked -> ConstantVector, and
PackedTyID -> VectorTyID. No functional changes.
llvm-svn: 34293
|
|
|
|
| |
llvm-svn: 34256
|
|
|
|
| |
llvm-svn: 34065
|
|
|
|
| |
llvm-svn: 33745
|
|
|
|
|
|
| |
result of the comparison libcall against zero.
llvm-svn: 33701
|
|
|
|
| |
llvm-svn: 33158
|
|
|
|
| |
llvm-svn: 33149
|
|
|
|
| |
llvm-svn: 33105
|
|
|
|
|
|
|
| |
code (both asm & cbe) for Mingw32 target.
Removed autoconf checks for underscored versions of setjmp/longjmp.
llvm-svn: 32415
|
|
|
|
| |
llvm-svn: 32394
|
|
|
|
| |
llvm-svn: 31943
|
|
|
|
|
|
| |
load / store.
llvm-svn: 31597
|
|
|
|
|
|
|
|
|
|
| |
Turn on -Wunused and -Wno-unused-parameter. Clean up most of the resulting
fall out by removing unused variables. Remaining warnings have to do with
unused functions (I didn't want to delete code without review) and unused
variables in generated code. Maintainers should clean up the remaining
issues when they see them. All changes pass DejaGnu tests and Olden.
llvm-svn: 31380
|