Chris Lattner [Tue, 27 Jun 2006 20:58:41 +0000 (20:58 +0000)]
testcase that crashes dead arg elim.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28942
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 27 Jun 2006 20:46:17 +0000 (20:46 +0000)]
Fix ppc64 jump tables
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28941
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 27 Jun 2006 20:35:36 +0000 (20:35 +0000)]
Pass -Xlinker flags to gcc when it builds the shared object.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28939
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 27 Jun 2006 20:34:14 +0000 (20:34 +0000)]
Remove dead code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28938
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 27 Jun 2006 20:30:28 +0000 (20:30 +0000)]
Fix -extraflags
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28937
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 27 Jun 2006 20:20:53 +0000 (20:20 +0000)]
Print stubs for external globals right.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28936
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 27 Jun 2006 20:14:52 +0000 (20:14 +0000)]
Implement 64-bit select, bswap, etc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28935
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 27 Jun 2006 20:07:26 +0000 (20:07 +0000)]
Add a pattern for i64 sra. Print 8-byte units with a space between the .quad
and the data
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28934
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 27 Jun 2006 18:55:49 +0000 (18:55 +0000)]
Fix rewriting frame offsets with ixaddr instructions, which implicitly shift
the offset two bits to the left.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28933
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 27 Jun 2006 18:40:08 +0000 (18:40 +0000)]
PPC doesn't have bit converts to/from i64
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28932
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 27 Jun 2006 18:36:44 +0000 (18:36 +0000)]
Add 64-bit MTCTR so that indirect calls work.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28931
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 27 Jun 2006 18:22:50 +0000 (18:22 +0000)]
Fix an incorrect store pattern. This fixes em3d.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28930
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 27 Jun 2006 18:18:41 +0000 (18:18 +0000)]
Implement 64-bit undef, sub, shl/shr, srem/urem
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28929
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 27 Jun 2006 18:07:29 +0000 (18:07 +0000)]
Fix cut-n-pasto in comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28928
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 27 Jun 2006 17:34:57 +0000 (17:34 +0000)]
Use i32 for shift amounts instead of i64. This gets bisort working.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28927
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 27 Jun 2006 17:30:08 +0000 (17:30 +0000)]
Add zextload from i32 -> i64, with this, perimeter works.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28926
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 27 Jun 2006 16:49:46 +0000 (16:49 +0000)]
For PR801:
Refactor the Graph writing code to use a common implementation which is
now in lib/Support/GraphWriter.cpp. This completes the PR.
Patch by Anton Korobeynikov. Thanks, Anton!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28925
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 27 Jun 2006 02:17:08 +0000 (02:17 +0000)]
De-pessimize the handling of LCSSA Phi nodes in IndVarSimplify. Hopefully this
will make Shootout-C/nestedloop faster.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28924
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 27 Jun 2006 01:02:25 +0000 (01:02 +0000)]
Print darwin stub stuff correctly in 64-bit mode. With this, treeadd works in
ppc64 mode!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28923
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 27 Jun 2006 00:10:13 +0000 (00:10 +0000)]
Fix variable shadowing issue
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28922
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 27 Jun 2006 00:04:13 +0000 (00:04 +0000)]
Implement a bunch of 64-bit cleanliness work. With this, treeadd builds (but
doesn't work right).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28921
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 26 Jun 2006 23:53:10 +0000 (23:53 +0000)]
Rearrange compares, add ADDI8, add sext from 32-to-64 bit register
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28920
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 26 Jun 2006 22:48:35 +0000 (22:48 +0000)]
Improve PPC64 calling convention support
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28919
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 26 Jun 2006 22:47:37 +0000 (22:47 +0000)]
Remove two more definitions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28918
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 26 Jun 2006 22:44:13 +0000 (22:44 +0000)]
remove two unused instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28917
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 26 Jun 2006 19:20:48 +0000 (19:20 +0000)]
Fix a stale pointer issue that caused 300.twolf to fail to build on zion
last night.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28916
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 26 Jun 2006 19:20:25 +0000 (19:20 +0000)]
Add a new method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28915
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 26 Jun 2006 19:10:05 +0000 (19:10 +0000)]
random code cleanups, no functionality change
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28914
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Mon, 26 Jun 2006 07:44:36 +0000 (07:44 +0000)]
Make LoopUnswitch able to unswitch loops with live-out values by taking advantage
of LCSSA. This results several times the number of unswitchings occurring on
tests such and timberwolfmc, unix-tbl, and ldecod.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28912
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sat, 24 Jun 2006 08:36:10 +0000 (08:36 +0000)]
Simplify X86CompilationCallback: always align to 16-byte boundary; don't save EAX/EDX if unnecessary.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28910
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Fri, 23 Jun 2006 12:51:53 +0000 (12:51 +0000)]
Add and sort "sections" in debug lines. This always stepping through
code in sections other than ".text", including weak sections like ctors and
dtors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28909
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 23 Jun 2006 01:02:37 +0000 (01:02 +0000)]
Added jump table address relocation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28908
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 22 Jun 2006 00:02:55 +0000 (00:02 +0000)]
Eliminate unneeded parameter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28907
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 21 Jun 2006 23:37:07 +0000 (23:37 +0000)]
variable_ops instructions such as call can have any number of operands.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28906
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 21 Jun 2006 22:19:00 +0000 (22:19 +0000)]
Whoops, missed a couple more C-style casts.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28905
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 21 Jun 2006 21:54:54 +0000 (21:54 +0000)]
Use C++ style casts instead of C-style casts to shut up compiler warnings
when compiling with -pedantic. Passes regression tests on Linux.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28904
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 21 Jun 2006 21:01:20 +0000 (21:01 +0000)]
Add targets for generating .s file in addition to .o files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28903
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 21 Jun 2006 20:58:03 +0000 (20:58 +0000)]
Factor a bunch of rules together, no functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28902
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 21 Jun 2006 18:13:36 +0000 (18:13 +0000)]
Add more anonymous namespaces to make it clear that these are private classes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28901
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 21 Jun 2006 17:26:13 +0000 (17:26 +0000)]
Remove unneeded libs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28900
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 21 Jun 2006 17:21:39 +0000 (17:21 +0000)]
For PR811:
Don't both with the "C" and "cc" extensions as they aren't common and they
the "C" extension conflicts with the "c" extension on operating systems
that have case insensitive file names.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28899
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 21 Jun 2006 16:53:47 +0000 (16:53 +0000)]
Add some out-of-line virtual dtors so that the class has a "home", preventing
vtables for (e.g.) Instruction from being emitted into every .o file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28898
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 21 Jun 2006 16:53:00 +0000 (16:53 +0000)]
fix typo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28897
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Wed, 21 Jun 2006 15:42:36 +0000 (15:42 +0000)]
Add memory operand and int regs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28896
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Wed, 21 Jun 2006 13:37:27 +0000 (13:37 +0000)]
inline asm, at least for floats
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28895
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Wed, 21 Jun 2006 11:08:10 +0000 (11:08 +0000)]
fix typos
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28894
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Wed, 21 Jun 2006 01:00:43 +0000 (01:00 +0000)]
fix argument problem
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28893
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 21 Jun 2006 00:34:03 +0000 (00:34 +0000)]
Correct returns of 64-bit values, though they seemed to work before...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28892
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 21 Jun 2006 00:29:14 +0000 (00:29 +0000)]
Fix non-64-bit clean code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28891
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 20 Jun 2006 23:21:20 +0000 (23:21 +0000)]
Make these predicates correct in 64-bit mode too.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28890
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 20 Jun 2006 23:18:58 +0000 (23:18 +0000)]
Rename OR4 -> OR. Move some PPC64-specific stuff to the 64-bit file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28889
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 20 Jun 2006 23:15:07 +0000 (23:15 +0000)]
remove unused flag
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28888
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 20 Jun 2006 23:11:59 +0000 (23:11 +0000)]
add some logical ops
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28887
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 20 Jun 2006 23:11:36 +0000 (23:11 +0000)]
remove some unused patterns
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28886
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 20 Jun 2006 23:03:01 +0000 (23:03 +0000)]
Add some more immediate patterns. This allows us to compile:
void test6() {
Y = 0xABCD0123BCDE4567;
}
into:
_test6:
lis r2, -21555
lis r3, ha16(_Y)
ori r2, r2, 291
rldicr r2, r2, 32, 31
oris r2, r2, 48350
ori r2, r2, 17767
std r2, lo16(_Y)(r3)
blr
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28885
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 20 Jun 2006 22:38:59 +0000 (22:38 +0000)]
Instead of li/xoris use li/oris. Note that this doesn't work if bit 15 is
set, so disable the pattern in that case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28884
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 20 Jun 2006 22:34:10 +0000 (22:34 +0000)]
Add some 64-bit logical ops.
Split imm16Shifted into a sext/zext form for 64-bit support.
Add some patterns for immediate formation. For example, we now compile this:
static unsigned long long Y;
void test3() {
Y = 0xF0F00F00;
}
into:
_test3:
li r2, 3840
lis r3, ha16(_Y)
xoris r2, r2, 61680
std r2, lo16(_Y)(r3)
blr
GCC produces:
_test3:
li r0,0
lis r2,ha16(_Y)
ori r0,r0,61680
sldi r0,r0,16
ori r0,r0,3840
std r0,lo16(_Y)(r2)
blr
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28883
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 20 Jun 2006 22:16:32 +0000 (22:16 +0000)]
Added --with-extra-options=opts to specify additional options to build LLVM and run tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28882
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 20 Jun 2006 22:11:12 +0000 (22:11 +0000)]
__i386__, __i386, etc. are not defined for x86-64. Use __x86_64__.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28881
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 20 Jun 2006 21:39:30 +0000 (21:39 +0000)]
64-bit bugfix: 0xFFFF0000 cannot be formed with a single lis.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28880
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 20 Jun 2006 21:23:06 +0000 (21:23 +0000)]
Add some patterns for globals, so we can now compile this:
static unsigned long long X, Y;
void test1() {
X = Y;
}
into:
_test1:
lis r2, ha16(_Y)
lis r3, ha16(_X)
ld r2, lo16(_Y)(r2)
std r2, lo16(_X)(r3)
blr
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28879
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Tue, 20 Jun 2006 21:13:20 +0000 (21:13 +0000)]
add subroutine types
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28878
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 20 Jun 2006 20:56:03 +0000 (20:56 +0000)]
remove quotes for better consistency
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28877
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 20 Jun 2006 20:54:47 +0000 (20:54 +0000)]
more significant moving of stuff around.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28876
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 20 Jun 2006 20:47:38 +0000 (20:47 +0000)]
Fix broken links, remove author information, add brief summary.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28875
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Tue, 20 Jun 2006 19:41:06 +0000 (19:41 +0000)]
Add support for function types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28874
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 20 Jun 2006 18:50:48 +0000 (18:50 +0000)]
Allow LLVM to be built with extra options.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28873
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 20 Jun 2006 18:49:13 +0000 (18:49 +0000)]
Rename EXTRA_FLAGS to EXTRA_OPTIONS.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28872
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Tue, 20 Jun 2006 18:21:31 +0000 (18:21 +0000)]
Added LLVM publications describing the LLVM compiler infrastructure.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28871
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Tue, 20 Jun 2006 17:44:40 +0000 (17:44 +0000)]
Added the privbracket project to the list of projects to auto-configure.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28870
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Tue, 20 Jun 2006 15:32:17 +0000 (15:32 +0000)]
Fix build on old compilers
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28869
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 20 Jun 2006 00:56:37 +0000 (00:56 +0000)]
Fix an error message regression. Print:
LI8: (LI8:i64 (imm:i64):$imm)
instead of:
LI8: (LI8:MVT::i64 (imm:MVT::i64):$imm)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28868
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 20 Jun 2006 00:39:56 +0000 (00:39 +0000)]
Remove some now-unneeded casts from instruction patterns. With the casts
removed, tblgen produces identical output to with them in.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28867
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 20 Jun 2006 00:38:36 +0000 (00:38 +0000)]
Add some patterns for ppc64
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28866
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 20 Jun 2006 00:31:27 +0000 (00:31 +0000)]
Don't require src/dst patterns to be able to fully resolve their types,
because information about one can help refine the other. This allows us to
write:
def : Pat<(i32 (extload xaddr:$src, i8)),
(LBZX xaddr:$src)>;
as:
def : Pat<(extload xaddr:$src, i8),
(LBZX xaddr:$src)>;
because tblgen knows LBZX returns i32.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28865
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 20 Jun 2006 00:25:29 +0000 (00:25 +0000)]
Remove some ugly now-redundant casts.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28864
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 20 Jun 2006 00:18:02 +0000 (00:18 +0000)]
Make sure to use the result of the pattern to infer the result type of the
instruction, and the result type of the instruction to refine the pattern.
This allows us to write things like this:
def : Pat<(v2i64 (bitconvert (v16i8 VR128:$src))), (v2i64 VR128:$src)>;
as:
def : Pat<(v2i64 (bitconvert (v16i8 VR128:$src))), (VR128:$src)>
and fixes a ppc64 issue.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28863
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 20 Jun 2006 00:12:37 +0000 (00:12 +0000)]
Fix some mismatched type constraints
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28862
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Mon, 19 Jun 2006 19:49:42 +0000 (19:49 +0000)]
References need to be section relative.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28861
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Mon, 19 Jun 2006 19:25:30 +0000 (19:25 +0000)]
Minor clean up.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28860
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Mon, 19 Jun 2006 18:23:36 +0000 (18:23 +0000)]
Do partial inlining in BU. This resolves more call sites. Also add options to merge in globals during recursion and to back annotate DSNodes when function pointers are resolved. This makes PA work for a whole lot more things (unresolved call sites being what has been killing various DSA based passes)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28859
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Mon, 19 Jun 2006 15:48:00 +0000 (15:48 +0000)]
References need to be section relative.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28858
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Mon, 19 Jun 2006 15:42:47 +0000 (15:42 +0000)]
Fix a bug, don't drop indirect call sites, especially if there is nothing known about them yet, and restore a simple version of a removed function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28857
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Mon, 19 Jun 2006 12:54:15 +0000 (12:54 +0000)]
Handle versioning of compile unit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28855
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Sun, 18 Jun 2006 00:08:07 +0000 (00:08 +0000)]
initial implementation of ARMRegisterInfo::eliminateFrameIndex
fixes test/Regression/CodeGen/ARM/ret_arg5.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28854
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 17 Jun 2006 18:17:52 +0000 (18:17 +0000)]
Constant fold sqrtf
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28853
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 17 Jun 2006 08:06:33 +0000 (08:06 +0000)]
Just a minor tweak so you can run things like:
TestRunner.sh Foo/Bar/test.ll
instead of just
TestRunner.sh test.ll
which is convenient in conjunction with find.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28852
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sat, 17 Jun 2006 01:42:20 +0000 (01:42 +0000)]
Clean up
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28851
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 17 Jun 2006 01:02:31 +0000 (01:02 +0000)]
Fix IndVarsSimplify/2006-06-16-Indvar-LCSSA-Crash.ll, a case where a
"LCSSA" phi node causes indvars to break dominance properties. This fixes
causes indvars to avoid inserting aggressive code in this case, instead
indvars should be fixed to be more aggressive in the face of lcssa phi's.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28850
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 17 Jun 2006 01:01:30 +0000 (01:01 +0000)]
new testcase that crashes indvars
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28849
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sat, 17 Jun 2006 00:45:49 +0000 (00:45 +0000)]
A new entry.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28848
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 17 Jun 2006 00:01:04 +0000 (00:01 +0000)]
Implement the getPointerRegClass method, which is required for the ptr_rc
magic to work.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28847
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Fri, 16 Jun 2006 23:36:12 +0000 (23:36 +0000)]
Forgot operands were hard coded for compile unit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28846
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Fri, 16 Jun 2006 23:34:49 +0000 (23:34 +0000)]
Include information of svn repository for llvm-gcc4.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28845
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Fri, 16 Jun 2006 23:20:21 +0000 (23:20 +0000)]
Include information about svn repository for llvm-gcc4.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28844
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 16 Jun 2006 21:58:49 +0000 (21:58 +0000)]
Later models likely to have Yonah like attributes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28843
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 16 Jun 2006 21:47:59 +0000 (21:47 +0000)]
Do not hardcode random paths into the makefile. Make the user specify the
SDK to use when building "universal" on Mac OS/X, if they want to use a
specific one.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28842
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 16 Jun 2006 21:29:41 +0000 (21:29 +0000)]
Upgrade some load/store instructions to use the proper addressing mode stuff.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28841
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 16 Jun 2006 21:29:03 +0000 (21:29 +0000)]
In 64-bit mode, addr mode operands use G8RC instead of GPRC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28840
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 16 Jun 2006 21:01:35 +0000 (21:01 +0000)]
fix some assumptions that pointers can only be 32-bits. With this, we can
now compile:
static unsigned long X;
void test1() {
X = 0;
}
into:
_test1:
lis r2, ha16(_X)
li r3, 0
stw r3, lo16(_X)(r2)
blr
Totally amazing :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28839
91177308-0d34-0410-b5e6-
96231b3b80d8