oota-llvm.git
17 years agoChange global descriptor names to provide name, full name and linkage name.
Jim Laskey [Thu, 30 Nov 2006 14:35:45 +0000 (14:35 +0000)]
Change global descriptor names to provide name, full name and linkage name.

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

17 years agoTemp fix to deal gdb issue.
Jim Laskey [Thu, 30 Nov 2006 11:09:42 +0000 (11:09 +0000)]
Temp fix to deal gdb issue.

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

17 years agoMachineInstr::setOpcode -> MachineInstr::setInstrDescriptor
Evan Cheng [Thu, 30 Nov 2006 07:12:03 +0000 (07:12 +0000)]
MachineInstr::setOpcode -> MachineInstr::setInstrDescriptor

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

17 years agoRemove the ugly SPARCV9 TargetInstrDescriptors hack.
Evan Cheng [Thu, 30 Nov 2006 07:10:43 +0000 (07:10 +0000)]
Remove the ugly SPARCV9 TargetInstrDescriptors hack.

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

17 years ago- MachineInstr now keeps a ptr to TargetInstrDescriptor instead of Opcode.
Evan Cheng [Thu, 30 Nov 2006 07:08:44 +0000 (07:08 +0000)]
- MachineInstr now keeps a ptr to TargetInstrDescriptor instead of Opcode.
- Remove the ugly TargetInstrDescriptors hack.

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

17 years agoIgnore generated files.
Reid Spencer [Thu, 30 Nov 2006 06:37:43 +0000 (06:37 +0000)]
Ignore generated files.

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

17 years agoInitial, non-functional, version of llvm-upgrade. This version just echos
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

17 years agoNew LSR test case.
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

17 years agoIn PIC mode, GV not requiring an extra load can be used as address immediate.
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

17 years agoClean up.
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

17 years agoFix for PR1018 - Better support for X86-64 Linux in small code model.
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

17 years agoGet the delegation right for InstVisitor.
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

17 years agoFix bug codegen'ing FP constant vectors with integer splats. Make sure the
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

17 years agonew testcase
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

17 years agoAvoid inifinite looping if READCYCLECOUNTER isn't custom lowered.
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

17 years agoEliminate unnecessary scopes.
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

17 years agoOffset for load of 32-bit arg in 64-bit world was incorrect.
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

17 years agoAdd x86-64 llvm.readcyclecounter test.
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

17 years agoCustom lower READCYCLECOUNTER for x86-64.
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

17 years agoAllow target to custom lower READCYCLECOUNTER (when it doesn't have to be expanded).
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

17 years agoFix test.
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

17 years agoOops! didn't mean to put this in there yet.
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

17 years agodone
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

17 years agonew bswap idiom
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

17 years agoimplement cast.ll:test35. With this, we recognize:
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

17 years agonew testcase
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

17 years agoTeach instcombine to turn trunc(srl x, c) -> srl (trunc(x), c) when safe.
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

17 years agonew testcase
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

17 years agoThis fails on mainline.
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

17 years agoImplement Regression/Transforms/InstCombine/bswap-fold.ll,
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

17 years agonew testcase, bswaps should be eliminated.
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

17 years ago16-byte stack alignment for X86-64 ELF. Patch by Dan Gohman.
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

17 years agoFix for PR1023 by Dan Gohman.
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

17 years agoAdd test cases for PR1022, 1023.
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

17 years agoUpgrade the ugly darwin 64-bit bswap idiom (bswap %eax / bswap %edx /
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

17 years agoFix for PR1022 (folding loads of static initializers) by Dan Gohman.
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

17 years agoTrivially lower 'bswap $0' into llvm.bswap. This fixes hexxagon with the
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

17 years agoWTF? These weird newlines got in there...
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

17 years agoadd a hook to allow targets to hack on inline asms to lower them to llvm
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

17 years agoJoin a split line.
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

17 years agoConverted to using llvm streams instead of <iostream>s
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

17 years agoReplacing std::iostreams with llvm iostreams. Some of these changes involve
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

17 years agoConvert to using llvm streams instead of iostreams.
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

17 years agoSupport for llvm_ostreams.
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

17 years agogcc doesn't like an empty colbber list
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

17 years agoUse ostream instead of iostream
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

17 years agoUse llvm streams instead of <iostream>
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

17 years agoRemoved #include <iostream> and used llvm streams
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

17 years agoRemoved some of the iostream #includes. Moved towards converting to using
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

17 years agoSupport for llvm streams.
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

17 years agoAdd a helper function
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

17 years agoIdentities are default now
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

17 years agoMake identity default, and fix PR1020
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

17 years agoAdded a temporary hack to get the llvm-streams to work for future checkins.
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

17 years agoUndo the last patch until 253.perlbmk passes with these changes.
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

17 years agoNew entries.
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

17 years agoupdate comments
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

17 years agoGet the asminfo for the target most closely matching the module and use that for...
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

17 years agoX86 asm -> gcc asm translation table (incomplete)
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

17 years agoAdd per-target support for asm translation in the cbe
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

17 years agoRemove debug code.
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

17 years agoPrime text sections to improve branch locality in large object files.
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

17 years ago32-bit int space was not accounted for properly in lowerCall.
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

17 years agoRegenerate.
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

17 years agoImplement signedness caching for values, value lists, constants and
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

17 years agoRemove 4 FIXME's from the CAST patch now that the back end is correctly
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

17 years agoAdd an -append-exit-code option to bugpoint. This will cause bugpoint to
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

17 years agoFix a typo.
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

17 years agoPut the #include for a module first.
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

17 years agoClean up.
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

17 years agoFix indentation.
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

17 years agoChanged to using LLVM streams.
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

17 years agoChanged to using llvm streams.
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

17 years agoAdded helper function to transition to using llvm streams.
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

17 years agoFix JIT encoding bugs for shift / rotate by one ops.
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

17 years agotestcase for pr1016
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

17 years agoFix PR1016
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

17 years agoRemoved #include <iostream> and replaced streams with llvm streams.
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

17 years agoPreliminary support for inline asm in the cbe. The target specific ugliness
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

17 years agoChange MachineInstr ctor's to take a TargetInstrDescriptor reference instead
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

17 years agoremove dead tag
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

17 years agoFix the dag combiner bug corresponding to PR1014.
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

17 years agothis doesn't pass with CVS HEAD.
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

17 years agoFix PR1014 and InstCombine/2006-11-27-XorBug.ll.
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

17 years agoAdd 3 more test cases for ptrtoint, fptoui and fptosi
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

17 years agotestcase for PR1014
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

17 years agoWhen truncating to bool, it is necessary to & with 1 for all casts that
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

17 years agoProtect against null streams.
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

17 years agoRemoved #include <iostream> and replaced with llvm_* streams.
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

17 years agoAlter these tests to ensure they match a "test $1, X" X86 instruction that
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

17 years agoAdd a test to ensure a bitcast/and/trunc combination eliminates the bitcast.
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

17 years agoFor better or worse, load from i1 is assumed to be zero extended. Do not
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

17 years agoIf a brcond condition is promoted, make sure to zero extend it, even if not
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

17 years agoFor PR950:
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

17 years agoDon't use bitcast yet!
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

17 years agoMake this test case easier to read. No functional changes.
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

17 years agoRemoved #include <iostream> and replace with llvm_* streams.
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

17 years agoAdd method that will take a function pointer so that it can handle things
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

17 years agoRemove #include <iostream> and use llvm_* streams instead.
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

17 years agoReplace #include <iostream> with llvm_* streams.
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