oota-llvm.git
18 years agomove some simple scheduler methods into the simple scheduler
Chris Lattner [Fri, 10 Mar 2006 07:35:21 +0000 (07:35 +0000)]
move some simple scheduler methods into the simple scheduler

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

18 years agoMake EmitNode take a SDNode instead of a NodeInfo*
Chris Lattner [Fri, 10 Mar 2006 07:28:36 +0000 (07:28 +0000)]
Make EmitNode take a SDNode instead of a NodeInfo*

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

18 years agoMove the VRBase field from NodeInfo to being a separate, explicit, map.
Chris Lattner [Fri, 10 Mar 2006 07:25:12 +0000 (07:25 +0000)]
Move the VRBase field from NodeInfo to being a separate, explicit, map.

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

18 years agoStore VRBase in a map, not in NodeInfo.
Chris Lattner [Fri, 10 Mar 2006 07:24:45 +0000 (07:24 +0000)]
Store VRBase in a map, not in NodeInfo.

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

18 years agono need to build groups anymore
Chris Lattner [Fri, 10 Mar 2006 07:15:58 +0000 (07:15 +0000)]
no need to build groups anymore

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

18 years agoCreate SUnits directly from the SelectionDAG.
Chris Lattner [Fri, 10 Mar 2006 07:13:32 +0000 (07:13 +0000)]
Create SUnits directly from the SelectionDAG.

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

18 years agoPush PrepareNodeInfo/IdentifyGroups down the inheritance hierarchy
Chris Lattner [Fri, 10 Mar 2006 06:34:51 +0000 (06:34 +0000)]
Push PrepareNodeInfo/IdentifyGroups down the inheritance hierarchy

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

18 years agomake some methods protected instead of private
Chris Lattner [Fri, 10 Mar 2006 06:30:11 +0000 (06:30 +0000)]
make some methods protected instead of private

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

18 years agoTeach the latency scheduler some new tricks. In particular, to break ties,
Chris Lattner [Fri, 10 Mar 2006 05:51:05 +0000 (05:51 +0000)]
Teach the latency scheduler some new tricks.  In particular, to break ties,
keep track of a sense of "mobility", i.e. how many other nodes scheduling one
node will free up.  For something like this:

float testadd(float *X, float *Y, float *Z, float *W, float *V) {
  return (*X+*Y)*(*Z+*W)+*V;
}

For example, this makes us schedule *X then *Y, not *X then *Z.  The former
allows us to issue the add, the later only lets us issue other loads.

This turns the above code from this:

_testadd:
        lfs f0, 0(r3)
        lfs f1, 0(r6)
        lfs f2, 0(r4)
        lfs f3, 0(r5)
        fadds f0, f0, f2
        fadds f1, f3, f1
        lfs f2, 0(r7)
        fmadds f1, f0, f1, f2
        blr

into this:

_testadd:
        lfs f0, 0(r6)
        lfs f1, 0(r5)
        fadds f0, f1, f0
        lfs f1, 0(r4)
        lfs f2, 0(r3)
        fadds f1, f2, f1
        lfs f2, 0(r7)
        fmadds f1, f1, f0, f2
        blr

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

18 years agoPut intrinsics.gen in its proper place.
Jeff Cohen [Fri, 10 Mar 2006 04:36:01 +0000 (04:36 +0000)]
Put intrinsics.gen in its proper place.

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

18 years agoadd an aggregate method for reinserting scheduled nodes, add a callback for
Chris Lattner [Fri, 10 Mar 2006 04:32:49 +0000 (04:32 +0000)]
add an aggregate method for reinserting scheduled nodes, add a callback for
priority impls that want to be notified when a node is scheduled

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

18 years agoFix an incorrect intrinsic description
Chris Lattner [Fri, 10 Mar 2006 04:17:06 +0000 (04:17 +0000)]
Fix an incorrect intrinsic description

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

18 years agoFix VC++ build breakage.
Jeff Cohen [Fri, 10 Mar 2006 03:57:45 +0000 (03:57 +0000)]
Fix VC++ build breakage.

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

18 years agoAdding an intrinsic is simpler still.
Chris Lattner [Thu, 9 Mar 2006 22:38:42 +0000 (22:38 +0000)]
Adding an intrinsic is simpler still.

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

18 years agouse autogenerated side-effect information
Chris Lattner [Thu, 9 Mar 2006 22:38:10 +0000 (22:38 +0000)]
use autogenerated side-effect information

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

18 years agogenerate side-effect info
Chris Lattner [Thu, 9 Mar 2006 22:37:52 +0000 (22:37 +0000)]
generate side-effect info

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

18 years agoSimpler still
Chris Lattner [Thu, 9 Mar 2006 22:32:16 +0000 (22:32 +0000)]
Simpler still

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

18 years agoUse autogenerated mod/ref info for intrinsics.
Chris Lattner [Thu, 9 Mar 2006 22:31:29 +0000 (22:31 +0000)]
Use autogenerated mod/ref info for intrinsics.

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

18 years agoParse mod/ref properties, autogen mod/ref information
Chris Lattner [Thu, 9 Mar 2006 22:30:49 +0000 (22:30 +0000)]
Parse mod/ref properties, autogen mod/ref information

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

18 years agoIntrinsic adding is a little bit simpler now
Chris Lattner [Thu, 9 Mar 2006 22:07:39 +0000 (22:07 +0000)]
Intrinsic adding is a little bit simpler now

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

18 years agoUse the autogenerated intrinsic verifier
Chris Lattner [Thu, 9 Mar 2006 22:06:04 +0000 (22:06 +0000)]
Use the autogenerated intrinsic verifier

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

18 years agoparse intrinsic types
Chris Lattner [Thu, 9 Mar 2006 22:05:04 +0000 (22:05 +0000)]
parse intrinsic types
autogenerate an intrinsic verifier

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

18 years agoAdd option -enable-x86-lsr to enable x86 loop strength reduction pass.
Evan Cheng [Thu, 9 Mar 2006 21:51:28 +0000 (21:51 +0000)]
Add option -enable-x86-lsr to enable x86 loop strength reduction pass.

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

18 years agoUse the function name matcher autogenerated from the .td file.
Chris Lattner [Thu, 9 Mar 2006 20:35:01 +0000 (20:35 +0000)]
Use the function name matcher autogenerated from the .td file.

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

18 years agoautogenerate the function name recognizer
Chris Lattner [Thu, 9 Mar 2006 20:34:19 +0000 (20:34 +0000)]
autogenerate the function name recognizer

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

18 years agoThis rule also depends on tblgen
Chris Lattner [Thu, 9 Mar 2006 20:29:41 +0000 (20:29 +0000)]
This rule also depends on tblgen

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

18 years agoadd a note
Chris Lattner [Thu, 9 Mar 2006 20:13:21 +0000 (20:13 +0000)]
add a note

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

18 years agouse the enum list autogen'd from Intrinsics.td
Chris Lattner [Thu, 9 Mar 2006 20:03:31 +0000 (20:03 +0000)]
use the enum list autogen'd from Intrinsics.td

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

18 years agoremove dbg_declare, it's not used yet.
Chris Lattner [Thu, 9 Mar 2006 20:02:42 +0000 (20:02 +0000)]
remove dbg_declare, it's not used yet.

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

18 years agosilly case insensitive file systems...
Chris Lattner [Thu, 9 Mar 2006 19:55:06 +0000 (19:55 +0000)]
silly case insensitive file systems...

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

18 years agoBuild intrinsics.gen from intrinsics.td
Chris Lattner [Thu, 9 Mar 2006 19:53:27 +0000 (19:53 +0000)]
Build intrinsics.gen from intrinsics.td

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

18 years agoAdd a test case for (store (op (load ..) ..) ..) folding.
Evan Cheng [Thu, 9 Mar 2006 19:04:30 +0000 (19:04 +0000)]
Add a test case for (store (op (load ..) ..) ..) folding.

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

18 years agoUpdate these tests (which use autoupgrade) to run constprop and check
Chris Lattner [Thu, 9 Mar 2006 18:43:07 +0000 (18:43 +0000)]
Update these tests (which use autoupgrade) to run constprop and check
that the file parses.

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

18 years agoautoupgrade memcpy/memmove/memset with signed counts.
Chris Lattner [Thu, 9 Mar 2006 18:42:10 +0000 (18:42 +0000)]
autoupgrade memcpy/memmove/memset with signed counts.
 CVS: ----------------------------------------------------------------------

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

18 years agothese are copies too
Andrew Lenharth [Thu, 9 Mar 2006 18:18:51 +0000 (18:18 +0000)]
these are copies too

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

18 years agoremove some now-dead code
Chris Lattner [Thu, 9 Mar 2006 18:07:49 +0000 (18:07 +0000)]
remove some now-dead code

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

18 years agofcopysign for mixed mode
Andrew Lenharth [Thu, 9 Mar 2006 17:56:33 +0000 (17:56 +0000)]
fcopysign for mixed mode

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

18 years agoback out my previous hack
Chris Lattner [Thu, 9 Mar 2006 17:48:46 +0000 (17:48 +0000)]
back out my previous hack

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

18 years agorelax fcopysign
Andrew Lenharth [Thu, 9 Mar 2006 17:47:22 +0000 (17:47 +0000)]
relax fcopysign

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

18 years agoalpha and llvm have different oppinions on which arg is the sign bit
Andrew Lenharth [Thu, 9 Mar 2006 17:41:50 +0000 (17:41 +0000)]
alpha and llvm have different oppinions on which arg is the sign bit

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

18 years agoremove temporary option
Chris Lattner [Thu, 9 Mar 2006 17:31:22 +0000 (17:31 +0000)]
remove temporary option

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

18 years agoForgot this on last check in.
Jim Laskey [Thu, 9 Mar 2006 17:30:53 +0000 (17:30 +0000)]
Forgot this on last check in.

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

18 years agoAlpha Scheduling classes
Andrew Lenharth [Thu, 9 Mar 2006 17:16:45 +0000 (17:16 +0000)]
Alpha Scheduling classes

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

18 years agotemporary hack to get the build working again, apparently a header
Chris Lattner [Thu, 9 Mar 2006 17:11:08 +0000 (17:11 +0000)]
temporary hack to get the build working again, apparently a header
commit was forgotten

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

18 years agofcopysign and get rid of dsnode cruft. custom PA runtimes make this better in some...
Andrew Lenharth [Thu, 9 Mar 2006 14:58:25 +0000 (14:58 +0000)]
fcopysign and get rid of dsnode cruft.  custom PA runtimes make this better in some senses

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

18 years agofcopysign support
Andrew Lenharth [Thu, 9 Mar 2006 14:57:36 +0000 (14:57 +0000)]
fcopysign support

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

18 years agoMove bit field endianness to backend.
Jim Laskey [Thu, 9 Mar 2006 13:28:47 +0000 (13:28 +0000)]
Move bit field endianness to backend.

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

18 years agoTemporary hack to enable more (store (op (load ...))) folding. This makes
Evan Cheng [Thu, 9 Mar 2006 08:19:11 +0000 (08:19 +0000)]
Temporary hack to enable more (store (op (load ...))) folding. This makes
it possible when a TokenFactor is between the load and store. But is still
missing some cases due to ordering issue.

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

18 years agoyes yes, enabled debug output is bad
Chris Lattner [Thu, 9 Mar 2006 07:39:25 +0000 (07:39 +0000)]
yes yes, enabled debug output is bad

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

18 years agoswitch the t-d scheduler to use a really dumb and trivial critical path
Chris Lattner [Thu, 9 Mar 2006 07:38:27 +0000 (07:38 +0000)]
switch the t-d scheduler to use a really dumb and trivial critical path
latency priority function.

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

18 years agoPull latency information for target instructions out of the latency tables. :)
Chris Lattner [Thu, 9 Mar 2006 07:15:18 +0000 (07:15 +0000)]
Pull latency information for target instructions out of the latency tables. :)
Only enable this with -use-sched-latencies, I'll enable it by default with a
clean nightly tester run tonight.

PPC is the only target that provides latency info currently.

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

18 years agodon't copy all itinerary data
Chris Lattner [Thu, 9 Mar 2006 07:13:00 +0000 (07:13 +0000)]
don't copy all itinerary data

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

18 years agoPriorityQueue is an instance var, use it.
Chris Lattner [Thu, 9 Mar 2006 06:48:37 +0000 (06:48 +0000)]
PriorityQueue is an instance var, use it.

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

18 years agoadd some comments
Chris Lattner [Thu, 9 Mar 2006 06:37:29 +0000 (06:37 +0000)]
add some comments

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

18 years agoRefactor the priority mechanism one step further: now that it is a separate
Chris Lattner [Thu, 9 Mar 2006 06:35:14 +0000 (06:35 +0000)]
Refactor the priority mechanism one step further: now that it is a separate
class, sever its implementation from the interface.  Now we can provide new
implementations of the same interface (priority computation) without touching
the scheduler itself.

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

18 years agoMake the new and old front-ends more similar: now neither uses __main.
Chris Lattner [Thu, 9 Mar 2006 06:16:28 +0000 (06:16 +0000)]
Make the new and old front-ends more similar: now neither uses __main.

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

18 years agoAdd support for 'special' llvm globals like debug info and static ctors/dtors.
Chris Lattner [Thu, 9 Mar 2006 06:14:35 +0000 (06:14 +0000)]
Add support for 'special' llvm globals like debug info and static ctors/dtors.

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

18 years agofix a pasto
Chris Lattner [Thu, 9 Mar 2006 06:09:41 +0000 (06:09 +0000)]
fix a pasto

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

18 years agoUse $(Verb) instead of @ so that VERBOSE=1 will print these.
Chris Lattner [Thu, 9 Mar 2006 06:00:05 +0000 (06:00 +0000)]
Use $(Verb) instead of @ so that VERBOSE=1 will print these.

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

18 years agoa couple of miscellaneous things.
Chris Lattner [Thu, 9 Mar 2006 01:39:46 +0000 (01:39 +0000)]
a couple of miscellaneous things.

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

18 years agoFix a really annoying bug in bugpoint that made reducing C++ testcases
Chris Lattner [Wed, 8 Mar 2006 23:55:38 +0000 (23:55 +0000)]
Fix a really annoying bug in bugpoint that made reducing C++ testcases
almost impossible with the new CFE.  It now guarantees that the static
ctor/dtor list is correctly split between the modules.

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

18 years agoAutomatically pass -emit-llvm to llvmgcc when using %llvmgcc
Chris Lattner [Wed, 8 Mar 2006 22:32:20 +0000 (22:32 +0000)]
Automatically pass -emit-llvm to llvmgcc when using %llvmgcc

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

18 years agoPass -emit-llvm automatically to %llvmgcc and %llvmg++ to fix regression
Chris Lattner [Wed, 8 Mar 2006 22:28:19 +0000 (22:28 +0000)]
Pass -emit-llvm automatically to %llvmgcc and %llvmg++ to fix regression
tests with the new f.e.

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

18 years agoAdd #line support for CBE.
Jim Laskey [Wed, 8 Mar 2006 19:31:15 +0000 (19:31 +0000)]
Add #line support for CBE.

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

18 years agoFit to 80 columns.
Chris Lattner [Wed, 8 Mar 2006 18:43:36 +0000 (18:43 +0000)]
Fit to 80 columns.
Add support for running static ctor/dtors that aren't handled by __main.
This fixes programs with the JIT and the new CFE, such as HBD.

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

18 years agoAdd a helper method for running static ctors/dtors in the module.
Chris Lattner [Wed, 8 Mar 2006 18:42:46 +0000 (18:42 +0000)]
Add a helper method for running static ctors/dtors in the module.

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

18 years agoadd a new helper method.
Chris Lattner [Wed, 8 Mar 2006 18:39:13 +0000 (18:39 +0000)]
add a new helper method.

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

18 years agoadd a new helper method
Chris Lattner [Wed, 8 Mar 2006 18:38:51 +0000 (18:38 +0000)]
add a new helper method

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

18 years agoGet rid of the multiple copies of getStringValue. Now a Constant:: method.
Jim Laskey [Wed, 8 Mar 2006 18:11:07 +0000 (18:11 +0000)]
Get rid of the multiple copies of getStringValue.  Now a Constant:: method.

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

18 years agodoo de doo
Duraid Madina [Wed, 8 Mar 2006 06:18:46 +0000 (06:18 +0000)]
doo de doo

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

18 years agoSplit the priority function computation and priority queue management out
Chris Lattner [Wed, 8 Mar 2006 05:18:27 +0000 (05:18 +0000)]
Split the priority function computation and priority queue management out
of the ScheduleDAGList class into a new SchedulingPriorityQueue class.

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

18 years agoswitch from an explicitly managed list of SUnits to a simple vector of sunits
Chris Lattner [Wed, 8 Mar 2006 04:54:34 +0000 (04:54 +0000)]
switch from an explicitly managed list of SUnits to a simple vector of sunits

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

18 years agoShrinkify some fields, fit to 80 columns
Chris Lattner [Wed, 8 Mar 2006 04:41:06 +0000 (04:41 +0000)]
Shrinkify some fields, fit to 80 columns

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

18 years agorevert the previous patch, didn't mean to check it in yet
Chris Lattner [Wed, 8 Mar 2006 04:39:05 +0000 (04:39 +0000)]
revert the previous patch, didn't mean to check it in yet

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

18 years agoremove "Slot", it is dead
Chris Lattner [Wed, 8 Mar 2006 04:37:58 +0000 (04:37 +0000)]
remove "Slot", it is dead

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

18 years agoChange the interface for getting a target HazardRecognizer to be more clean.
Chris Lattner [Wed, 8 Mar 2006 04:25:59 +0000 (04:25 +0000)]
Change the interface for getting a target HazardRecognizer to be more clean.

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

18 years agolibstdc++-v3 was failing to build. Needed to handle composite types with empty
Jim Laskey [Wed, 8 Mar 2006 02:07:02 +0000 (02:07 +0000)]
libstdc++-v3 was failing to build.  Needed to handle composite types with empty
members (running into a zero initializer.)

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

18 years agoFix a miscompilation of 188.ammp with the new CFE. 188.ammp is accessing
Chris Lattner [Wed, 8 Mar 2006 01:05:29 +0000 (01:05 +0000)]
Fix a miscompilation of 188.ammp with the new CFE.  188.ammp is accessing
arrays out of range in a horrible way, but we shouldn't break it anyway.
Details in the comments.

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

18 years agoadd a note
Chris Lattner [Wed, 8 Mar 2006 00:25:47 +0000 (00:25 +0000)]
add a note

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

18 years agoX86ISD::REP_STOS and X86ISD::REP_MOVS now produces a flag.
Evan Cheng [Tue, 7 Mar 2006 23:34:23 +0000 (23:34 +0000)]
X86ISD::REP_STOS and X86ISD::REP_MOVS now produces a flag.

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

18 years agoUse rep/stosl; and Count 0x3; rep/stosb for memset with 4 byte aligned dest.
Evan Cheng [Tue, 7 Mar 2006 23:29:39 +0000 (23:29 +0000)]
Use rep/stosl; and Count 0x3; rep/stosb for memset with 4 byte aligned dest.
and variable value.
Similarly for memcpy.

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

18 years agoTwo things:
Chris Lattner [Tue, 7 Mar 2006 22:58:23 +0000 (22:58 +0000)]
Two things:
1. Don't emit debug info, or other llvm.metadata to the .cbe.c file.
2. Mark static ctors/dtors as such, so that bugpoint works on C++ code
   compiled with the new CFE.

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

18 years agonew testcase that should have been added long ago.
Chris Lattner [Tue, 7 Mar 2006 22:33:00 +0000 (22:33 +0000)]
new testcase that should have been added long ago.

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

18 years agoUse "llvm.metadata" section for debug globals. Filter out these globals in the
Jim Laskey [Tue, 7 Mar 2006 22:00:35 +0000 (22:00 +0000)]
Use "llvm.metadata" section for debug globals.  Filter out these globals in the
asm printer.

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

18 years agoSwitch to using a numeric id for anchors.
Jim Laskey [Tue, 7 Mar 2006 20:53:47 +0000 (20:53 +0000)]
Switch to using a numeric id for anchors.

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

18 years agoFix ConstantMerge/2006-03-07-DontMergeDiffSections.ll, a problem Jim
Chris Lattner [Tue, 7 Mar 2006 17:56:59 +0000 (17:56 +0000)]
Fix ConstantMerge/2006-03-07-DontMergeDiffSections.ll, a problem Jim
hypotheticalized about, where we would incorrectly merge two globals in
different sections.

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

18 years agonew testcase
Chris Lattner [Tue, 7 Mar 2006 17:56:31 +0000 (17:56 +0000)]
new testcase

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

18 years agoadd another missing store.
Chris Lattner [Tue, 7 Mar 2006 16:26:48 +0000 (16:26 +0000)]
add another missing store.

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

18 years agoadd a couple more load/store instrs, add a newline to the end of file.
Chris Lattner [Tue, 7 Mar 2006 16:19:46 +0000 (16:19 +0000)]
add a couple more load/store instrs, add a newline to the end of file.

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

18 years agoBitfield support.
Jim Laskey [Tue, 7 Mar 2006 15:51:33 +0000 (15:51 +0000)]
Bitfield support.

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

18 years agoDon't generate silly matching code like this:
Evan Cheng [Tue, 7 Mar 2006 08:31:27 +0000 (08:31 +0000)]
Don't generate silly matching code like this:

 if (N1.getOpcode() == ISD::ADD &&
     ...)
   if (... &&
       (N1.getNumOperands() == 1 || !isNonImmUse(N1.Val, N10.Val))) &&
       ...)

TableGen knows N1 must have more than one operand.

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

18 years agoThis kinda sorta implements "things that have to lead a dispatch group".
Nate Begeman [Tue, 7 Mar 2006 08:30:27 +0000 (08:30 +0000)]
This kinda sorta implements "things that have to lead a dispatch group".

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

18 years agoadd some new instructions to the classifier. With this, we correctly insert
Chris Lattner [Tue, 7 Mar 2006 07:14:55 +0000 (07:14 +0000)]
add some new instructions to the classifier.  With this, we correctly insert
a nop into Freebench/neural, which speeds it up from 136->129s (~5.4%).

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

18 years agoadd some comments that describe what we model
Chris Lattner [Tue, 7 Mar 2006 06:44:19 +0000 (06:44 +0000)]
add some comments that describe what we model

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

18 years agoImplement a very very simple hazard recognizer for LSU rejects and ctr set/read
Chris Lattner [Tue, 7 Mar 2006 06:32:48 +0000 (06:32 +0000)]
Implement a very very simple hazard recognizer for LSU rejects and ctr set/read
flushes

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

18 years agoFix some formatting, when looking for hazards, prefer target nodes over
Chris Lattner [Tue, 7 Mar 2006 05:40:43 +0000 (05:40 +0000)]
Fix some formatting, when looking for hazards, prefer target nodes over
things like copyfromreg.

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

18 years agoadd a note
Chris Lattner [Tue, 7 Mar 2006 04:42:59 +0000 (04:42 +0000)]
add a note

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

18 years agoKeep VC++ building.
Jeff Cohen [Tue, 7 Mar 2006 02:58:13 +0000 (02:58 +0000)]
Keep VC++ building.

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

18 years agoadd a note
Chris Lattner [Tue, 7 Mar 2006 02:46:26 +0000 (02:46 +0000)]
add a note

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

18 years ago- Emit subsections_via_symbols for Darwin.
Evan Cheng [Tue, 7 Mar 2006 02:23:26 +0000 (02:23 +0000)]
- Emit subsections_via_symbols for Darwin.
- Conditionalize Dwarf debugging output (Darwin only for now).

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