Evan Cheng [Thu, 29 Jun 2006 00:33:06 +0000 (00:33 +0000)]
Move .literal4 and .literal8 support into AsmPrinter.cpp
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28978
91177308-0d34-0410-b5e6-
96231b3b80d8
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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