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