Chris Lattner [Mon, 13 Mar 2006 06:51:27 +0000 (06:51 +0000)]
Fold X+Y -> X|Y when safe. This implements:
Regression/CodeGen/PowerPC/and_add.ll
a case that occurs with dynamic allocas of constant size.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26727
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 13 Mar 2006 06:50:47 +0000 (06:50 +0000)]
new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26726
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 13 Mar 2006 06:42:16 +0000 (06:42 +0000)]
I can't convince myself that this is safe, remove the recursive call.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26725
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 13 Mar 2006 06:26:26 +0000 (06:26 +0000)]
add a couple of missing folds
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26724
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 13 Mar 2006 06:08:38 +0000 (06:08 +0000)]
For targets with FABS/FNEG support, lower copysign to an integer load,
a select and FABS/FNEG.
This speeds up a trivial (aka stupid) copysign benchmark I wrote from 6.73s
to 2.64s, woo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26723
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 13 Mar 2006 05:23:59 +0000 (05:23 +0000)]
Fix a couple of bugs that broke the alpha tester build
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26722
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 13 Mar 2006 05:20:04 +0000 (05:20 +0000)]
Handle cracked instructions in dispatch group formation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26721
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 13 Mar 2006 05:15:10 +0000 (05:15 +0000)]
Mark instructions that are cracked by the PPC970 decoder as such.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26720
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 12 Mar 2006 09:13:49 +0000 (09:13 +0000)]
Several big changes:
1. Use flags on the instructions in the .td file to indicate the PPC970 unit
type instead of a table in the .cpp file. Much cleaner.
2. Change the hazard recognizer to build d-groups according to the actual
algorithm used, not my flawed understanding of it.
3. Model "must be in the first slot" and "must be the only instr in a group"
accurately.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26719
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 12 Mar 2006 09:01:41 +0000 (09:01 +0000)]
Don't advance the hazard recognizer when there are no hazards and no instructions
to be emitted.
Don't add one to the latency of a completed instruction if the latency of the
op is 0.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26718
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 12 Mar 2006 03:52:09 +0000 (03:52 +0000)]
Chain operands aren't real uses: they don't require the full latency of the
predecessor to finish before they can start.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26717
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 12 Mar 2006 00:38:57 +0000 (00:38 +0000)]
As a pending queue data structure to keep track of instructions whose
operands have all issued, but whose results are not yet available. This
allows us to compile:
int G;
int test(int A, int B, int* P) {
return (G+A)*(B+1);
}
to:
_test:
lis r2, ha16(L_G$non_lazy_ptr)
addi r4, r4, 1
lwz r2, lo16(L_G$non_lazy_ptr)(r2)
lwz r2, 0(r2)
add r2, r2, r3
mullw r3, r2, r4
blr
instead of this, which has a stall between the lis/lwz:
_test:
lis r2, ha16(L_G$non_lazy_ptr)
lwz r2, lo16(L_G$non_lazy_ptr)(r2)
addi r4, r4, 1
lwz r2, 0(r2)
add r2, r2, r3
mullw r3, r2, r4
blr
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26716
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 12 Mar 2006 00:04:28 +0000 (00:04 +0000)]
Mark llvm.stacksave as only reading memory, this fixes
Regression/Transforms/InstCombine/stacksaverestore.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26715
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 11 Mar 2006 22:44:37 +0000 (22:44 +0000)]
rename priorityqueue -> availablequeue. When a node is scheduled, remember
which cycle it lands on.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26714
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 11 Mar 2006 22:34:41 +0000 (22:34 +0000)]
Make CurrCycle a local var instead of an instance var
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26713
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 11 Mar 2006 22:28:35 +0000 (22:28 +0000)]
Move some methods around so that BU specific code is together, TD specific code
is together, and direction independent code is together.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26712
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 11 Mar 2006 22:24:20 +0000 (22:24 +0000)]
merge preds/chainpreds -> preds set
merge succs/chainsuccs -> succs set
This has no functionality change, simplifies the code, and reduces the size
of sunits.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26711
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 11 Mar 2006 21:49:49 +0000 (21:49 +0000)]
blr is a branch too
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26710
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 11 Mar 2006 20:20:40 +0000 (20:20 +0000)]
add an example
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26709
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 11 Mar 2006 20:17:08 +0000 (20:17 +0000)]
add a note
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26708
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Sat, 11 Mar 2006 02:20:46 +0000 (02:20 +0000)]
Fix PR681 by using the standard Lengauer and Tarjan algorithm for dominator
set construction, rather than intersecting various std::sets. This reduces
the memory usage for the testcase in PR681 from 496 to 26MB of ram on my
darwin system, and reduces the runtime from 32.8 to 0.8 seconds on a
2.5GHz G5. This also enables future code sharing between Dom and PostDom
now that they share near-identical implementations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26707
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 11 Mar 2006 00:20:47 +0000 (00:20 +0000)]
fix pasto in generate assertion msg
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26706
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sat, 11 Mar 2006 00:13:10 +0000 (00:13 +0000)]
Doh!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26705
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 10 Mar 2006 23:52:03 +0000 (23:52 +0000)]
Added a parameter to control whether Constant::getStringValue() would chop
off the result string at the first null terminator.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26704
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 Mar 2006 23:14:22 +0000 (23:14 +0000)]
remove some dead code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26703
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 Mar 2006 22:49:05 +0000 (22:49 +0000)]
remove ShouldEmitDebugFunctions, a hack to support llvm-db via the jit
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26702
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 Mar 2006 22:48:19 +0000 (22:48 +0000)]
scrape out bits of llvm-db
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26701
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 Mar 2006 22:39:48 +0000 (22:39 +0000)]
Remove UnixLocalInferiorProcess: debugging via the JIT isn't a good idea.
Perhaps llvm-db will turn into a read debugger someday.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26700
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 Mar 2006 22:32:18 +0000 (22:32 +0000)]
Simplify this testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26699
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 Mar 2006 21:01:34 +0000 (21:01 +0000)]
reorder these to make it work with static libraries
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26698
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 Mar 2006 20:19:50 +0000 (20:19 +0000)]
teach the JIT to encode vector registers
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26697
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 Mar 2006 18:01:03 +0000 (18:01 +0000)]
Fix another broken intrinsic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26696
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 Mar 2006 17:55:10 +0000 (17:55 +0000)]
weak globals on darwin require an extra load, breaking this test
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26695
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 Mar 2006 17:48:34 +0000 (17:48 +0000)]
Fix incorrect definitions of these intrinsics, which broke a bunch of
stuff last night.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26694
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 Mar 2006 07:51:18 +0000 (07:51 +0000)]
Move simple-selector-specific types to the simple selector.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26693
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 Mar 2006 07:49:12 +0000 (07:49 +0000)]
Simplify the interface to the schedulers, to not pass the selected heuristicin.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26692
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 Mar 2006 07:48:52 +0000 (07:48 +0000)]
Simplify the interface to the schedulers, to not pass the selected heuristic
in.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26691
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 Mar 2006 07:42:02 +0000 (07:42 +0000)]
Move some simple-sched-specific instance vars to the simple scheduler.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26690
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 10 Mar 2006 07:37:35 +0000 (07:37 +0000)]
prune #includes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26689
91177308-0d34-0410-b5e6-
96231b3b80d8
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
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
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
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
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
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
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
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
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