oota-llvm.git
18 years agoAdd support to print 4-, 8-, and 16- byte constant literals in special
Evan Cheng [Thu, 29 Jun 2006 00:26:09 +0000 (00:26 +0000)]
Add support to print 4-, 8-, and 16- byte constant literals in special
sections. e.g. On Darwin that would be .literal4 and .literal8.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28977 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoHide x86 symbols
Chris Lattner [Wed, 28 Jun 2006 23:27:49 +0000 (23:27 +0000)]
Hide x86 symbols

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28976 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoUse hidden visibility to make symbols in an anonymous namespace get
Chris Lattner [Wed, 28 Jun 2006 23:17:24 +0000 (23:17 +0000)]
Use hidden visibility to make symbols in an anonymous namespace get
dropped.  This shrinks libllvmgcc.dylib another 67K

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28975 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoUse hidden visibility to reduce codesize
Chris Lattner [Wed, 28 Jun 2006 22:57:00 +0000 (22:57 +0000)]
Use hidden visibility to reduce codesize

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28974 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoShave another 27K off libllvmgcc.dylib with visibility hidden
Chris Lattner [Wed, 28 Jun 2006 22:17:39 +0000 (22:17 +0000)]
Shave another 27K off libllvmgcc.dylib with visibility hidden

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28973 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoShrink libllvmgcc.dylib by another 23K
Chris Lattner [Wed, 28 Jun 2006 22:08:15 +0000 (22:08 +0000)]
Shrink libllvmgcc.dylib by another 23K

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28972 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoshrink libllvmgcc.dylib another 25K
Chris Lattner [Wed, 28 Jun 2006 22:00:36 +0000 (22:00 +0000)]
shrink libllvmgcc.dylib another 25K

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28971 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoMark these two classes as hidden, shrinking libllbmgcc.dylib by 25K
Chris Lattner [Wed, 28 Jun 2006 21:58:30 +0000 (21:58 +0000)]
Mark these two classes as hidden, shrinking libllbmgcc.dylib by 25K

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28970 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoUse hidden visibility to reduce the sizes of some .o files. This chops 60K off a...
Chris Lattner [Wed, 28 Jun 2006 21:38:54 +0000 (21:38 +0000)]
Use hidden visibility to reduce the sizes of some .o files.  This chops 60K off a release llvm-dis.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28969 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoAdd support for hidden visibility
Chris Lattner [Wed, 28 Jun 2006 21:38:04 +0000 (21:38 +0000)]
Add support for hidden visibility

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28968 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agonot really XFailing these, as only incompleteness is wrong in the graph
Andrew Lenharth [Wed, 28 Jun 2006 20:14:30 +0000 (20:14 +0000)]
not really XFailing these, as only incompleteness is wrong in the graph

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28967 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agochange I flag on test
Andrew Lenharth [Wed, 28 Jun 2006 20:07:36 +0000 (20:07 +0000)]
change I flag on test

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28966 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoFix CodeGen/Generic/2006-06-28-SimplifySetCCCrash.ll
Chris Lattner [Wed, 28 Jun 2006 18:29:47 +0000 (18:29 +0000)]
Fix CodeGen/Generic/2006-06-28-SimplifySetCCCrash.ll

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28965 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoTestcase that crashes the ppc backend.
Chris Lattner [Wed, 28 Jun 2006 18:29:33 +0000 (18:29 +0000)]
Testcase that crashes the ppc backend.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28964 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoDoh.
Evan Cheng [Wed, 28 Jun 2006 17:56:43 +0000 (17:56 +0000)]
Doh.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28963 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoSwitch to a very conservative heuristic for determining when loop-unswitching
Owen Anderson [Wed, 28 Jun 2006 17:47:50 +0000 (17:47 +0000)]
Switch to a very conservative heuristic for determining when loop-unswitching
will be profitable.  This is mainly to remove some cases where excessive
unswitching would result in long compile times and/or huge generated code.

Once someone comes up with a better heuristic that avoids these cases, this
should be switched out.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28962 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoFix Transforms/InstCombine/2006-06-28-infloop.ll
Chris Lattner [Wed, 28 Jun 2006 17:34:50 +0000 (17:34 +0000)]
Fix Transforms/InstCombine/2006-06-28-infloop.ll

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28961 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoInfinite loop in instcombine that nate hit.
Chris Lattner [Wed, 28 Jun 2006 17:34:28 +0000 (17:34 +0000)]
Infinite loop in instcombine that nate hit.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28960 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoDon't unswitch really large loops even if they are mostly filled with empty
Chris Lattner [Wed, 28 Jun 2006 16:38:55 +0000 (16:38 +0000)]
Don't unswitch really large loops even if they are mostly filled with empty
blocks.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28959 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoOops. Need to keep CP index.
Evan Cheng [Wed, 28 Jun 2006 07:55:24 +0000 (07:55 +0000)]
Oops. Need to keep CP index.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28958 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoDarwin puts float and double literal constants into literal4 and literal8 sections.
Evan Cheng [Wed, 28 Jun 2006 07:35:41 +0000 (07:35 +0000)]
Darwin puts float and double literal constants into literal4 and literal8 sections.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28957 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoadd some missing externals
Andrew Lenharth [Wed, 28 Jun 2006 01:16:06 +0000 (01:16 +0000)]
add some missing externals

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28955 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoCatch more function pointer casting problems
Andrew Lenharth [Wed, 28 Jun 2006 01:01:52 +0000 (01:01 +0000)]
Catch more function pointer casting problems
Remove the Function pointer cast in these calls, converting it to
a cast of argument.
%tmp60 = tail call int cast (int (ulong)* %str to int (int)*)( int 10 )
%tmp60 = tail call int cast (int (ulong)* %str to int (int)*)( uint %tmp51 )

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28953 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoAllow EmitConstantPool to be redefined by derived classes.
Evan Cheng [Wed, 28 Jun 2006 00:52:32 +0000 (00:52 +0000)]
Allow EmitConstantPool to be redefined by derived classes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28952 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoHandle alias sets that have been unified, and thus can have other references
Chris Lattner [Tue, 27 Jun 2006 23:56:13 +0000 (23:56 +0000)]
Handle alias sets that have been unified, and thus can have other references
to them.  This fixes a regression in my previous checkin.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28951 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoDon't implement AliasSetTracker::remove in terms of deleteValue. deleteValue
Chris Lattner [Tue, 27 Jun 2006 23:48:59 +0000 (23:48 +0000)]
Don't implement AliasSetTracker::remove in terms of deleteValue.  deleteValue
causes the pointer to be removed from the underlying alias analysis
implementation as well.  This impl of remove is also significantly faster than
the old one.  This fixes:
Regression/Transforms/DeadStoreElimination/2006-06-27-AST-Remove.ll

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28950 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoNew testcase, reduced by nate, which crashes DSE
Chris Lattner [Tue, 27 Jun 2006 23:47:39 +0000 (23:47 +0000)]
New testcase, reduced by nate, which crashes DSE

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28949 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agothis case isn't handled
Andrew Lenharth [Tue, 27 Jun 2006 23:19:14 +0000 (23:19 +0000)]
this case isn't handled

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28948 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoFix for 2006-06-27-DeadSwitchCase.ll
Owen Anderson [Tue, 27 Jun 2006 22:26:09 +0000 (22:26 +0000)]
Fix for 2006-06-27-DeadSwitchCase.ll

Be more careful when updating Phi nodes after eliminating dead switch cases.  Fix
proposed by Chris.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28947 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoTestcase that Nate found where LoopUnswitch chokes on eliminating a dead case
Owen Anderson [Tue, 27 Jun 2006 22:24:59 +0000 (22:24 +0000)]
Testcase that Nate found where LoopUnswitch chokes on eliminating a dead case
from a switch instruction.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28946 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agohandle the "mov reg1, reg2" case in isMoveInstr
Rafael Espindola [Tue, 27 Jun 2006 21:52:45 +0000 (21:52 +0000)]
handle the "mov reg1, reg2" case in isMoveInstr

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28945 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoDon't match 64-bit bitfield inserts into rlwimi's. todo add rldimi. :)
Chris Lattner [Tue, 27 Jun 2006 21:08:52 +0000 (21:08 +0000)]
Don't match 64-bit bitfield inserts into rlwimi's.  todo add rldimi. :)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28944 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoFix Transforms/DeadArgElim/2006-06-27-struct-ret.ll. -deadargelim should not
Chris Lattner [Tue, 27 Jun 2006 21:05:04 +0000 (21:05 +0000)]
Fix Transforms/DeadArgElim/2006-06-27-struct-ret.ll.  -deadargelim should not
remove the struct return argument of a csret function, even if it is obviously
dead.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28943 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agotestcase that crashes dead arg elim.
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

18 years agoFix ppc64 jump tables
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

18 years agoPass -Xlinker flags to gcc when it builds the shared object.
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

18 years agoRemove dead code.
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

18 years agoFix -extraflags
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

18 years agoPrint stubs for external globals right.
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

18 years agoImplement 64-bit select, bswap, etc.
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

18 years agoAdd a pattern for i64 sra. Print 8-byte units with a space between the .quad
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

18 years agoFix rewriting frame offsets with ixaddr instructions, which implicitly shift
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

18 years agoPPC doesn't have bit converts to/from i64
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

18 years agoAdd 64-bit MTCTR so that indirect calls work.
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

18 years agoFix an incorrect store pattern. This fixes em3d.
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

18 years agoImplement 64-bit undef, sub, shl/shr, srem/urem
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

18 years agoFix cut-n-pasto in comments.
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

18 years agoUse i32 for shift amounts instead of i64. This gets bisort working.
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

18 years agoAdd zextload from i32 -> i64, with this, perimeter works.
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

18 years agoFor PR801:
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

18 years agoDe-pessimize the handling of LCSSA Phi nodes in IndVarSimplify. Hopefully this
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

18 years agoPrint darwin stub stuff correctly in 64-bit mode. With this, treeadd works in
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

18 years agoFix variable shadowing issue
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

18 years agoImplement a bunch of 64-bit cleanliness work. With this, treeadd builds (but
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

18 years agoRearrange compares, add ADDI8, add sext from 32-to-64 bit register
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

18 years agoImprove PPC64 calling convention support
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

18 years agoRemove two more definitions
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

18 years agoremove two unused instructions.
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

18 years agoFix a stale pointer issue that caused 300.twolf to fail to build on zion
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

18 years agoAdd a new method.
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

18 years agorandom code cleanups, no functionality change
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

18 years agoMake LoopUnswitch able to unswitch loops with live-out values by taking advantage
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

18 years agoSimplify X86CompilationCallback: always align to 16-byte boundary; don't save EAX...
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

18 years agoAdd and sort "sections" in debug lines. This always stepping through
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

18 years agoAdded jump table address relocation.
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

18 years agoEliminate unneeded parameter.
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

18 years agovariable_ops instructions such as call can have any number of operands.
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

18 years agoWhoops, missed a couple more C-style casts.
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

18 years agoUse C++ style casts instead of C-style casts to shut up compiler warnings
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

18 years agoAdd targets for generating .s file in addition to .o files.
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

18 years agoFactor a bunch of rules together, no functionality change.
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

18 years agoAdd more anonymous namespaces to make it clear that these are private classes
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

18 years agoRemove unneeded libs
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

18 years agoFor PR811:
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

18 years agoAdd some out-of-line virtual dtors so that the class has a "home", preventing
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

18 years agofix typo
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

18 years agoAdd memory operand and int regs
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

18 years agoinline asm, at least for floats
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

18 years agofix typos
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

18 years agofix argument problem
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

18 years agoCorrect returns of 64-bit values, though they seemed to work before...
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

18 years agoFix non-64-bit clean code.
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

18 years agoMake these predicates correct in 64-bit mode too.
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

18 years agoRename OR4 -> OR. Move some PPC64-specific stuff to the 64-bit file
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

18 years agoremove unused flag
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

18 years agoadd some logical ops
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

18 years agoremove some unused patterns
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

18 years agoAdd some more immediate patterns. This allows us to compile:
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

18 years agoInstead of li/xoris use li/oris. Note that this doesn't work if bit 15 is
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

18 years agoAdd some 64-bit logical ops.
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

18 years agoAdded --with-extra-options=opts to specify additional options to build LLVM and run...
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

18 years ago__i386__, __i386, etc. are not defined for x86-64. Use __x86_64__.
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

18 years ago64-bit bugfix: 0xFFFF0000 cannot be formed with a single lis.
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

18 years agoAdd some patterns for globals, so we can now compile this:
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

18 years agoadd subroutine types
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

18 years agoremove quotes for better consistency
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

18 years agomore significant moving of stuff around.
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

18 years agoFix broken links, remove author information, add brief summary.
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

18 years agoAdd support for function types.
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

18 years agoAllow LLVM to be built with extra options.
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