Chris Lattner
b2c0650ad3
Fix encoding of rotates, such as rldicl
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29128 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-12 22:08:13 +00:00
Chris Lattner
981418bf15
Handle instructions in the map, but that map to a null pointer.
...
This unbreaks smg2000.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29127 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-12 21:37:11 +00:00
Owen Anderson
bcfb913df0
IndVars now (correctly) preserves LCSSA form.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29126 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-12 21:29:14 +00:00
Chris Lattner
3bc8a765a9
Implement PPC64 relocations types
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29125 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-12 21:23:20 +00:00
Chris Lattner
3d6721a4a1
An overaggressive #ifdef allows a function to fall off the bottom of the
...
function instead of returning a value. This sometimes allowed the ppc32 jit
to be used in 64-bit mode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29123 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-12 20:42:10 +00:00
Jim Laskey
ed393433d2
Move base value of instruction to lookup table to prepare for case reduction.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29122 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-12 19:15:43 +00:00
Chris Lattner
1bb3a40257
In addition to deleting calls, the inliner can constant fold them as well.
...
Handle this case, which doesn't require a new callgraph edge. This fixes
a crash compiling MallocBench/gs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29121 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-12 18:37:18 +00:00
Chris Lattner
d85340f4ec
Change the callgraph representation to store the callsite along with the
...
target CG node. This allows the inliner to properly update the callgraph
when using the pruning inliner. The pruning inliner may not copy over all
call sites from a callee to a caller, so the edges corresponding to those
call sites should not be copied over either.
This fixes PR827 and Transforms/Inline/2006-07-12-InlinePruneCGUpdate.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29120 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-12 18:29:36 +00:00
Chris Lattner
2ade22835e
testcase for PR827
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29119 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-12 18:27:13 +00:00
Chris Lattner
6d3465793f
Add information preventing several register class constraints from working.
...
This implements PR828 and CodeGen/X86/2006-07-12-InlineAsmQConstraint.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29118 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-12 16:59:49 +00:00
Chris Lattner
08c3f7b7c2
Testcase for PR828.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29117 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-12 16:59:09 +00:00
Evan Cheng
b7f7128fb5
Fix test failure on non-Apple systems.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29116 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-12 06:48:47 +00:00
Chris Lattner
21c39a6520
Remove non-portable optimization that isn't worth it
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29115 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-12 00:31:47 +00:00
Chris Lattner
be6a039ad4
The PPC64 JIT needs register numbers to encode instructions.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29114 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-11 20:53:55 +00:00
Chris Lattner
810ad8c51c
Revamp this doc to be accurate w.r.t. building llvmgcc4
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29113 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-11 20:47:00 +00:00
Chris Lattner
f4ea921cc7
Fix PR826, testcase here: Regression/Verifier/2006-07-11-StoreStruct.ll
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29112 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-11 20:29:49 +00:00
Chris Lattner
f7cb6749c9
Testcase for PR826
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29111 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-11 20:29:21 +00:00
Evan Cheng
f7eb5d0b02
Emit inc / dec of registers as one byte instruction.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29110 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-11 19:49:49 +00:00
Chris Lattner
041572f0b3
Profile builds should always have debug info enabled.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29109 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-11 18:33:50 +00:00
Chris Lattner
ed36b2f1c2
Silence a warning produced in assertions-disabled mode
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29108 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-11 18:31:26 +00:00
Devang Patel
27bc97d247
Fix typo.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29107 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-11 18:25:57 +00:00
Jim Laskey
16d42c6ac6
It was pointed out that DEBUG() is only available with -debug.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29106 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-11 18:25:13 +00:00
Jim Laskey
e37fe9b3a1
Ensure that dump calls that are associated with asserts are removed from
...
non-debug build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29105 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-11 17:58:07 +00:00
Jim Laskey
e2a78f2e3d
1. Support for c++ mangled names.
...
2. Support for private/protected class members.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29104 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-11 15:58:09 +00:00
Rafael Espindola
a4e64359aa
add the memri memory operand
...
this makes it possible for ldr instructions with non-zero immediate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29103 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-11 11:36:48 +00:00
Owen Anderson
4a8aadd1f5
Revert my indvars changes because they were breaking things. Unfortunately this
...
didn't start showing up until after the recent instcombine fixes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29102 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-11 07:25:33 +00:00
Chris Lattner
f4dff84c86
Implement the inline asm 'A' constraint. This implements PR825 and
...
CodeGen/X86/2006-07-10-InlineAsmAConstraint.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29101 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-11 02:54:03 +00:00
Chris Lattner
fbc98917b1
New testcase for PR825.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29100 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-11 02:52:37 +00:00
Chris Lattner
25a022c780
Fix CodeGen/Alpha/2006-07-03-ASMFormalLowering.ll and PR818.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29099 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-11 01:40:09 +00:00
Chris Lattner
4de62eadf4
This is fixed
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29098 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-11 01:39:30 +00:00
Jim Laskey
1406bdab85
Reduce bloat in target libraries by removing per machine instruction assertion
...
from code emitter generation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29097 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-11 01:25:59 +00:00
Chris Lattner
804e067042
In 64-bit mode, 64-bit GPRs are callee saved, not 32-bit ones.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29096 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-11 00:48:23 +00:00
Owen Anderson
b64ab8769e
Add a comment, and fix a typo that broke the build.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29094 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-10 22:15:25 +00:00
Owen Anderson
7e05714a10
Don't indent the entire function.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29093 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-10 22:03:18 +00:00
Evan Cheng
b1ed76a04f
Update.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29092 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-10 21:49:09 +00:00
Evan Cheng
20adf47dbc
New entry.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29091 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-10 21:42:16 +00:00
Evan Cheng
1e60c098cc
Fixed stack objects do not specify alignments, but their offsets are known.
...
Use that information when doing the transformation to merge multiple loads
into a 128-bit load.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29090 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-10 21:37:44 +00:00
Chris Lattner
d998938459
Implement Regression/CodeGen/PowerPC/bswap-load-store.ll by folding bswaps
...
into i16/i32 load/stores.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29089 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-10 20:56:58 +00:00
Chris Lattner
5895a13755
New testcase for folding bswaps into i16/i32 loads and stores.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29088 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-10 20:53:53 +00:00
Chris Lattner
6423d4c64a
Recognize 16-bit bswaps by relaxing overconstrained pattern.
...
This implements Transforms/InstCombine/bswap.ll:test[34].
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29087 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-10 20:25:24 +00:00
Chris Lattner
e5ff22e605
Add tests for 16-bit byteswaps.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29086 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-10 20:25:01 +00:00
Chris Lattner
5c5f4ca6f1
Mark internal function static
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29085 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-10 19:53:12 +00:00
Owen Anderson
d1b78a12ef
Make instcombine not remove Phi nodes when LCSSA is live.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29083 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-10 19:03:49 +00:00
Patrick Jenkins
7267bd6c1a
Fixed some output issues where newlines were not being printed after error messages
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29082 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-10 18:35:41 +00:00
Patrick Jenkins
7b4bb60e9a
Fixed an issue that tried to cat externalprogramstable.txt from the testresults directory when it doesnt exist.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29080 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-10 16:36:19 +00:00
Rafael Espindola
aefe14299a
create the raddr addressing mode that matches any register and the frame index
...
use raddr for the ldr instruction. This removes a dummy mov from the assembly output
remove SelectFrameIndex
remove isLoadFromStackSlot
remove isStoreToStackSlot
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29079 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-10 01:41:35 +00:00
Owen Anderson
f8dad7a926
Fix typo in the comment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29078 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-09 21:35:40 +00:00
Owen Anderson
bfd4dab888
Add a test for the LCSSA issue I just fixed.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29077 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-09 08:17:30 +00:00
Owen Anderson
e4e1ecd37c
Add a fix for an issue where LCSSA would fail to insert undef's in some corner
...
cases. Ideally, this issue will go away in the future as LCSSA gets smarter
about which Phi nodes it inserts.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29076 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-09 08:14:06 +00:00
Patrick Jenkins
00fbdf1471
Syntax error in NewNightlyTest.pl
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29074 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-07 21:47:24 +00:00