| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
result of the comparison libcall against zero.
llvm-svn: 33701
|
| |
|
|
|
|
| |
confusion with external linkage types.
llvm-svn: 33663
|
| |
|
|
|
|
|
|
| |
This doesn't do the "right thing" but will probably work in most cases.
This implements CodeGen/PowerPC/2007-01-29-lbrx-asm.ll.
llvm-svn: 33643
|
| |
|
|
| |
llvm-svn: 33641
|
| |
|
|
| |
llvm-svn: 33639
|
| |
|
|
|
|
| |
address nodes.
llvm-svn: 33636
|
| |
|
|
| |
llvm-svn: 33629
|
| |
|
|
| |
llvm-svn: 33628
|
| |
|
|
| |
llvm-svn: 33625
|
| |
|
|
| |
llvm-svn: 33622
|
| |
|
|
|
|
|
|
| |
functions like memcpy, memmove and memset. Ensure only one prototype is
used for these functions and that it matches the system definition by
using the appropriate type for the size argument.
llvm-svn: 33618
|
| |
|
|
|
|
|
| |
Force memcpy to be the 32-bit variant. Since this is only used with
CBE and lli which both target 32-bit machines, this should be okay.
llvm-svn: 33608
|
| |
|
|
|
|
| |
numbering somehow? E.g. make return argument the last?
llvm-svn: 33606
|
| |
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 33573
|
| |
|
|
|
|
| |
scattered relocations.
llvm-svn: 33555
|
| |
|
|
| |
llvm-svn: 33552
|
| |
|
|
|
|
| |
for debugging and exception handling.
llvm-svn: 33550
|
| |
|
|
| |
llvm-svn: 33537
|
| |
|
|
| |
llvm-svn: 33536
|
| |
|
|
|
|
| |
rounding the stack frame to a multiple of stack alignment.
llvm-svn: 33504
|
| |
|
|
|
|
| |
2. Clean up end of lines.
llvm-svn: 33499
|
| |
|
|
| |
llvm-svn: 33498
|
| |
|
|
|
|
| |
by value so that clean up is less confusing (these vectors tend to be small.)
llvm-svn: 33488
|
| |
|
|
| |
llvm-svn: 33485
|
| |
|
|
|
|
| |
Writer" for the pass name.
llvm-svn: 33483
|
| |
|
|
| |
llvm-svn: 33482
|
| |
|
|
| |
llvm-svn: 33478
|
| |
|
|
|
|
| |
the stack. Each target can further adjust the frame size if necessary.
llvm-svn: 33460
|
| |
|
|
| |
llvm-svn: 33457
|
| |
|
|
| |
llvm-svn: 33454
|
| |
|
|
| |
llvm-svn: 33449
|
| |
|
|
|
|
|
| |
Clean up handling of isFloatingPoint() and dealing with PackedType.
Patch by Gordon Henriksen!
llvm-svn: 33415
|
| |
|
|
|
|
| |
these alignment amounts to align scalars when we can. Patch by Scott Michel!
llvm-svn: 33409
|
| |
|
|
| |
llvm-svn: 33398
|
| |
|
|
| |
llvm-svn: 33396
|
| |
|
|
|
|
| |
emitPrologue(). Each target can make adjustments to the stack frame and re-align the stack as it deem appropriate. Do not align it twice which can end up wasting stack space.
llvm-svn: 33387
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
rejected during its quest to find a suitable reload register. This avoids an infinite loop in case like this:
t1 := op t2, t3
t2 <- assigned r0 for use by the reload but ended up reuse r1
t3 <- assigned r1 for use by the reload but ended up reuse r0
t1 <- desires r1
sees r1 is taken by t2, tries t2's reload register r0
sees r0 is taken by t3, tries t3's reload register r1
sees r1 is taken by t2, tries t2's reload register r0 ...
llvm-svn: 33382
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
| |
(shl (add x, c1), c2) -> (add (shl x, c2), c1<<c2)
Replace it with:
(add (shl (add x, c1), c2), ) -> (add (add (shl x, c2), c1<<c2), )
This fixes test/CodeGen/ARM/smul.ll
llvm-svn: 33361
|
| |
|
|
| |
llvm-svn: 33316
|
| |
|
|
| |
llvm-svn: 33314
|
| |
|
|
|
|
| |
writers.
llvm-svn: 33311
|
| |
|
|
| |
llvm-svn: 33298
|
| |
|
|
| |
llvm-svn: 33289
|
| |
|
|
|
|
|
| |
careful when folding "c ? load p : load q" that C doesn't reach either load.
If so, folding this into load (c ? p : q) will induce a cycle in the graph.
llvm-svn: 33251
|
| |
|
|
| |
llvm-svn: 33249
|
| |
|
|
|
|
|
|
| |
LLVM would miscompile ASM dialects when compiling for PPC. Added dialects for
the X86 and PPC backends. It defaults to "0", the first variant of a compound
inline asm expression.
llvm-svn: 33246
|
| |
|
|
|
|
|
|
|
| |
rename Type::getIntegralTypeMask to Type::getIntegerTypeMask.
This makes naming much more consistent. For example, there are now no longer any
instances of IntegerType that are not considered isInteger! :)
llvm-svn: 33225
|