oota-llvm.git
18 years agoEmit a type matching check for ComplexPatterns.
Evan Cheng [Tue, 17 Jan 2006 07:36:41 +0000 (07:36 +0000)]
Emit a type matching check for ComplexPatterns.

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

18 years agoZero extending load from i1 to i8.
Evan Cheng [Tue, 17 Jan 2006 07:02:46 +0000 (07:02 +0000)]
Zero extending load from i1 to i8.

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

18 years agoEnsure that the CFE always emits intrinsics in their unsigned version, not with signe...
Chris Lattner [Tue, 17 Jan 2006 06:24:01 +0000 (06:24 +0000)]
Ensure that the CFE always emits intrinsics in their unsigned version, not with signed operands

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

18 years agoVisual Studio still has issues with being left out.
Jeff Cohen [Tue, 17 Jan 2006 05:13:22 +0000 (05:13 +0000)]
Visual Studio still has issues with being left out.

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

18 years agooops, this shouldn't have gotten in
Duraid Madina [Tue, 17 Jan 2006 03:09:48 +0000 (03:09 +0000)]
oops, this shouldn't have gotten in

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

18 years agoSSE does not support i64 SINT_TO_FP (FP stack doesn't either, but we custom
Evan Cheng [Tue, 17 Jan 2006 02:32:49 +0000 (02:32 +0000)]
SSE does not support i64 SINT_TO_FP (FP stack doesn't either, but we custom
expand it), so ask legalizer to expand i32 UINT_TO_FP.

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

18 years agouse proper (82-bit) spills/fills when spilling FP regs, so that
Duraid Madina [Tue, 17 Jan 2006 02:04:52 +0000 (02:04 +0000)]
use proper (82-bit) spills/fills when spilling FP regs, so that
divides don't get broken. this fixes obsequi, smg2000, and probably
a bunch of other stuff (tm)

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

18 years agofixing divides
Duraid Madina [Tue, 17 Jan 2006 01:19:49 +0000 (01:19 +0000)]
fixing divides

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

18 years agoRevert this, I didn't mean to commit it
Chris Lattner [Tue, 17 Jan 2006 00:40:24 +0000 (00:40 +0000)]
Revert this, I didn't mean to commit it

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

18 years agoAdded a FIXME comment about why FST is currently flagged to fpGETRESULT.
Evan Cheng [Tue, 17 Jan 2006 00:37:42 +0000 (00:37 +0000)]
Added a FIXME comment about why FST is currently flagged to fpGETRESULT.

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

18 years agoYet another getTargetNode() variant. I promise one of these days I'll fix
Evan Cheng [Tue, 17 Jan 2006 00:32:38 +0000 (00:32 +0000)]
Yet another getTargetNode() variant. I promise one of these days I'll fix
tblgen so this is unnecessary.

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

18 years agoAdd support for programs with a null argv[0]
Chris Lattner [Tue, 17 Jan 2006 00:32:28 +0000 (00:32 +0000)]
Add support for programs with a null argv[0]

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

18 years agoBug fixes: fpGETRESULT should produces a flag result and X86ISD::FST should
Evan Cheng [Tue, 17 Jan 2006 00:19:47 +0000 (00:19 +0000)]
Bug fixes: fpGETRESULT should produces a flag result and X86ISD::FST should
read a flag.

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

18 years agoRedundant inline keyword.
Jim Laskey [Mon, 16 Jan 2006 23:44:03 +0000 (23:44 +0000)]
Redundant inline keyword.

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

18 years agoUniqueVector template provides a means of enumerating objects uniquely.
Jim Laskey [Mon, 16 Jan 2006 23:29:43 +0000 (23:29 +0000)]
UniqueVector template provides a means of enumerating objects uniquely.

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

18 years agoMore typo's
Evan Cheng [Mon, 16 Jan 2006 23:26:53 +0000 (23:26 +0000)]
More typo's

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

18 years agoSome typo's
Evan Cheng [Mon, 16 Jan 2006 22:48:46 +0000 (22:48 +0000)]
Some typo's

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

18 years agolike bswap, the ct* intrinsics require unsigned operands
Chris Lattner [Mon, 16 Jan 2006 22:38:59 +0000 (22:38 +0000)]
like bswap, the ct* intrinsics require unsigned operands

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

18 years agoConsistency
Chris Lattner [Mon, 16 Jan 2006 22:34:14 +0000 (22:34 +0000)]
Consistency

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

18 years agofix short immediate loads
Andrew Lenharth [Mon, 16 Jan 2006 21:41:39 +0000 (21:41 +0000)]
fix short immediate loads

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

18 years agothis is fixed
Andrew Lenharth [Mon, 16 Jan 2006 21:22:42 +0000 (21:22 +0000)]
this is fixed

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

18 years agostack and rpcc
Andrew Lenharth [Mon, 16 Jan 2006 21:22:38 +0000 (21:22 +0000)]
stack and rpcc

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

18 years agoFix FP_TO_INT**_IN_MEM lowering.
Evan Cheng [Mon, 16 Jan 2006 21:21:29 +0000 (21:21 +0000)]
Fix FP_TO_INT**_IN_MEM lowering.

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

18 years agoThere is no llvm.bswap.i8, need at least 2 bytes to swap.
Reid Spencer [Mon, 16 Jan 2006 21:14:01 +0000 (21:14 +0000)]
There is no llvm.bswap.i8, need at least 2 bytes to swap.

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

18 years agoFor PR411:
Reid Spencer [Mon, 16 Jan 2006 21:12:35 +0000 (21:12 +0000)]
For PR411:
This patch is an incremental step towards supporting a flat symbol table.
It de-overloads the intrinsic functions by providing type-specific intrinsics
and arranging for automatically upgrading from the old overloaded name to
the new non-overloaded name. Specifically:
  llvm.isunordered -> llvm.isunordered.f32, llvm.isunordered.f64
  llvm.sqrt -> llvm.sqrt.f32, llvm.sqrt.f64
  llvm.ctpop -> llvm.ctpop.i8, llvm.ctpop.i16, llvm.ctpop.i32, llvm.ctpop.i64
  llvm.ctlz -> llvm.ctlz.i8, llvm.ctlz.i16, llvm.ctlz.i32, llvm.ctlz.i64
  llvm.cttz -> llvm.cttz.i8, llvm.cttz.i16, llvm.cttz.i32, llvm.cttz.i64
New code should not use the overloaded intrinsic names. Warnings will be
emitted if they are used.

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

18 years agoFor PR411:
Reid Spencer [Mon, 16 Jan 2006 21:06:01 +0000 (21:06 +0000)]
For PR411:
This file makes the helper functions for auto-upgrade of llvm assembly and
bytecode more accessible. This is part of de-overloading of intrinsic
functions to support the flat symbol table (no type planes).

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

18 years agoFriendly names
Andrew Lenharth [Mon, 16 Jan 2006 19:53:25 +0000 (19:53 +0000)]
Friendly names

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

18 years agofix a crash due to missing parens
Chris Lattner [Mon, 16 Jan 2006 19:47:21 +0000 (19:47 +0000)]
fix a crash due to missing parens

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

18 years agoadd notes from my *other* email acct.
Chris Lattner [Mon, 16 Jan 2006 17:58:54 +0000 (17:58 +0000)]
add notes from my *other* email acct.

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

18 years agotransfer some notes from my email to somewhere useful.
Chris Lattner [Mon, 16 Jan 2006 17:53:00 +0000 (17:53 +0000)]
transfer some notes from my email to somewhere useful.

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

18 years agoFix these testcases :(
Chris Lattner [Mon, 16 Jan 2006 16:34:39 +0000 (16:34 +0000)]
Fix these testcases  :(
Apparently Andrew hasn't implemented ReadCycleCounter in the new isel and
renamed ornot to eqv

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

18 years agoAdd a couple very minor tweaks
Chris Lattner [Mon, 16 Jan 2006 16:31:40 +0000 (16:31 +0000)]
Add a couple very minor tweaks

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

18 years agofixing divides: FP should now be 100%, and integers are fine too
Duraid Madina [Mon, 16 Jan 2006 14:33:04 +0000 (14:33 +0000)]
fixing divides: FP should now be 100%, and integers are fine too
unless you try to div/mod 0 by anything, in which case you will
get some cute number, and not 0, which is bad.

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

18 years agoConstant fold ctpop/ctlz/cttz, and a couple other small cleanups
Nate Begeman [Mon, 16 Jan 2006 08:07:10 +0000 (08:07 +0000)]
Constant fold ctpop/ctlz/cttz, and a couple other small cleanups

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

18 years agoExpand case for 64b Legalize, even though no one should end up using this
Nate Begeman [Mon, 16 Jan 2006 07:59:13 +0000 (07:59 +0000)]
Expand case for 64b Legalize, even though no one should end up using this
(itanium supports bswap natively, alpha should custom lower it using the
VAX floating point swapload, ha ha).

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

18 years agoAdd BSWAP stuff to intrinsic lowering for CBE & friends.
Nate Begeman [Mon, 16 Jan 2006 07:57:00 +0000 (07:57 +0000)]
Add BSWAP stuff to intrinsic lowering for CBE & friends.

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

18 years agoFix up 'adding an intrinsic' section a bit, first draft of 'adding a new
Nate Begeman [Mon, 16 Jan 2006 07:54:23 +0000 (07:54 +0000)]
Fix up 'adding an intrinsic' section a bit, first draft of 'adding a new
sdnode' section.

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

18 years agofix division! again!! pattern isel, prepare to die.
Duraid Madina [Mon, 16 Jan 2006 06:33:38 +0000 (06:33 +0000)]
fix division! again!! pattern isel, prepare to die.

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

18 years agoSilly Sparc is big endian. If we have to load args out of incoming stack slots
Chris Lattner [Mon, 16 Jan 2006 01:40:00 +0000 (01:40 +0000)]
Silly Sparc is big endian.  If we have to load args out of incoming stack slots
that are smaller than an int, make sure to adjust the frame pointer to take
this into consideration.

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

18 years agoThis pass has been removed.
Chris Lattner [Mon, 16 Jan 2006 01:06:43 +0000 (01:06 +0000)]
This pass has been removed.

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

18 years agoThis pass has never worked correctly. Remove.
Chris Lattner [Mon, 16 Jan 2006 01:06:00 +0000 (01:06 +0000)]
This pass has never worked correctly.  Remove.

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

18 years agoRemove a never-working pass
Chris Lattner [Mon, 16 Jan 2006 01:05:24 +0000 (01:05 +0000)]
Remove a never-working pass

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

18 years agoPRE is no more
Chris Lattner [Mon, 16 Jan 2006 01:05:00 +0000 (01:05 +0000)]
PRE is no more

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

18 years agoMake sure that bool,byte and short arguments are the right type when loaded
Chris Lattner [Sun, 15 Jan 2006 22:22:01 +0000 (22:22 +0000)]
Make sure that bool,byte and short arguments are the right type when loaded
from memory.

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

18 years agoThanks to Daniel Berlin's ETForest fix, we can now use it again for the verifier
Chris Lattner [Sun, 15 Jan 2006 21:58:50 +0000 (21:58 +0000)]
Thanks to Daniel Berlin's ETForest fix, we can now use it again for the verifier

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

18 years agoInitialize DFSnum's to -1, in case a node is not reachable.
Chris Lattner [Sun, 15 Jan 2006 21:48:36 +0000 (21:48 +0000)]
Initialize DFSnum's to -1, in case a node is not reachable.

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

18 years agoadd an assert, patch by Daniel Berlin
Chris Lattner [Sun, 15 Jan 2006 21:46:23 +0000 (21:46 +0000)]
add an assert, patch by Daniel Berlin

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

18 years agoAdded spec for insertelement operation.
Robert Bocchino [Sun, 15 Jan 2006 20:48:27 +0000 (20:48 +0000)]
Added spec for insertelement operation.

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

18 years agoET-Forest has issues with unreachable blocks. Temporarily disable verifiers use
Chris Lattner [Sun, 15 Jan 2006 20:00:51 +0000 (20:00 +0000)]
ET-Forest has issues with unreachable blocks.  Temporarily disable verifiers use
of it until they are resolved.

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

18 years agoDisable a broken optimization
Chris Lattner [Sun, 15 Jan 2006 19:15:46 +0000 (19:15 +0000)]
Disable a broken optimization

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

18 years agoDisable two transformations that contribute to bus errors on SparcV8.
Chris Lattner [Sun, 15 Jan 2006 18:58:59 +0000 (18:58 +0000)]
Disable two transformations that contribute to bus errors on SparcV8.

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

18 years agoAdded patterns for 8-bit multiply
Evan Cheng [Sun, 15 Jan 2006 10:05:20 +0000 (10:05 +0000)]
Added patterns for 8-bit multiply

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

18 years agoType inferencing bug
Evan Cheng [Sun, 15 Jan 2006 10:04:45 +0000 (10:04 +0000)]
Type inferencing bug

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

18 years agoexplain that r12 is the stack pointer reg
Duraid Madina [Sun, 15 Jan 2006 09:45:23 +0000 (09:45 +0000)]
explain that r12 is the stack pointer reg

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

18 years agoDon't print a label for the first MBB in a function.
Chris Lattner [Sun, 15 Jan 2006 09:26:27 +0000 (09:26 +0000)]
Don't print a label for the first MBB in a function.

Compile this:

%_2E_str_8 = external global [75 x sbyte]
implementation   ; Functions:
declare int %printf(sbyte*, ...)
void %test()
        %tmp.101 = call int (sbyte*, ...)* %printf( sbyte* getelementptr ([75 x sbyte]* %_2E_str_8, int 0, int 0) )             ; <int> [#uses=0]
        unreachable
}

to this:

main_endif_2E_8:
        save -96, %o6, %o6
        sethi %hi(_2E_str_8), %l0
        add %l0, %lo(_2E_str_8), %o0
        call printf
        nop

instead of this:

main_endif_2E_8:
        save -96, %o6, %o6
        sethi %hi(_2E_str_8), %l0
        or %g0, %lo(_2E_str_8), %l1   ;; extra instruction
        add %l1, %l0, %o0
        call printf
        nop

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

18 years agoUse the default impl of DYNAMIC_STACKALLOC, allowing us to delete some code.
Chris Lattner [Sun, 15 Jan 2006 09:02:48 +0000 (09:02 +0000)]
Use the default impl of DYNAMIC_STACKALLOC, allowing us to delete some code.

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

18 years agoUse the default lowering of ISD::DYNAMIC_STACKALLOC, delete now dead code.
Chris Lattner [Sun, 15 Jan 2006 09:00:21 +0000 (09:00 +0000)]
Use the default lowering of ISD::DYNAMIC_STACKALLOC, delete now dead code.

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

18 years agoHave legalize take care of DYNAMIC_STACKALLOC for us, implement llvm.stacksave/stackr...
Chris Lattner [Sun, 15 Jan 2006 08:55:25 +0000 (08:55 +0000)]
Have legalize take care of DYNAMIC_STACKALLOC for us, implement llvm.stacksave/stackrestore.

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

18 years agoAllow the target to specify 'expand' if they just require the amount to
Chris Lattner [Sun, 15 Jan 2006 08:54:32 +0000 (08:54 +0000)]
Allow the target to specify 'expand' if they just require the amount to
be subtracted from the stack pointer.

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

18 years agoImplement DYNAMIC_STACKALLOC for V8
Chris Lattner [Sun, 15 Jan 2006 08:43:57 +0000 (08:43 +0000)]
Implement DYNAMIC_STACKALLOC for V8

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

18 years agoFix custom lowering of dynamic_stackalloc
Chris Lattner [Sun, 15 Jan 2006 08:43:08 +0000 (08:43 +0000)]
Fix custom lowering of dynamic_stackalloc

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

18 years agoadd a missing break that Reid noticed.
Chris Lattner [Sun, 15 Jan 2006 08:40:16 +0000 (08:40 +0000)]
add a missing break that Reid noticed.

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

18 years agoadd a missing node name
Chris Lattner [Sun, 15 Jan 2006 08:39:35 +0000 (08:39 +0000)]
add a missing node name

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

18 years agoreorder passes
Chris Lattner [Sun, 15 Jan 2006 07:19:53 +0000 (07:19 +0000)]
reorder passes

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

18 years agoToken chain results are not always the first or last result. Consider copyfromreg...
Chris Lattner [Sat, 14 Jan 2006 22:41:46 +0000 (22:41 +0000)]
Token chain results are not always the first or last result.  Consider copyfromreg nodes, where they are the middle result (the flag result is last)

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

18 years agoCleanup IA64ISD, tell the graph drawer what the symbolic names for the enums are.
Chris Lattner [Sat, 14 Jan 2006 22:27:21 +0000 (22:27 +0000)]
Cleanup IA64ISD, tell the graph drawer what the symbolic names for the enums are.

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

18 years agoChange ET-Forest to automatically recalculate its DFSnum's if too many slow
Chris Lattner [Sat, 14 Jan 2006 20:55:09 +0000 (20:55 +0000)]
Change ET-Forest to automatically recalculate its DFSnum's if too many slow
queries are made.

Patch by Daniel Berlin!

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

18 years agosilence a warning
Chris Lattner [Sat, 14 Jan 2006 20:11:13 +0000 (20:11 +0000)]
silence a warning

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

18 years agoLet the inliner update the callgraph to reflect the changes it makes, instead
Chris Lattner [Sat, 14 Jan 2006 20:09:18 +0000 (20:09 +0000)]
Let the inliner update the callgraph to reflect the changes it makes, instead
of doing it ourselves.  This fixes Transforms/Inline/2006-01-14-CallGraphUpdate.ll

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

18 years agoTeach the inliner to update the CallGraph itself, and have it add edges to
Chris Lattner [Sat, 14 Jan 2006 20:07:50 +0000 (20:07 +0000)]
Teach the inliner to update the CallGraph itself, and have it add edges to
llvm.stacksave/restore when it inserts calls to them.

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

18 years agoNew testcase for a regression last night: the -inline pass wasn't updating
Chris Lattner [Sat, 14 Jan 2006 20:07:07 +0000 (20:07 +0000)]
New testcase for a regression last night: the -inline pass wasn't updating
callgraph to include new edges do to inserted llvm.stacksave/llvm.stackrestore
calls.

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

18 years agoTeach inline function how to update the callgraph when it makes changes.
Chris Lattner [Sat, 14 Jan 2006 20:05:06 +0000 (20:05 +0000)]
Teach inline function how to update the callgraph when it makes changes.

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

18 years agoAdd a new CallGraph::getOrInsertFunction for clients to use when updating
Chris Lattner [Sat, 14 Jan 2006 20:03:00 +0000 (20:03 +0000)]
Add a new CallGraph::getOrInsertFunction for clients to use when updating
the callgraph.

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

18 years agoAdd CallGraph::getOrInsertFunction, to allow clients to update the callgraph
Chris Lattner [Sat, 14 Jan 2006 20:01:50 +0000 (20:01 +0000)]
Add CallGraph::getOrInsertFunction, to allow clients to update the callgraph
when they change the program

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

18 years agoFunctionPass's cannot do IPO things.
Chris Lattner [Sat, 14 Jan 2006 19:30:35 +0000 (19:30 +0000)]
FunctionPass's cannot do IPO things.

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

18 years agoadd a dump method to CallGraph
Chris Lattner [Sat, 14 Jan 2006 19:17:02 +0000 (19:17 +0000)]
add a dump method to CallGraph

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

18 years agoRemove some duplicated code
Nate Begeman [Sat, 14 Jan 2006 03:18:27 +0000 (03:18 +0000)]
Remove some duplicated code

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

18 years agobswap implementation
Nate Begeman [Sat, 14 Jan 2006 03:14:10 +0000 (03:14 +0000)]
bswap implementation

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

18 years agoFix generous source of VC++ truncation warnings.
Jeff Cohen [Sat, 14 Jan 2006 02:17:20 +0000 (02:17 +0000)]
Fix generous source of VC++ truncation warnings.

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

18 years agoFix the instructions for adding an intrinsic.
Nate Begeman [Sat, 14 Jan 2006 01:27:10 +0000 (01:27 +0000)]
Fix the instructions for adding an intrinsic.

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

18 years agoAdd bswap intrinsics as documented in the Language Reference
Nate Begeman [Sat, 14 Jan 2006 01:25:24 +0000 (01:25 +0000)]
Add bswap intrinsics as documented in the Language Reference

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

18 years agoRemove some redundant stuff out of the readme.
Nate Begeman [Sat, 14 Jan 2006 01:24:22 +0000 (01:24 +0000)]
Remove some redundant stuff out of the readme.

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

18 years agoA typo.
Evan Cheng [Sat, 14 Jan 2006 01:18:49 +0000 (01:18 +0000)]
A typo.

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

18 years agotestcase for PR676: http://llvm.cs.uiuc.edu/PR676
Jim Laskey [Sat, 14 Jan 2006 00:29:48 +0000 (00:29 +0000)]
testcase for PR676: http://llvm.cs.uiuc.edu/PR676

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

18 years agoImplement a new InvalidateStructLayoutInfo method and add some comments
Chris Lattner [Sat, 14 Jan 2006 00:07:34 +0000 (00:07 +0000)]
Implement a new InvalidateStructLayoutInfo method and add some comments

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

18 years agoAdd a new InvalidateStructLayoutInfo method and some comments.
Chris Lattner [Sat, 14 Jan 2006 00:06:42 +0000 (00:06 +0000)]
Add a new InvalidateStructLayoutInfo method and some comments.

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

18 years agoMake the bswap documentation more to sabre's liking!
Nate Begeman [Fri, 13 Jan 2006 23:26:38 +0000 (23:26 +0000)]
Make the bswap documentation more to sabre's liking!

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

18 years agofix some minor errors
Chris Lattner [Fri, 13 Jan 2006 23:26:01 +0000 (23:26 +0000)]
fix some minor errors

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

18 years agoAdd documentation for the upcoming bswap intrinsics!
Nate Begeman [Fri, 13 Jan 2006 23:02:51 +0000 (23:02 +0000)]
Add documentation for the upcoming bswap intrinsics!

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

18 years agoAdded instcombine support for extractelement.
Robert Bocchino [Fri, 13 Jan 2006 22:48:06 +0000 (22:48 +0000)]
Added instcombine support for extractelement.

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

18 years agotestcase for PR691
Chris Lattner [Fri, 13 Jan 2006 22:05:36 +0000 (22:05 +0000)]
testcase for PR691

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

18 years agonew testcases for the stackrestore instcombine optimizations
Chris Lattner [Fri, 13 Jan 2006 22:01:47 +0000 (22:01 +0000)]
new testcases for the stackrestore instcombine optimizations

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

18 years agoAdd truncstore i1 patterns.
Evan Cheng [Fri, 13 Jan 2006 21:45:19 +0000 (21:45 +0000)]
Add truncstore i1 patterns.

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

18 years agoit is ok to dce stacksave.
Chris Lattner [Fri, 13 Jan 2006 21:31:54 +0000 (21:31 +0000)]
it is ok to dce stacksave.

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

18 years agoDo a simple instcombine xforms to delete llvm.stackrestore cases.
Chris Lattner [Fri, 13 Jan 2006 21:28:09 +0000 (21:28 +0000)]
Do a simple instcombine xforms to delete llvm.stackrestore cases.

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

18 years agoFix a bug in my last X86 checkin, pointed out by cozmic
Chris Lattner [Fri, 13 Jan 2006 20:19:44 +0000 (20:19 +0000)]
Fix a bug in my last X86 checkin, pointed out by cozmic

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

18 years agoSimplify this a tiny bit by using the new IntrinsicInst functionality.
Chris Lattner [Fri, 13 Jan 2006 20:11:04 +0000 (20:11 +0000)]
Simplify this a tiny bit by using the new IntrinsicInst functionality.

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

18 years agoSimplify the implementations of classof using the new IntrinsicInst classof.
Chris Lattner [Fri, 13 Jan 2006 20:00:51 +0000 (20:00 +0000)]
Simplify the implementations of classof using the new IntrinsicInst classof.

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

18 years agoLHS = X86ISD::CMOVcc LHS, RHS means LHS = RHS if cc. So the operands must be
Evan Cheng [Fri, 13 Jan 2006 19:51:46 +0000 (19:51 +0000)]
LHS = X86ISD::CMOVcc LHS, RHS  means LHS = RHS if cc. So the operands must be
flipped around.

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

18 years agoAdd some functionality to the IntrinsicInst class and some comments
Chris Lattner [Fri, 13 Jan 2006 19:49:02 +0000 (19:49 +0000)]
Add some functionality to the IntrinsicInst class and some comments

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