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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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