Reid Spencer [Thu, 30 Nov 2006 06:36:44 +0000 (06:36 +0000)]
Initial, non-functional, version of llvm-upgrade. This version just echos
its input. Committed for safekeeping purposes. Don't use this yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32030
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 29 Nov 2006 23:48:37 +0000 (23:48 +0000)]
New LSR test case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32029
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 29 Nov 2006 23:48:14 +0000 (23:48 +0000)]
In PIC mode, GV not requiring an extra load can be used as address immediate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32028
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 29 Nov 2006 23:46:27 +0000 (23:46 +0000)]
Clean up.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32027
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 29 Nov 2006 23:19:46 +0000 (23:19 +0000)]
Fix for PR1018 - Better support for X86-64 Linux in small code model.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32026
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 29 Nov 2006 21:37:00 +0000 (21:37 +0000)]
Get the delegation right for InstVisitor.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32025
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 29 Nov 2006 19:58:49 +0000 (19:58 +0000)]
Fix bug codegen'ing FP constant vectors with integer splats. Make sure the
created intrinsics have the right integer types. This fixes
PowerPC/2006-11-29-AltivecFPSplat.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32024
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 29 Nov 2006 19:57:55 +0000 (19:57 +0000)]
new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32023
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 29 Nov 2006 19:13:47 +0000 (19:13 +0000)]
Avoid inifinite looping if READCYCLECOUNTER isn't custom lowered.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32022
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Wed, 29 Nov 2006 16:55:57 +0000 (16:55 +0000)]
Eliminate unnecessary scopes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32020
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Wed, 29 Nov 2006 13:37:09 +0000 (13:37 +0000)]
Offset for load of 32-bit arg in 64-bit world was incorrect.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32019
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 29 Nov 2006 08:29:59 +0000 (08:29 +0000)]
Add x86-64 llvm.readcyclecounter test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32018
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 29 Nov 2006 08:28:13 +0000 (08:28 +0000)]
Custom lower READCYCLECOUNTER for x86-64.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32017
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 29 Nov 2006 08:26:18 +0000 (08:26 +0000)]
Allow target to custom lower READCYCLECOUNTER (when it doesn't have to be expanded).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32016
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 29 Nov 2006 08:22:59 +0000 (08:22 +0000)]
Fix test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32015
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 29 Nov 2006 07:31:23 +0000 (07:31 +0000)]
Oops! didn't mean to put this in there yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32014
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 29 Nov 2006 07:21:46 +0000 (07:21 +0000)]
done
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32013
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 29 Nov 2006 07:21:08 +0000 (07:21 +0000)]
new bswap idiom
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32012
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 29 Nov 2006 07:18:39 +0000 (07:18 +0000)]
implement cast.ll:test35. With this, we recognize:
unsigned short swp(unsigned short a) {
return ((a & 0xff00) >> 8 | (a & 0x00ff) << 8);
}
as an idiom for bswap.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32011
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 29 Nov 2006 07:17:32 +0000 (07:17 +0000)]
new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32010
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 29 Nov 2006 07:04:07 +0000 (07:04 +0000)]
Teach instcombine to turn trunc(srl x, c) -> srl (trunc(x), c) when safe.
This implements InstCombine/cast.ll:test34. It fires hundreds of times on
176.gcc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32009
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 29 Nov 2006 07:03:00 +0000 (07:03 +0000)]
new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32008
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 29 Nov 2006 05:19:32 +0000 (05:19 +0000)]
This fails on mainline.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32007
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 29 Nov 2006 05:02:16 +0000 (05:02 +0000)]
Implement Regression/Transforms/InstCombine/bswap-fold.ll,
folding seteq (bswap(x)), c -> seteq(x,bswap(c))
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32006
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 29 Nov 2006 05:00:14 +0000 (05:00 +0000)]
new testcase, bswaps should be eliminated.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32005
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 29 Nov 2006 02:00:40 +0000 (02:00 +0000)]
16-byte stack alignment for X86-64 ELF. Patch by Dan Gohman.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32004
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 29 Nov 2006 01:58:12 +0000 (01:58 +0000)]
Fix for PR1023 by Dan Gohman.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32003
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 29 Nov 2006 01:57:06 +0000 (01:57 +0000)]
Add test cases for PR1022, 1023.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32002
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 29 Nov 2006 01:48:01 +0000 (01:48 +0000)]
Upgrade the ugly darwin 64-bit bswap idiom (bswap %eax / bswap %edx /
xchgl %eax, %edx) to llvm.bswap.i64. This compiles:
long long test2(long long A) {
return _OSSwapInt64(A);
}
to:
_test2:
movl 8(%esp), %eax
movl 4(%esp), %edx
bswapl %eax
bswapl %edx
ret
instead of:
_test2:
movl 8(%esp), %edx
movl 4(%esp), %eax
bswap %eax
bswap %edx
xchgl %eax, %edx
ret
GCC manages (with -fomit-frame-pointer) the uglier:
_test2:
subl $4, %esp
movl 8(%esp), %eax
movl 12(%esp), %edx
bswap %eax
bswap %edx
xchgl %eax, %edx
addl $4, %esp
ret
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32001
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 29 Nov 2006 01:38:07 +0000 (01:38 +0000)]
Fix for PR1022 (folding loads of static initializers) by Dan Gohman.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32000
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 29 Nov 2006 01:14:06 +0000 (01:14 +0000)]
Trivially lower 'bswap $0' into llvm.bswap. This fixes hexxagon with the
JIT on darwin/x86, which has htonl implemented as inline asm.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31999
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 29 Nov 2006 01:14:00 +0000 (01:14 +0000)]
WTF? These weird newlines got in there...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31998
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 29 Nov 2006 01:12:32 +0000 (01:12 +0000)]
add a hook to allow targets to hack on inline asms to lower them to llvm
when they want to.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31997
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Wed, 29 Nov 2006 01:11:01 +0000 (01:11 +0000)]
Join a split line.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31996
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 29 Nov 2006 00:39:47 +0000 (00:39 +0000)]
Converted to using llvm streams instead of <iostream>s
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31992
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 29 Nov 2006 00:19:40 +0000 (00:19 +0000)]
Replacing std::iostreams with llvm iostreams. Some of these changes involve
adding a temporary wrapper around the ostream to make it friendly to
functions expecting an LLVM stream. This should be fixed in the future.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31990
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 28 Nov 2006 23:33:06 +0000 (23:33 +0000)]
Convert to using llvm streams instead of iostreams.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31989
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 28 Nov 2006 23:31:42 +0000 (23:31 +0000)]
Support for llvm_ostreams.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31988
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Tue, 28 Nov 2006 23:07:32 +0000 (23:07 +0000)]
gcc doesn't like an empty colbber list
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31987
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 28 Nov 2006 22:49:32 +0000 (22:49 +0000)]
Use ostream instead of iostream
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31986
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 28 Nov 2006 22:48:48 +0000 (22:48 +0000)]
Use llvm streams instead of <iostream>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31985
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 28 Nov 2006 22:47:12 +0000 (22:47 +0000)]
Removed #include <iostream> and used llvm streams
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31984
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 28 Nov 2006 22:46:12 +0000 (22:46 +0000)]
Removed some of the iostream #includes. Moved towards converting to using
llvm streams
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31983
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 28 Nov 2006 22:45:17 +0000 (22:45 +0000)]
Support for llvm streams.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31982
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 28 Nov 2006 22:32:35 +0000 (22:32 +0000)]
Add a helper function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31981
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Tue, 28 Nov 2006 22:28:08 +0000 (22:28 +0000)]
Identities are default now
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31980
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Tue, 28 Nov 2006 22:25:32 +0000 (22:25 +0000)]
Make identity default, and fix PR1020
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31979
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 28 Nov 2006 22:21:29 +0000 (22:21 +0000)]
Added a temporary hack to get the llvm-streams to work for future checkins.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31978
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 28 Nov 2006 20:23:51 +0000 (20:23 +0000)]
Undo the last patch until 253.perlbmk passes with these changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31977
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 28 Nov 2006 19:59:25 +0000 (19:59 +0000)]
New entries.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31976
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Tue, 28 Nov 2006 19:56:02 +0000 (19:56 +0000)]
update comments
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31975
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Tue, 28 Nov 2006 19:53:36 +0000 (19:53 +0000)]
Get the asminfo for the target most closely matching the module and use that for inline asm
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31974
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Tue, 28 Nov 2006 19:52:49 +0000 (19:52 +0000)]
X86 asm -> gcc asm translation table (incomplete)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31973
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Tue, 28 Nov 2006 19:52:20 +0000 (19:52 +0000)]
Add per-target support for asm translation in the cbe
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31972
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Tue, 28 Nov 2006 18:27:02 +0000 (18:27 +0000)]
Remove debug code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31970
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Tue, 28 Nov 2006 18:21:52 +0000 (18:21 +0000)]
Prime text sections to improve branch locality in large object files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31969
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Tue, 28 Nov 2006 14:53:52 +0000 (14:53 +0000)]
32-bit int space was not accounted for properly in lowerCall.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31966
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 28 Nov 2006 07:29:44 +0000 (07:29 +0000)]
Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31965
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 28 Nov 2006 07:28:14 +0000 (07:28 +0000)]
Implement signedness caching for values, value lists, constants and
constant lists. This is just an internal change to the parser in
preparation for some backwards compatibility code that is to follow.
This will allow things like "uint
4000000000" to retain the unsignedness
of the integer constant as the value moves through the parser. In the
future, all integer types will be signless but parsing "uint" and friends
will be retained for backwards compatibility.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31964
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 28 Nov 2006 07:23:01 +0000 (07:23 +0000)]
Remove 4 FIXME's from the CAST patch now that the back end is correctly
producing code for "trunc to bool". This passes all tests on Linux.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31963
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 28 Nov 2006 07:04:10 +0000 (07:04 +0000)]
Add an -append-exit-code option to bugpoint. This will cause bugpoint to
append "exit <retcode>" to the end of the output file. This is used by
the nightly tester to make bugpoint match the output generated by the
RunSafely.sh script so it doesn't find false positives.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31960
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Tue, 28 Nov 2006 06:14:06 +0000 (06:14 +0000)]
Fix a typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31959
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 28 Nov 2006 03:31:29 +0000 (03:31 +0000)]
Put the #include for a module first.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31958
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 28 Nov 2006 02:25:34 +0000 (02:25 +0000)]
Clean up.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31957
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 28 Nov 2006 02:22:51 +0000 (02:22 +0000)]
Fix indentation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31956
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 28 Nov 2006 02:09:03 +0000 (02:09 +0000)]
Changed to using LLVM streams.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31955
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 28 Nov 2006 02:08:17 +0000 (02:08 +0000)]
Changed to using llvm streams.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31954
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 28 Nov 2006 02:07:29 +0000 (02:07 +0000)]
Added helper function to transition to using llvm streams.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31953
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 28 Nov 2006 01:28:00 +0000 (01:28 +0000)]
Fix JIT encoding bugs for shift / rotate by one ops.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31952
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 28 Nov 2006 01:26:37 +0000 (01:26 +0000)]
testcase for pr1016
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31951
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 28 Nov 2006 01:03:30 +0000 (01:03 +0000)]
Fix PR1016
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31950
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Mon, 27 Nov 2006 23:54:50 +0000 (23:54 +0000)]
Removed #include <iostream> and replaced streams with llvm streams.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31949
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Lenharth [Mon, 27 Nov 2006 23:50:49 +0000 (23:50 +0000)]
Preliminary support for inline asm in the cbe. The target specific ugliness
is still in Writer, but issolated to a single function. This might be split
into something in each target directory. This is sufficient to get through
archie and an strcpy impl on linux-x86.
Module level asm is not handled.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31948
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Mon, 27 Nov 2006 23:37:22 +0000 (23:37 +0000)]
Change MachineInstr ctor's to take a TargetInstrDescriptor reference instead
of opcode and number of operands.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31947
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 27 Nov 2006 21:53:28 +0000 (21:53 +0000)]
remove dead tag
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31944
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 27 Nov 2006 21:50:02 +0000 (21:50 +0000)]
Fix the dag combiner bug corresponding to PR1014.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31943
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 27 Nov 2006 20:01:48 +0000 (20:01 +0000)]
this doesn't pass with CVS HEAD.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31942
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 27 Nov 2006 19:55:07 +0000 (19:55 +0000)]
Fix PR1014 and InstCombine/2006-11-27-XorBug.ll.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31941
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 27 Nov 2006 19:54:23 +0000 (19:54 +0000)]
Add 3 more test cases for ptrtoint, fptoui and fptosi
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31940
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 27 Nov 2006 19:47:22 +0000 (19:47 +0000)]
testcase for PR1014
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31939
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 27 Nov 2006 18:51:06 +0000 (18:51 +0000)]
When truncating to bool, it is necessary to & with 1 for all casts that
can result in a bool. Previously PtrToInt, FPToUI and FPToSI were missing
this operation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31938
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Mon, 27 Nov 2006 10:45:49 +0000 (10:45 +0000)]
Protect against null streams.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31937
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Mon, 27 Nov 2006 10:09:12 +0000 (10:09 +0000)]
Removed #include <iostream> and replaced with llvm_* streams.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31936
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 27 Nov 2006 05:08:03 +0000 (05:08 +0000)]
Alter these tests to ensure they match a "test $1, X" X86 instruction that
is now generated by the LLVM backend for "trunc to bool" instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31935
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 27 Nov 2006 05:06:58 +0000 (05:06 +0000)]
Add a test to ensure a bitcast/and/trunc combination eliminates the bitcast.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31934
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 27 Nov 2006 04:40:53 +0000 (04:40 +0000)]
For better or worse, load from i1 is assumed to be zero extended. Do not
form a load from i1 from larger loads that may not be zext'd.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31933
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 27 Nov 2006 04:39:56 +0000 (04:39 +0000)]
If a brcond condition is promoted, make sure to zero extend it, even if not
expanded into BR_CC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31932
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Mon, 27 Nov 2006 01:05:10 +0000 (01:05 +0000)]
For PR950:
The long awaited CAST patch. This introduces 12 new instructions into LLVM
to replace the cast instruction. Corresponding changes throughout LLVM are
provided. This passes llvm-test, llvm/test, and SPEC CPUINT2000 with the
exception of 175.vpr which fails only on a slight floating point output
difference.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31931
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 26 Nov 2006 21:22:01 +0000 (21:22 +0000)]
Don't use bitcast yet!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31930
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sun, 26 Nov 2006 18:27:09 +0000 (18:27 +0000)]
Make this test case easier to read. No functional changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31929
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Sun, 26 Nov 2006 10:52:51 +0000 (10:52 +0000)]
Removed #include <iostream> and replace with llvm_* streams.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31927
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Sun, 26 Nov 2006 10:51:51 +0000 (10:51 +0000)]
Add method that will take a function pointer so that it can handle things
like "llvm_cerr << std::flush";
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31926
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Sun, 26 Nov 2006 10:17:54 +0000 (10:17 +0000)]
Remove #include <iostream> and use llvm_* streams instead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31925
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Sun, 26 Nov 2006 10:02:32 +0000 (10:02 +0000)]
Replace #include <iostream> with llvm_* streams.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31924
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Sun, 26 Nov 2006 09:46:52 +0000 (09:46 +0000)]
Removed #include <iostream> and replaced with llvm_* streams.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31923
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Sun, 26 Nov 2006 09:17:06 +0000 (09:17 +0000)]
Removed #include <iostream> and used the llvm_cerr/DOUT streams instead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31922
91177308-0d34-0410-b5e6-
96231b3b80d8
Duraid Madina [Sun, 26 Nov 2006 04:34:26 +0000 (04:34 +0000)]
fix storing bools to mem and unordered FP ops
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31920
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sat, 25 Nov 2006 08:38:44 +0000 (08:38 +0000)]
Make the absolute/relative tolerance information easier to read/understand.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31908
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sat, 25 Nov 2006 05:41:02 +0000 (05:41 +0000)]
Add newline at end of file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31902
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Sat, 25 Nov 2006 04:07:06 +0000 (04:07 +0000)]
Only show the first few lines of difference.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31901
91177308-0d34-0410-b5e6-
96231b3b80d8