| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
by making it non-recursive
llvm-svn: 37629
|
|
|
|
| |
llvm-svn: 37579
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
VCONCAT_VECTORS. Use these for CopyToReg and CopyFromReg legalizing in
the case that the full register is to be split into subvectors instead
of scalars. This replaces uses of VBIT_CONVERT to present values as
vector-of-vector types in order to make whole subvectors accessible via
BUILD_VECTOR and EXTRACT_VECTOR_ELT.
This is in preparation for adding extended ValueType values, where
having vector-of-vector types is undesirable.
llvm-svn: 37569
|
|
|
|
| |
llvm-svn: 37413
|
|
|
|
| |
llvm-svn: 37230
|
|
|
|
|
|
| |
on 32-bit (or less) targets
llvm-svn: 37168
|
|
|
|
|
|
|
|
| |
Implement support for expanding a bitcast from an illegal vector type to
a legal one (e.g. 4xi32 -> 4xf32 in SSE1). This fixes PR1371 and
CodeGen/X86/2007-05-05-VecCastExpand.ll
llvm-svn: 36787
|
|
|
|
|
|
|
|
|
| |
If the operand is not already an indirect operand, spill it to a constant
pool entry or a stack slot.
This fixes PR1356 and CodeGen/X86/2007-04-27-InlineAsm-IntMemInput.ll
llvm-svn: 36536
|
|
|
|
|
|
| |
CodeGen/Generic/2007-04-14-EHSelectorCrash.ll and PR1326
llvm-svn: 36510
|
|
|
|
|
|
| |
available.
llvm-svn: 36501
|
|
|
|
| |
llvm-svn: 36290
|
|
|
|
|
|
| |
X86 32 bits.
llvm-svn: 36283
|
|
|
|
|
|
|
|
|
| |
2. Help DAGCombiner recognize zero/sign/any-extended versions of ROTR and ROTL
patterns. This was motivated by the X86/rotate.ll testcase, which should now
generate code for other platforms (and soon-to-come platforms.) Rewrote code
slightly to make it easier to read.
llvm-svn: 35605
|
|
|
|
| |
llvm-svn: 35299
|
|
|
|
|
|
| |
zext/sext/aext stuff.
llvm-svn: 35008
|
|
|
|
|
|
|
| |
the lo-reg first. This is fallout from my ppc calling conv change yesterday,
it fixes test/ExecutionEngine/2003-05-06-LivenessClobber.llx
llvm-svn: 34983
|
|
|
|
| |
llvm-svn: 34893
|
|
|
|
|
|
| |
This "fixes" PR1238.
llvm-svn: 34890
|
|
|
|
| |
llvm-svn: 34759
|
|
|
|
| |
llvm-svn: 34555
|
|
|
|
| |
llvm-svn: 34491
|
|
|
|
| |
llvm-svn: 34481
|
|
|
|
|
|
|
| |
Change use of "packed" term to "vector" in comments, strings, variable
names, etc.
llvm-svn: 34300
|
|
|
|
|
|
|
| |
Rename PackedType -> VectorType, ConstantPacked -> ConstantVector, and
PackedTyID -> VectorTyID. No functional changes.
llvm-svn: 34293
|
|
|
|
|
|
| |
Patch by Scott Michel.
llvm-svn: 34266
|
|
|
|
|
|
| |
be supported on 32-bit hosts.
llvm-svn: 34257
|
|
|
|
| |
llvm-svn: 34066
|
|
|
|
| |
llvm-svn: 33861
|
|
|
|
|
|
| |
aren't worth it.
llvm-svn: 33860
|
|
|
|
|
|
| |
time as a whole on kc++ by 11%.
llvm-svn: 33857
|
|
|
|
|
|
| |
up isel on kimwitu by 0.7%.
llvm-svn: 33853
|
|
|
|
|
|
| |
isel as a whole by 3.3%.
llvm-svn: 33809
|
|
|
|
| |
llvm-svn: 33806
|
|
|
|
|
|
|
| |
affected part is codegen of "memove" inside x86 backend. This fixes
PR1144
llvm-svn: 33752
|
|
|
|
| |
llvm-svn: 33745
|
|
|
|
|
|
| |
result of the comparison libcall against zero.
llvm-svn: 33701
|
|
|
|
|
|
| |
address nodes.
llvm-svn: 33636
|
|
|
|
| |
llvm-svn: 33605
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1. New parameter attribute called 'inreg'. It has meaning "place this
parameter in registers, if possible". This is some generalization of
gcc's regparm(n) attribute. It's currently used only in X86-32 backend.
2. Completely rewritten CC handling/lowering code inside X86 backend.
Merged stdcall + c CCs and fastcall + fast CC.
3. Dropped CSRET CC. We cannot add struct return variant for each
target-specific CC (e.g. stdcall + csretcc and so on).
4. Instead of CSRET CC introduced 'sret' parameter attribute. Setting in
on first attribute has meaning 'This is hidden pointer to structure
return. Handle it gently'.
5. Fixed small bug in llvm-extract + add new feature to
FunctionExtraction pass, which relinks all internal-linkaged callees
from deleted function to external linkage. This will allow further
linking everything together.
NOTEs: 1. Documentation will be updated soon.
2. llvm-upgrade should be improved to translate csret => sret.
Before this, there will be some unexpected test fails.
llvm-svn: 33597
|
|
|
|
|
|
| |
for debugging and exception handling.
llvm-svn: 33550
|
|
|
|
| |
llvm-svn: 33537
|
|
|
|
|
|
| |
these alignment amounts to align scalars when we can. Patch by Scott Michel!
llvm-svn: 33409
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is the final patch for this PR. It implements some minor cleanup
in the use of IntegerType, to wit:
1. Type::getIntegerTypeMask -> IntegerType::getBitMask
2. Type::Int*Ty changed to IntegerType* from Type*
3. ConstantInt::getType() returns IntegerType* now, not Type*
This also fixes PR1120.
Patch by Sheng Zhou.
llvm-svn: 33370
|
|
|
|
| |
llvm-svn: 33105
|
|
|
|
| |
llvm-svn: 32940
|
|
|
|
|
|
| |
before or'ing in the sign bit of operand 1.
llvm-svn: 32930
|
|
|
|
|
|
| |
do so.
llvm-svn: 32881
|
|
|
|
|
|
| |
Consolidate some lines of code and remove duplication.
llvm-svn: 32829
|