Chris Lattner
276f4b5235
Simplify interpreter construction.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28826 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-16 18:08:38 +00:00
Chris Lattner
7c1fb5f08c
Document the subtarget features better, make sure that 64-bit mode, 64-bit
...
support, and 64-bit register use are all consistent with each other.
Add a new "IsPPC" feature, to distinguish ppc32 vs ppc64 targets, use this
to configure TargetData differently. This not makes ppc64 blow up on lots
of stuff :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28825 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-16 17:50:12 +00:00
Chris Lattner
a7a5854f1c
Rename some subtarget features. A CPU now can *have* 64-bit instructions,
...
can in 32-bit mode we can choose to optionally *use* 64-bit registers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28824 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-16 17:34:12 +00:00
Chris Lattner
6557f18689
apple's compiler works too
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28823 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-16 17:20:33 +00:00
Jim Laskey
5f7a8d4135
PR# not associated with XFAIL
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28822 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-16 16:57:43 +00:00
Jim Laskey
30d02500ff
debug info is alive again
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28821 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-16 16:50:24 +00:00
Chris Lattner
88a96252ee
This test isn't implemented yet
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28820 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-16 16:36:50 +00:00
Andrew Lenharth
c269c5269a
Add a error message to cbu to match bu
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28819 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-16 14:43:36 +00:00
Andrew Lenharth
73a38a9071
move header
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28818 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-16 14:33:53 +00:00
Jim Laskey
76a015e3dc
add decimal form of LLVMDebugVersion
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28817 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-16 13:45:38 +00:00
Jim Laskey
7089f45987
1. Revise vector debug support.
...
2. Update docs for vector debug support and new version control.
3. Simplify serialization of DebugDescInfo subclasses.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28816 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-16 13:14:03 +00:00
Evan Cheng
21abac2757
More libcall transformations:
...
printf("%s\n", str) -> puts(str)
printf("%c", c) -> putchar(c)
Also fixed fprintf(file, "%c", c) -> fputc(c, file)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28815 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-16 08:36:35 +00:00
Evan Cheng
952895243e
Simplify fprintf(file, "%s", str) to fputs(str, file).
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28814 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-16 04:52:30 +00:00
Chris Lattner
94de9a8951
First baby step towards ppc64 support. This adds a new -march=ppc64 backend
...
that is currently just like ppc32 :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28813 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-16 01:37:27 +00:00
Chris Lattner
1127315562
Fix Regression/Linker/2006-06-15-GlobalVarAnment.ll
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28812 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-16 01:24:04 +00:00
Chris Lattner
76591ca1eb
New testcase, the linker is not merging alignments right.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28811 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-16 01:20:58 +00:00
Reid Spencer
dc6830ff25
Only print the stack trace if it was requested. Previously, any call into
...
the Signals module that registered the handlers would cause the stack trace
to be generated. Now, you must explicitly call PrintStackTraceOnErrorSignal
in order for that to happen.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28810 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-16 00:00:57 +00:00
Chris Lattner
44500e3d53
Teach the local allocator to know that live-in values (e.g. arguments) are
...
live at function entry. This prevents it from using arg registers for other
purposes before the arguments are used.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28809 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-15 22:21:53 +00:00
Chris Lattner
8e173de059
Add a note that Nate noticed.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28808 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-15 21:33:31 +00:00
Jim Laskey
f8a01a9661
1. Support standard dwarf format (was bootstrapping in Apple format.)
...
2. Add vector support.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28807 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-15 20:51:43 +00:00
Jim Laskey
d5a932b92a
Was pointed out that structure alignment and type alignment are not the same
...
thing. Doubles still need to be special cased.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28806 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-15 19:37:14 +00:00
Jim Laskey
e4808ed44a
Make sure global doubles and vectors are aligned properly.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28805 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-15 19:35:07 +00:00
Chris Lattner
1f2d22ab94
Add some more matcher classes for shifts.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28804 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-15 19:25:28 +00:00
Chris Lattner
afe91a5f26
Implement Transforms/InstCombine/bswap.ll, turning common shift/and/or bswap
...
idioms into bswap intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28803 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-15 19:07:26 +00:00
Chris Lattner
c0ea2335f3
new testcase, instcombine should turn these into llvm.bswap intrinsics.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28802 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-15 19:06:42 +00:00
Chris Lattner
9ec2c3d455
Fix building on case-sensitive file systems, grr :)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28801 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-15 17:31:22 +00:00
Reid Spencer
68464b74b8
Actually add instructions to the list of defined values so it gets
...
recognized as such! This prevents the CppWriter from treating every
operand as a forward reference and making a mess of the output.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28800 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-15 16:09:59 +00:00
Jim Laskey
35f8c208a9
Alignment of globals has not been quite right. Needed to drop the pointer type
...
to get the alignment of the element type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28799 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-15 13:10:58 +00:00
Evan Cheng
31f7be9fb7
Vector extract / insert index operand should have ptr type.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28798 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-15 08:19:05 +00:00
Evan Cheng
a7dc4a59cb
Type of extract_element index operand should be iPTR.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28797 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-15 08:18:06 +00:00
Evan Cheng
015188ffbc
Type of vector extract / insert index operand should be iPTR.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28796 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-15 08:14:54 +00:00
Evan Cheng
a844126c43
Consistency. EXTRACT_ELEMENT index operand should have ptr type.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28795 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-15 08:11:54 +00:00
Evan Cheng
a9767f6218
Assert. Rather than silently stop printing.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28794 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-15 08:10:56 +00:00
Evan Cheng
f4432fac14
Avoid undesirable behavior when assert is not enabled.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28793 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-15 08:10:27 +00:00
Evan Cheng
8d3af5e7d0
Instructions with variable operands (variable_ops) can have a number required
...
operands. e.g.
def CALL32r : I<0xFF, MRM2r, (ops GR32:$dst, variable_ops),
"call {*}$dst", [(X86call GR32:$dst)]>;
TableGen should emit operand informations for the "required" operands.
Added a target instruction info flag M_VARIABLE_OPS to indicate the target
instruction may have more operands in addition to the minimum required
operands.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28791 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-15 07:22:16 +00:00
Evan Cheng
d7c2c86239
Allow more use of iPTR in patterns.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28790 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-15 00:16:37 +00:00
Evan Cheng
fae2994302
X86 call instructions can take variable number of operands. Parameters of
...
vector types are passed via XMM registers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28789 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-14 22:24:55 +00:00
Evan Cheng
e945f4d3d4
Added support for variable_ops.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28788 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-14 22:22:20 +00:00
Chris Lattner
4b5a352f25
add a note
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28787 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-14 21:26:18 +00:00
Chris Lattner
ca0173bc0a
new testcase, not currently working.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28786 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-14 21:24:57 +00:00
Evan Cheng
bc6b86a89e
Fix support for optional input flag.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28784 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-14 19:27:50 +00:00
Evan Cheng
b69d113201
Add argument registers to the end of call operand list (partial fix).
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28783 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-14 18:17:40 +00:00
Jim Laskey
ed4e566dda
Change versioning to per debug info descriptor (merged with tag.)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28782 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-14 14:45:39 +00:00
Jim Laskey
014f98c7e5
Place dwarf headers at earliest possible point. Well behaved when skipping
...
functions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28781 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-14 11:35:03 +00:00
Chris Lattner
f7a1212850
Fix Transforms/LoopUnswitch/2006-06-13-SingleEntryPHI.ll, a loop unswitch
...
bug exposed by the recent lcssa work.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28779 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-14 04:46:17 +00:00
Chris Lattner
2c54676d70
new testcase, distilled from povray
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28778 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-14 04:45:45 +00:00
Owen Anderson
90245d4cbb
When asked not to delete useless PHIs, really don't delete them, no matter how
...
redundant they are.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28777 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-14 04:43:14 +00:00
Chris Lattner
13a68e4257
Use the PotDoms map to memoize 'dominating value' lookup. With this patch,
...
LCSSA is still the slowest pass when gccas'ing 252.eon, but now it only takes
39s instead of 289s. :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28776 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-14 01:13:57 +00:00
Evan Cheng
50c997e26a
getOperandNum(): error if specified operand number is out of range.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28775 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-13 21:47:27 +00:00
Owen Anderson
8b92d0cae1
Fix another instance where PHI nodes need special treatment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28774 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-13 20:50:09 +00:00