oota-llvm.git
18 years agoEnable Dwarf debugging info.
Evan Cheng [Tue, 7 Mar 2006 02:02:57 +0000 (02:02 +0000)]
Enable Dwarf debugging info.

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

18 years agoTeach the alignment handling code to look through constant expr casts and GEPs
Chris Lattner [Tue, 7 Mar 2006 01:28:57 +0000 (01:28 +0000)]
Teach the alignment handling code to look through constant expr casts and GEPs

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

18 years agonew regression test
Chris Lattner [Mon, 6 Mar 2006 23:52:37 +0000 (23:52 +0000)]
new regression test

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

18 years agoTeach instcombine to increase the alignment of memset/memcpy/memmove when
Chris Lattner [Mon, 6 Mar 2006 20:18:44 +0000 (20:18 +0000)]
Teach instcombine to increase the alignment of memset/memcpy/memmove when
the pointer is known to come from either a global variable, alloca or
malloc.  This allows us to compile this:

  P = malloc(28);
  memset(P, 0, 28);

into explicit stores on PPC instead of a memset call.

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

18 years agoupdate file comment
Chris Lattner [Mon, 6 Mar 2006 17:58:04 +0000 (17:58 +0000)]
update file comment

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

18 years agoRemove some code that doesn't make sense
Evan Cheng [Mon, 6 Mar 2006 07:31:44 +0000 (07:31 +0000)]
Remove some code that doesn't make sense

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

18 years agoMake sure command line options are parsed before we try to add the LibPath
Reid Spencer [Mon, 6 Mar 2006 06:38:19 +0000 (06:38 +0000)]
Make sure command line options are parsed before we try to add the LibPath
(-L options) to TheLinker. Problem noticed by Wink Saville.

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

18 years agoRemove SUnit::Priority1: it is re-calculated on demand as number of live
Evan Cheng [Mon, 6 Mar 2006 06:08:54 +0000 (06:08 +0000)]
Remove SUnit::Priority1: it is re-calculated on demand as number of live
range to be generated.

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

18 years agoHoist the HazardRecognizer out of the ScheduleDAGList.cpp file to where
Chris Lattner [Mon, 6 Mar 2006 00:22:00 +0000 (00:22 +0000)]
Hoist the HazardRecognizer out of the ScheduleDAGList.cpp file to where
targets can implement them.  Make the top-down scheduler non-g5-specific.

Remove the old testing hazard recognizer.

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

18 years agoHoist the HazardRecognizer out of the ScheduleDAGList.cpp file to where
Chris Lattner [Mon, 6 Mar 2006 00:20:29 +0000 (00:20 +0000)]
Hoist the HazardRecognizer out of the ScheduleDAGList.cpp file to where
targets can implement them.  Make the top-down scheduler non-g5-specific.

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

18 years agoComment fixes
Chris Lattner [Sun, 5 Mar 2006 23:59:20 +0000 (23:59 +0000)]
Comment fixes

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

18 years agoDon't depend on the C99 copysign function, implement it ourselves.
Chris Lattner [Sun, 5 Mar 2006 23:57:58 +0000 (23:57 +0000)]
Don't depend on the C99 copysign function, implement it ourselves.

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

18 years agonew testcase I forgot to check in earlier
Chris Lattner [Sun, 5 Mar 2006 23:53:04 +0000 (23:53 +0000)]
new testcase I forgot to check in earlier

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

18 years agoWhen a hazard recognizer needs noops to be inserted, do so. This represents
Chris Lattner [Sun, 5 Mar 2006 23:51:47 +0000 (23:51 +0000)]
When a hazard recognizer needs noops to be inserted, do so.  This represents
noops as null pointers in the instruction sequence.

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

18 years agoadd an emitnoop method
Chris Lattner [Sun, 5 Mar 2006 23:50:42 +0000 (23:50 +0000)]
add an emitnoop method

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

18 years agoimplement TII::insertNoop
Chris Lattner [Sun, 5 Mar 2006 23:49:55 +0000 (23:49 +0000)]
implement TII::insertNoop

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

18 years agocustom lowered nodes are legal too
Chris Lattner [Sun, 5 Mar 2006 23:49:19 +0000 (23:49 +0000)]
custom lowered nodes are legal too

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

18 years agoadd a hook to insert a noop
Chris Lattner [Sun, 5 Mar 2006 23:48:51 +0000 (23:48 +0000)]
add a hook to insert a noop

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

18 years agoImplement G5HazardRecognizer as a trivial thing that wants 5 cycles between
Chris Lattner [Sun, 5 Mar 2006 23:13:56 +0000 (23:13 +0000)]
Implement G5HazardRecognizer as a trivial thing that wants 5 cycles between
copyfromreg nodes.  Clearly useful!

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

18 years agoAdd basic hazard recognizer support. noop insertion isn't complete yet though.
Chris Lattner [Sun, 5 Mar 2006 22:45:01 +0000 (22:45 +0000)]
Add basic hazard recognizer support.  noop insertion isn't complete yet though.

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

18 years agoFor transforms the behave differently if main goes away, add an option to prevent...
Andrew Lenharth [Sun, 5 Mar 2006 22:21:36 +0000 (22:21 +0000)]
For transforms the behave differently if main goes away, add an option to prevent bugpoint from removing main

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

18 years agoFix VC++ compilation error.
Jeff Cohen [Sun, 5 Mar 2006 21:43:37 +0000 (21:43 +0000)]
Fix VC++ compilation error.

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

18 years agoBreathe some life into a comment.
Jim Laskey [Sun, 5 Mar 2006 21:20:20 +0000 (21:20 +0000)]
Breathe some life into a comment.

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

18 years agoSplit the list scheduler into top-down and bottom-up pieces. The priority
Chris Lattner [Sun, 5 Mar 2006 21:10:33 +0000 (21:10 +0000)]
Split the list scheduler into top-down and bottom-up pieces.  The priority
function of the top-down scheduler are completely bogus currently, and
having (future) PPC specific in this file is also wrong, but this is a
small incremental step.

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

18 years agoAdd a new scheduling type. This is, of course, a hack. Proper factoring
Chris Lattner [Sun, 5 Mar 2006 21:08:06 +0000 (21:08 +0000)]
Add a new scheduling type.  This is, of course, a hack.  Proper factoring
will come later.

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

18 years agoMove the available queue to being inside the ListSchedule method, since it
Chris Lattner [Sun, 5 Mar 2006 20:21:55 +0000 (20:21 +0000)]
Move the available queue to being inside the ListSchedule method, since it
bounds its lifetime.

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

18 years agoadd a note
Chris Lattner [Sun, 5 Mar 2006 20:00:08 +0000 (20:00 +0000)]
add a note

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

18 years agoReinstate this now that the offending opposite xform has been removed.
Chris Lattner [Sun, 5 Mar 2006 19:53:55 +0000 (19:53 +0000)]
Reinstate this now that the offending opposite xform has been removed.

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

18 years agoDo not fold (add (shl x, c1), (shl c2, c1)) -> (shl (add x, c2), c1),
Chris Lattner [Sun, 5 Mar 2006 19:52:57 +0000 (19:52 +0000)]
Do not fold (add (shl x, c1), (shl c2, c1)) -> (shl (add x, c2), c1),
we want to canonicalize the other way.

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

18 years agoprint arbitrary constant pool entries
Chris Lattner [Sun, 5 Mar 2006 09:38:03 +0000 (09:38 +0000)]
print arbitrary constant pool entries

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

18 years agoBack out fold (shl (add x, c1), c2) -> (add (shl x, c2), c1<<c2) for now.
Evan Cheng [Sun, 5 Mar 2006 07:30:16 +0000 (07:30 +0000)]
Back out fold (shl (add x, c1), c2) -> (add (shl x, c2), c1<<c2) for now.
It's causing an infinite loop compiling ldecod on x86 / Darwin.

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

18 years agoAdd some simple copysign folds
Chris Lattner [Sun, 5 Mar 2006 05:30:57 +0000 (05:30 +0000)]
Add some simple copysign folds

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

18 years agoCodegen copysign[f] into a FCOPYSIGN node
Chris Lattner [Sun, 5 Mar 2006 05:09:38 +0000 (05:09 +0000)]
Codegen copysign[f] into a FCOPYSIGN node

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

18 years agoCopysign needs to be expanded everywhere. Note that Alpha and IA64 should
Chris Lattner [Sun, 5 Mar 2006 05:08:37 +0000 (05:08 +0000)]
Copysign needs to be expanded everywhere.  Note that Alpha and IA64 should
implement copysign as a native op if they have it.

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

18 years agoAdd a copysign node
Chris Lattner [Sun, 5 Mar 2006 05:06:40 +0000 (05:06 +0000)]
Add a copysign node

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

18 years agoadd a note for something evan noticed
Chris Lattner [Sun, 5 Mar 2006 01:15:18 +0000 (01:15 +0000)]
add a note for something evan noticed

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

18 years agoMake vector narrowing more effective, implementing
Chris Lattner [Sun, 5 Mar 2006 00:22:33 +0000 (00:22 +0000)]
Make vector narrowing more effective, implementing
Transforms/InstCombine/vec_narrow.ll.  This add support for narrowing
extract_element(insertelement) also.

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

18 years agonew testcase for vector narrowing.
Chris Lattner [Sun, 5 Mar 2006 00:21:28 +0000 (00:21 +0000)]
new testcase for vector narrowing.

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

18 years agoImplemented.
Chris Lattner [Sat, 4 Mar 2006 23:33:44 +0000 (23:33 +0000)]
Implemented.

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

18 years agofold (mul (add x, c1), c2) -> (add (mul x, c2), c1*c2)
Chris Lattner [Sat, 4 Mar 2006 23:33:26 +0000 (23:33 +0000)]
fold (mul (add x, c1), c2) -> (add (mul x, c2), c1*c2)
fold (shl (add x, c1), c2) -> (add (shl x, c2), c1<<c2)

This allows us to compile CodeGen/PowerPC/addi-reassoc.ll into:

_test1:
        slwi r2, r4, 4
        add r2, r2, r3
        lwz r3, 36(r2)
        blr
_test2:
        mulli r2, r4, 5
        add r2, r2, r3
        lbz r2, 11(r2)
        extsb r3, r2
        blr

instead of:

_test1:
        addi r2, r4, 2
        slwi r2, r2, 4
        add r2, r3, r2
        lwz r3, 4(r2)
        blr
_test2:
        addi r2, r4, 2
        mulli r2, r2, 5
        add r2, r3, r2
        lbz r2, 1(r2)
        extsb r3, r2
        blr

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

18 years agonew testcase
Chris Lattner [Sat, 4 Mar 2006 23:31:49 +0000 (23:31 +0000)]
new testcase

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

18 years agoFix a crash compiling Obsequi
Chris Lattner [Sat, 4 Mar 2006 21:48:01 +0000 (21:48 +0000)]
Fix a crash compiling Obsequi

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

18 years agonew testcase
Chris Lattner [Sat, 4 Mar 2006 09:35:02 +0000 (09:35 +0000)]
new testcase

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

18 years agoAdd factoring of multiplications, e.g. turning A*A+A*B into A*(A+B).
Chris Lattner [Sat, 4 Mar 2006 09:31:13 +0000 (09:31 +0000)]
Add factoring of multiplications, e.g. turning A*A+A*B into A*(A+B).
Testcase here: Transforms/Reassociate/mulfactor.ll

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

18 years agoAdd a note
Chris Lattner [Sat, 4 Mar 2006 08:44:51 +0000 (08:44 +0000)]
Add a note

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

18 years agoRegenerate
Chris Lattner [Sat, 4 Mar 2006 07:53:41 +0000 (07:53 +0000)]
Regenerate

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

18 years agoDon't use invalidated iterators!
Chris Lattner [Sat, 4 Mar 2006 07:53:16 +0000 (07:53 +0000)]
Don't use invalidated iterators!

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

18 years agoAdd an entry
Evan Cheng [Sat, 4 Mar 2006 07:49:50 +0000 (07:49 +0000)]
Add an entry

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

18 years agoCanonicalize (X+C1)*C2 -> X*C2+C1*C2
Chris Lattner [Sat, 4 Mar 2006 06:04:02 +0000 (06:04 +0000)]
Canonicalize (X+C1)*C2 -> X*C2+C1*C2
This implements Transforms/InstCombine/add.ll:test31

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

18 years agonew testcase
Chris Lattner [Sat, 4 Mar 2006 06:02:36 +0000 (06:02 +0000)]
new testcase

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

18 years agoMEMSET / MEMCPY lowering bugs: we can't issue a single WORD / DWORD version of
Evan Cheng [Sat, 4 Mar 2006 02:48:56 +0000 (02:48 +0000)]
MEMSET / MEMCPY lowering bugs: we can't issue a single WORD / DWORD version of
rep/stos and rep/mov if the count is not a constant. We could do
  rep/stosl; and $count, 3; rep/stosb
For now, I will lower them to memset / memcpy calls. We will revisit this after
a little bit experiment.

Also need to take care of the trailing bytes even if the count is a constant.
Since the max. number of trailing bytes are 3, we will simply issue loads /
stores.

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

18 years agoKeep Visual Studio happy.
Jeff Cohen [Sat, 4 Mar 2006 02:19:46 +0000 (02:19 +0000)]
Keep Visual Studio happy.

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

18 years agoBe more conservative with our symbolic alias analysis. In particular,
Chris Lattner [Sat, 4 Mar 2006 02:06:34 +0000 (02:06 +0000)]
Be more conservative with our symbolic alias analysis.  In particular,
don't assume that A[1][0] and A[0][i] can't alias.  "i" might be out of
range, or even negative.  This fixes a miscompilation of 188.ammp (which
does bad pointer tricks) with the new CFE.

Testcase here: Analysis/BasicAA/2006-03-03-BadArraySubscript.ll

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

18 years agonew testcase
Chris Lattner [Sat, 4 Mar 2006 02:05:07 +0000 (02:05 +0000)]
new testcase

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

18 years agoadd a note
Chris Lattner [Sat, 4 Mar 2006 01:19:34 +0000 (01:19 +0000)]
add a note

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

18 years agoTypo
Evan Cheng [Sat, 4 Mar 2006 01:12:00 +0000 (01:12 +0000)]
Typo

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

18 years agoNew testcase, make sure nate doesn't vanish
Chris Lattner [Sat, 4 Mar 2006 00:47:12 +0000 (00:47 +0000)]
New testcase, make sure nate doesn't vanish

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

18 years agoSpec change: the size of a memset/memcpy/memmove is not required to be aligned
Chris Lattner [Sat, 4 Mar 2006 00:02:10 +0000 (00:02 +0000)]
Spec change: the size of a memset/memcpy/memmove is not required to be aligned
to the alignment argument.

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

18 years agoAdded support for dwarf block data entries.
Jim Laskey [Fri, 3 Mar 2006 21:00:14 +0000 (21:00 +0000)]
Added support for dwarf block data entries.

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

18 years agoSilence a warning.
Chris Lattner [Fri, 3 Mar 2006 19:34:28 +0000 (19:34 +0000)]
Silence a warning.

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

18 years agoAdd another test case for instruction scheduling.
Evan Cheng [Fri, 3 Mar 2006 18:58:09 +0000 (18:58 +0000)]
Add another test case for instruction scheduling.

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

18 years agoUnbreak autouprade of llvm.sqrt, simplify some code.
Chris Lattner [Fri, 3 Mar 2006 16:31:22 +0000 (16:31 +0000)]
Unbreak autouprade of llvm.sqrt, simplify some code.

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

18 years agoAdding basic structure support.
Jim Laskey [Fri, 3 Mar 2006 15:06:57 +0000 (15:06 +0000)]
Adding basic structure support.

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

18 years agoAdd more vector NodeTypes: VSDIV, VUDIV, VAND, VOR, and VXOR.
Evan Cheng [Fri, 3 Mar 2006 07:01:07 +0000 (07:01 +0000)]
Add more vector NodeTypes: VSDIV, VUDIV, VAND, VOR, and VXOR.

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

18 years agoNumber of NodeTypes now exceeds 128.
Evan Cheng [Fri, 3 Mar 2006 06:58:59 +0000 (06:58 +0000)]
Number of NodeTypes now exceeds 128.

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

18 years agoSDOperand::isOperand should not be a forwarding. It must check *this against N's...
Evan Cheng [Fri, 3 Mar 2006 06:42:32 +0000 (06:42 +0000)]
SDOperand::isOperand should not be a forwarding. It must check *this against N's operands.

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

18 years agoAdded isOperand(N): true if this is an operand of N
Evan Cheng [Fri, 3 Mar 2006 06:24:54 +0000 (06:24 +0000)]
Added isOperand(N): true if this is an operand of N

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

18 years agoA bit more tweaking
Evan Cheng [Fri, 3 Mar 2006 06:23:43 +0000 (06:23 +0000)]
A bit more tweaking

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

18 years agoFix pasteo
Chris Lattner [Fri, 3 Mar 2006 06:13:41 +0000 (06:13 +0000)]
Fix pasteo

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

18 years agoFix VC++ compilation errors.
Jeff Cohen [Fri, 3 Mar 2006 03:25:07 +0000 (03:25 +0000)]
Fix VC++ compilation errors.

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

18 years agoremove a bunch of long-dead testing code
Chris Lattner [Fri, 3 Mar 2006 02:34:28 +0000 (02:34 +0000)]
remove a bunch of long-dead testing code

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

18 years agoinitial checkin of the intrinsic description file
Chris Lattner [Fri, 3 Mar 2006 02:33:15 +0000 (02:33 +0000)]
initial checkin of the intrinsic description file

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

18 years agoinitial implementation of intrinsic parsing
Chris Lattner [Fri, 3 Mar 2006 02:32:46 +0000 (02:32 +0000)]
initial implementation of intrinsic parsing

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

18 years agoImplemented -quiet feature for analyze
Robert Bocchino [Fri, 3 Mar 2006 02:12:04 +0000 (02:12 +0000)]
Implemented -quiet feature for analyze

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

18 years agoMove #include "llvm/CodeGen/AsmPrinter.h" to top since it's the interface.
Evan Cheng [Fri, 3 Mar 2006 02:04:29 +0000 (02:04 +0000)]
Move #include "llvm/CodeGen/AsmPrinter.h" to top since it's the interface.

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

18 years agoremove out of date comment
Chris Lattner [Fri, 3 Mar 2006 02:04:07 +0000 (02:04 +0000)]
remove out of date comment

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

18 years agoupdate comment
Chris Lattner [Fri, 3 Mar 2006 01:55:49 +0000 (01:55 +0000)]
update comment

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

18 years agoSplit the valuetypes out of Target.td into ValueTypes.td
Chris Lattner [Fri, 3 Mar 2006 01:55:26 +0000 (01:55 +0000)]
Split the valuetypes out of Target.td into ValueTypes.td

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

18 years agopass -Illvm/include to tblgen
Chris Lattner [Fri, 3 Mar 2006 01:54:54 +0000 (01:54 +0000)]
pass -Illvm/include to tblgen

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

18 years agoSplit this out of Target.td
Chris Lattner [Fri, 3 Mar 2006 01:54:11 +0000 (01:54 +0000)]
Split this out of Target.td

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

18 years agoAdd support for "-Ifoo" in addition to "-I foo"
Chris Lattner [Fri, 3 Mar 2006 01:53:40 +0000 (01:53 +0000)]
Add support for "-Ifoo" in addition to "-I foo"

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

18 years agoRegenerate
Chris Lattner [Fri, 3 Mar 2006 01:47:37 +0000 (01:47 +0000)]
Regenerate

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

18 years agoadd support for multiple include directories
Chris Lattner [Fri, 3 Mar 2006 01:47:14 +0000 (01:47 +0000)]
add support for multiple include directories

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

18 years agoChange this to work with renamed intrinsics.
Chris Lattner [Fri, 3 Mar 2006 01:34:17 +0000 (01:34 +0000)]
Change this to work with renamed intrinsics.

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

18 years agoUpgrade this to use the new intrinsic names
Chris Lattner [Fri, 3 Mar 2006 01:31:12 +0000 (01:31 +0000)]
Upgrade this to use the new intrinsic names

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

18 years agoMake this work with renamed intrinsics.
Chris Lattner [Fri, 3 Mar 2006 01:30:23 +0000 (01:30 +0000)]
Make this work with renamed intrinsics.

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

18 years agoupdates for recent changes
Chris Lattner [Fri, 3 Mar 2006 01:21:36 +0000 (01:21 +0000)]
updates for recent changes

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

18 years agomention some major changes
Chris Lattner [Fri, 3 Mar 2006 00:34:26 +0000 (00:34 +0000)]
mention some major changes

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

18 years agoremove the read/write port/io intrinsics.
Chris Lattner [Fri, 3 Mar 2006 00:19:58 +0000 (00:19 +0000)]
remove the read/write port/io intrinsics.

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

18 years agoRemove these testcases. These intrinsics are going away
Chris Lattner [Fri, 3 Mar 2006 00:16:23 +0000 (00:16 +0000)]
Remove these testcases.  These intrinsics are going away

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

18 years agoUpdate the llvm.memset/memcpy/memmove intrinsics to reflect the recent split
Chris Lattner [Fri, 3 Mar 2006 00:07:20 +0000 (00:07 +0000)]
Update the llvm.memset/memcpy/memmove intrinsics to reflect the recent split
into types.

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

18 years agoSplit memcpy/memset/memmove intrinsics into i32/i64 versions, resolving
Chris Lattner [Fri, 3 Mar 2006 00:00:25 +0000 (00:00 +0000)]
Split memcpy/memset/memmove intrinsics into i32/i64 versions, resolving
PR709, and paving the way for future progress.

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

18 years agoSimplify the autoupgrade interface
Chris Lattner [Thu, 2 Mar 2006 23:59:12 +0000 (23:59 +0000)]
Simplify the autoupgrade interface

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

18 years agoSplit memcpy/memset/memmove intrinsics into i32/i64 versions, resolving
Chris Lattner [Thu, 2 Mar 2006 23:58:40 +0000 (23:58 +0000)]
Split memcpy/memset/memmove intrinsics into i32/i64 versions, resolving
PR709, and paving the way for future progress.

Significantly refactor autoupgrading code, to handle the more complex case
(where we upgrade one argument in a function), and fix some bugs in it.

Testcase here: llvm/test/Regression/Bytecode/memcpy.ll

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

18 years agonew testcases
Chris Lattner [Thu, 2 Mar 2006 23:56:23 +0000 (23:56 +0000)]
new testcases

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

18 years agoadd a note
Chris Lattner [Thu, 2 Mar 2006 22:34:38 +0000 (22:34 +0000)]
add a note

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

18 years agoAdd a regression test for bug 478.
Evan Cheng [Thu, 2 Mar 2006 21:48:34 +0000 (21:48 +0000)]
Add a regression test for bug 478.

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

18 years ago- Fixed some priority calculation bugs that were causing bug 478. Among them:
Evan Cheng [Thu, 2 Mar 2006 21:38:29 +0000 (21:38 +0000)]
- Fixed some priority calculation bugs that were causing bug 478. Among them:
  a predecessor appearing more than once in the operand list was counted as
  multiple predecessor; priority1 should be updated during scheduling;
  CycleBound was updated after the node is inserted into priority queue; one
  of the tie breaking condition was flipped.
- Take into consideration of two address opcodes. If a predecessor is a def&use
  operand, it should have a higher priority.
- Scheduler should also favor floaters, i.e. nodes that do not have real
  predecessors such as MOV32ri.
- The scheduling fixes / tweaks fixed bug 478:
        .text
        .align  4
        .globl  _f
_f:
        movl 4(%esp), %eax
        movl 8(%esp), %ecx
        movl %eax, %edx
        imull %ecx, %edx
        imull %eax, %eax
        imull %ecx, %ecx
        addl %eax, %ecx
        leal (%ecx,%edx,2), %eax
        ret

  It is also a slight performance win (1% - 3%) for most tests.

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

18 years agoGeneralize the REM folding code to handle another case Nick Lewycky
Chris Lattner [Thu, 2 Mar 2006 06:50:58 +0000 (06:50 +0000)]
Generalize the REM folding code to handle another case Nick Lewycky
pointed out: realize the AND can provide factors and look through Casts.

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

18 years agoadd a couple more cases
Chris Lattner [Thu, 2 Mar 2006 06:50:04 +0000 (06:50 +0000)]
add a couple more cases

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