Chris Lattner
88a4c43e67
Fix a spurious warning.
...
llvm-svn: 19799
2005-01-24 01:40:18 +00:00
Tanya Lattner
d3459278f2
Minor changes.
...
llvm-svn: 19660
2005-01-18 04:15:41 +00:00
Tanya Lattner
5a10531cf8
Added tmp instructions to preserve ssa.
...
llvm-svn: 19632
2005-01-17 06:47:26 +00:00
Tanya Lattner
fea188af7e
Added paramters to a few functions in order to allow me to change the functions to preserve SSA
...
llvm-svn: 19615
2005-01-16 08:51:10 +00:00
Chris Lattner
be2a427f51
cycles_t -> CycleCount_t
...
llvm-svn: 19604
2005-01-16 04:20:30 +00:00
Reid Spencer
afa1cb9e11
Rename BUILD_* to PROJ_*
...
llvm-svn: 19592
2005-01-16 02:21:29 +00:00
Tanya Lattner
66cf1a6f82
Fixed a couple of instructions that broke SSA.
...
llvm-svn: 19587
2005-01-16 02:14:17 +00:00
Tanya Lattner
3b44c9a485
Chris is a pain ;) Removing reassociate.
...
llvm-svn: 19005
2004-12-16 23:16:16 +00:00
Tanya Lattner
93142a02ee
Removing commented out lines.
...
llvm-svn: 19004
2004-12-16 23:13:16 +00:00
Tanya Lattner
c537a19bad
Removed LICM and GCSE.
...
llvm-svn: 19003
2004-12-16 23:07:36 +00:00
Chris Lattner
50411edddf
Remove dead #include
...
llvm-svn: 18994
2004-12-16 19:32:38 +00:00
Chris Lattner
dc59826592
Use the rules in Makefile.rules to build SparcV9GenCodeEmitter.inc instead
...
of custom rules.
llvm-svn: 18984
2004-12-16 16:47:56 +00:00
Chris Lattner
d311c2587d
Fix header
...
llvm-svn: 18983
2004-12-16 16:47:03 +00:00
Chris Lattner
6131b06f73
Use the target triple to pick this target.
...
llvm-svn: 18830
2004-12-12 17:40:28 +00:00
Tanya Lattner
d24558ac54
When writing kernel, save the branches til the end. They are still put in the "right place" in the schedule, but sometimes when folding to make a kernel instructions are added between branches. This is wrong. To avoid this, we handle branches special.
...
llvm-svn: 18450
2004-12-03 05:25:22 +00:00
Chris Lattner
eb18ce7a43
The stripping pass as we know it is about to disappear
...
llvm-svn: 18436
2004-12-02 21:05:01 +00:00
Tanya Lattner
01adb68f38
Reworked branch adding in prologue. Added check for infinite loops which are not modulo scheduled.
...
llvm-svn: 18419
2004-12-02 07:22:15 +00:00
Chris Lattner
679cc8deab
Remove extraneous namespacification. In particular, don't define llvm::llvm::createInternalGlobalMapperPass
...
llvm-svn: 18365
2004-11-30 00:22:59 +00:00
Tanya Lattner
4b705a5897
Reworked branching so we don't handle BAs specially. It just updates the branchTO regardless of what type of branch it is.
...
llvm-svn: 18322
2004-11-29 04:39:47 +00:00
Tanya Lattner
819de3ccd4
Fixed bug where instructions in the kernel were not ordered right to preserve dependencies in a cycle.
...
llvm-svn: 18314
2004-11-28 23:36:15 +00:00
Tanya Lattner
1d440e4782
Forced branches to be first to be scheduled.
...
llvm-svn: 18195
2004-11-24 01:49:10 +00:00
Chris Lattner
aa5a51292c
Squelch a bogus warning
...
llvm-svn: 18157
2004-11-23 15:57:01 +00:00
Tanya Lattner
1d5bef8728
Changed the CreateCodeToLoadConst function to preserve SSA form. This basically means adding extra tmp instructions for intermediate values.
...
llvm-svn: 18137
2004-11-23 04:22:29 +00:00
Chris Lattner
a0d9f5ba13
Remove some dead vars and some useless namespacification
...
llvm-svn: 18126
2004-11-22 21:42:40 +00:00
Chris Lattner
8923fe6832
Implement a disgusting hack to work around broken machine code emission of
...
the RDCCR instruction. This fixes a bunch of programs with the JIT.
llvm-svn: 18124
2004-11-22 21:25:10 +00:00
Tanya Lattner
da8a6fc7d4
Fixed a bug where I was trying to ModuloSchedule a loop with no instructions but a terminator.
...
Fixed a bug in the schedule generation that was always using the start cycle.
llvm-svn: 18123
2004-11-22 20:41:24 +00:00
Chris Lattner
9d7ad5bf96
Remove JIT-specific code from the code emitter.
...
llvm-svn: 18122
2004-11-22 20:25:10 +00:00
Chris Lattner
4d5cde4b09
New methods implemented
...
llvm-svn: 18121
2004-11-22 20:24:42 +00:00
Chris Lattner
a3447e02b8
Implement the Sparc JIT interfaces, including relocation support.
...
llvm-svn: 18120
2004-11-22 20:24:27 +00:00
Chris Lattner
1670e9e779
Initial checkin of the V9 relocation types
...
llvm-svn: 18095
2004-11-22 00:40:51 +00:00
Chris Lattner
37fc0d8b95
Adjust to changed interfaces
...
llvm-svn: 18064
2004-11-20 23:53:26 +00:00
Chris Lattner
275f594cb7
This method was never implemented
...
llvm-svn: 18039
2004-11-20 04:19:47 +00:00
Tanya Lattner
b522771244
Made modsched hidden and changed so it matches the style of other options.
...
llvm-svn: 18024
2004-11-19 23:34:33 +00:00
Tanya Lattner
bd01287efd
Fixed to fit in 80 columns.
...
llvm-svn: 17961
2004-11-18 18:47:29 +00:00
Tanya Lattner
d29c748a57
Adding option to llc for ModuloScheduling. By default it is turned off.
...
llvm-svn: 17959
2004-11-18 18:38:01 +00:00
Tanya Lattner
18118cf0c3
Added my own defMap. Only saving values that are not loop invariant. Fixed a couple of assertions that were triggered due to registers not being allocated. These both had to do with PHINodes.
...
llvm-svn: 17907
2004-11-16 21:31:37 +00:00
Chris Lattner
f5c5cb033e
Decompose* is V9 specific, make it internal
...
llvm-svn: 17547
2004-11-07 00:43:24 +00:00
Chris Lattner
f11d034489
Move this file from lib/Transforms/Scalar
...
llvm-svn: 17544
2004-11-07 00:39:09 +00:00
Tanya Lattner
bd82bbff7c
Added gross hacks such as creating my own def-use map, and picking on Instruction that I can add all my TmpInstructions to its MCFI.
...
llvm-svn: 17441
2004-11-02 21:04:56 +00:00
Reid Spencer
acb1305e99
Internalize variable names to prevent recursive assignment. Cleanup docs.
...
llvm-svn: 17359
2004-10-30 09:19:36 +00:00
Tanya Lattner
8b938744dc
Fixed bug with infinite epilogues.
...
Fixed issue with generating the partial order. It now adds the nodes not in recurrences in sets for each connected component.
llvm-svn: 17351
2004-10-30 00:39:07 +00:00
Reid Spencer
d3f7233495
Change Library Names Not To Conflict With Others When Installed
...
llvm-svn: 17286
2004-10-27 23:18:45 +00:00
Reid Spencer
4e31ccbe2e
Clean up the output from this makefile so its not verbose.
...
llvm-svn: 17173
2004-10-22 23:24:39 +00:00
Reid Spencer
019621a1ea
Adjust to changes in Makefile.rules
...
llvm-svn: 17167
2004-10-22 21:02:08 +00:00
Reid Spencer
e48ba34fd4
We won't use automake
...
llvm-svn: 17155
2004-10-22 03:35:04 +00:00
Brian Gaeke
62ecd75aeb
Simplify mapping info generation. In particular, the LLVM-to-MachineInstr map
...
is no longer emitted, and we do not reference any MachineCodeForInstruction
information.
llvm-svn: 17138
2004-10-19 05:15:21 +00:00
Reid Spencer
ce514b1c2c
Initial automake generated Makefile template
...
llvm-svn: 17136
2004-10-18 23:55:41 +00:00
Reid Spencer
210d95cffb
Make the library name SparcV9 specific
...
llvm-svn: 17089
2004-10-17 15:01:12 +00:00
Reid Spencer
7ece7ff509
Consolidate the definitions
...
llvm-svn: 17088
2004-10-17 15:00:26 +00:00
Chris Lattner
3f095f3c33
All of these labels are off by one now that the unreachable instruction exists
...
llvm-svn: 17079
2004-10-17 05:37:47 +00:00
Chris Lattner
dc55caa720
I forgot that sparc no longer uses the shared asmwriter. Give it support
...
for undef.
llvm-svn: 17075
2004-10-17 02:44:45 +00:00
Chris Lattner
5fac2c8212
Add support for undef and unreachable
...
llvm-svn: 17051
2004-10-16 18:14:10 +00:00
Chris Lattner
72d8078a36
Add a missing dependency
...
llvm-svn: 17031
2004-10-16 17:12:55 +00:00
Chris Lattner
b1e427f563
Fix file header
...
llvm-svn: 17030
2004-10-16 16:37:42 +00:00
Tanya Lattner
8a4773acb3
Checking in code that works on my simple test case. However, there is still a bug with branches that I need to fix.
...
llvm-svn: 16979
2004-10-14 06:04:28 +00:00
Reid Spencer
e6418ec30f
Update to reflect changes in Makefile rules.
...
llvm-svn: 16950
2004-10-13 11:46:52 +00:00
Misha Brukman
995af8d2b1
Add ModuloScheduling to the recursive build tree
...
llvm-svn: 16905
2004-10-10 23:36:09 +00:00
Misha Brukman
95cbabd1b5
Adjust header file inclusion due to move
...
llvm-svn: 16904
2004-10-10 23:34:50 +00:00
Misha Brukman
0f102f7fc9
Adjust comment header and paths to refect move
...
llvm-svn: 16903
2004-10-10 23:34:36 +00:00
Misha Brukman
020c3ab94c
ModuloScheduling moved to lib/Target/SparcV9 as it is SparcV9-specific
...
llvm-svn: 16902
2004-10-10 23:33:20 +00:00
Reid Spencer
85d2758f11
Initial version of automake Makefile.am file.
...
llvm-svn: 16898
2004-10-10 22:52:14 +00:00
Reid Spencer
04cb07f3ce
Add the new InstrSched directory.
...
llvm-svn: 16897
2004-10-10 22:51:03 +00:00
Reid Spencer
1b7459b29d
Initial version of automake Makefile.am file.
...
llvm-svn: 16893
2004-10-10 22:20:40 +00:00
Chris Lattner
955a220ad2
Instead of silently breaking, print notification of why this doesn't work.
...
llvm-svn: 16870
2004-10-09 21:13:51 +00:00
Misha Brukman
d858079005
Adjust paths due to moving InstrSched to lib/Target/SparcV9
...
llvm-svn: 16852
2004-10-08 18:30:22 +00:00
Misha Brukman
049f559995
InstrSched is SparcV9-specific and so has been moved to lib/Target/SparcV9/
...
llvm-svn: 16849
2004-10-08 18:12:14 +00:00
Misha Brukman
b1851ac70c
Single-space instead of double-spacing in the Makefile
...
llvm-svn: 16848
2004-10-08 18:11:14 +00:00
Misha Brukman
cfe86b257b
Build InstrSched as well, and all three subdirs can be built independently
...
llvm-svn: 16847
2004-10-08 18:10:48 +00:00
Brian Gaeke
ee0dfdd1e1
Make EmitMappingInfo into an "external location" option, so that it can be set
...
or cleared externally.
llvm-svn: 16623
2004-09-30 20:20:01 +00:00
Misha Brukman
7c87c6b215
Change the #ifdefs to allow compilation with a V8 compiler, but the JIT still
...
won't work if not compiled in V9 mode, currently by GCC only, because Sun's
system compiler does not tell us if it's a V8 or V9 system.
llvm-svn: 16602
2004-09-29 23:01:17 +00:00
Chris Lattner
43c0372c0b
'Pass' should now not be derived from by clients. Instead, they should derive
...
from ModulePass. Instead of implementing Pass::run, then should implement
ModulePass::runOnModule.
llvm-svn: 16436
2004-09-20 04:48:05 +00:00
Chris Lattner
aee36bb527
Revamp the Register class, and allow the use of the RegisterGroup class to
...
specify aliases directly in register definitions.
Patch contributed by Jason Eckhardt!
llvm-svn: 16330
2004-09-14 04:17:02 +00:00
Brian Gaeke
1e7a5e01e0
Roll back constant printing changes until the problems with larger
...
programs and C++ can be looked at in detail.
llvm-svn: 16266
2004-09-10 18:01:45 +00:00
Reid Spencer
d5b1443205
Clean up some "clean:" targets so they use $(VERB) and don't print anything
...
by default, like every other "clean" target in LLVM.
llvm-svn: 16161
2004-09-03 23:19:53 +00:00
Reid Spencer
c4abcbefb1
Changes For Bug 352
...
Move include/Config and include/Support into include/llvm/Config,
include/llvm/ADT and include/llvm/Support. From here on out, all LLVM
public header files must be under include/llvm/.
llvm-svn: 16137
2004-09-01 22:55:40 +00:00
Brian Gaeke
e91606291d
This code is dodgy, but the guaranteed assertion failure doesn't help anything.
...
llvm-svn: 16014
2004-08-24 06:41:40 +00:00
Brian Gaeke
ae3378f354
Fix bug in PhyRegAlloc::setCallInterferences() handling call through a
...
null pointer.
llvm-svn: 16013
2004-08-24 06:41:39 +00:00
Brian Gaeke
a4eb36282c
Revise head-of-file comment.
...
Eliminate some excess whitespace.
Fix bug in CallArgsDescriptor::get() handling call through a null pointer.
llvm-svn: 16012
2004-08-24 06:41:38 +00:00
Chris Lattner
ac0dba87bd
Convert regclass alignment from bytes to bites
...
llvm-svn: 15972
2004-08-21 20:13:09 +00:00
Brian Gaeke
9e089c115d
M_DUMMY_PHI_FLAG is no longer used to distinguish V9::PHI. Get rid of it and
...
its TargetInstrInfo accessor.
llvm-svn: 15907
2004-08-18 20:04:28 +00:00
Brian Gaeke
7364ea9c20
Instead of using isDummyPhiInstr, we just compare the opcode with V9::PHI.
...
llvm-svn: 15906
2004-08-18 20:04:24 +00:00
Chris Lattner
e05dc155e3
Convert to the new MachineFunctionInfo interface
...
llvm-svn: 15904
2004-08-18 18:13:37 +00:00
Brian Gaeke
fe9e248fcc
The SparcV9 target no longer uses any pseudoinstructions (SETSW, SETUW,
...
SETX) or M_PSEUDO_FLAG.
llvm-svn: 15901
2004-08-18 17:44:16 +00:00
Brian Gaeke
7d8f0e566d
The Create*Const methods don't need to pass around a TargetMachine reference.
...
Other minor cleanups.
llvm-svn: 15900
2004-08-18 17:44:15 +00:00
Brian Gaeke
280e4daba1
Doxygenify some comments.
...
Clean up cpReg2MemMI and cpMem2RegMI, and doxygenify comments.
Get rid of their uses of SETSW, which is a pseudoinstruction. We can't
JIT-compile pseudoinstructions at the moment. This was blowing up 252.eon/jit,
which has some HUGE stack frames.
Reduce the uses of constantFitsInImmedField().
Consolidate some assertions.
llvm-svn: 15899
2004-08-18 17:44:14 +00:00
Chris Lattner
478b640308
Switch V9 over to using the AsmPrinter base class to do its constant printing
...
Massive thanks to the brg miester for doing the testing. :)
llvm-svn: 15898
2004-08-18 05:29:08 +00:00
Chris Lattner
2d3b6ab513
Moved this file out of lib/CodeGen
...
llvm-svn: 15837
2004-08-16 22:38:02 +00:00
Chris Lattner
81d69ef38e
Hacks to make the MachineFunction class be able to delete the MFI object
...
without knowing anything about it.
llvm-svn: 15836
2004-08-16 22:37:18 +00:00
Chris Lattner
d655fd4cb0
Code moved out of lib/CodeGen/MachineFunction.cpp
...
llvm-svn: 15835
2004-08-16 22:36:54 +00:00
Chris Lattner
6d8d39e17b
Move MachineCodeForInstruction.h and MachineFunctionInfo.h into lib/Target/SparcV9
...
llvm-svn: 15830
2004-08-16 21:55:02 +00:00
Brian Gaeke
f20757c442
Update and consolidate comments. Remove some excess whitespace.
...
llvm-svn: 15824
2004-08-16 18:27:25 +00:00
Chris Lattner
555a585fd8
Code insertion methods now return void instead of an int.
...
llvm-svn: 15780
2004-08-15 22:15:11 +00:00
Chris Lattner
e58190f5f6
These methods no longer take a TargetRegisterClass* operand.
...
llvm-svn: 15774
2004-08-15 21:56:44 +00:00
Nate Begeman
edeb64e748
Eliminate MachineFunction& argument from eliminateFrameIndex in SparcV9 target
...
llvm-svn: 15738
2004-08-14 22:03:29 +00:00
Chris Lattner
837ab8fcf6
Remove dead methods
...
llvm-svn: 15698
2004-08-12 18:37:15 +00:00
Chris Lattner
f25f80a0b3
Fix warning
...
llvm-svn: 15697
2004-08-12 18:36:28 +00:00
Chris Lattner
2fb2b0517a
Instead of a virtual method call, lets try a direct constant reference
...
llvm-svn: 15696
2004-08-12 18:29:05 +00:00
Chris Lattner
f5f45868a7
Virtual method calls are overrated
...
llvm-svn: 15695
2004-08-12 18:20:55 +00:00
Chris Lattner
a2d1e8f290
Virtual method calls are overrated.
...
llvm-svn: 15694
2004-08-12 18:20:41 +00:00
Chris Lattner
8af864daa3
Remove dead methods
...
llvm-svn: 15691
2004-08-12 17:58:27 +00:00