Commit Graph

1304 Commits

Author SHA1 Message Date
Brian Gaeke
46bf5afa01 Turn loads of ConstantPointerNulls into loads of zero... don't spill
them into the constant pool.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14128 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-11 02:03:48 +00:00
Brian Gaeke
7fa84b70c3 Encode %fsr correctly; don't fail an assertion.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14103 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-09 21:54:59 +00:00
Brian Gaeke
40e7fdc05a Fix encoding of ST*FSR instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14102 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-09 21:54:58 +00:00
Brian Gaeke
e8a6bee3c9 Fix assertion failure message to have the right method name.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14101 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-09 20:44:42 +00:00
Brian Gaeke
8e6e7c90ce Fix a minor bug in the map - since this pass adds a global symbol, it must be
accounted for in the map (at least, in its current format).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14075 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-08 20:08:30 +00:00
Brian Gaeke
777a1cde66 Add a TmpInstruction ctor that doesn't take a MCFI.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14073 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-08 18:52:46 +00:00
Brian Gaeke
e7c776118c Fix up some spacing & fix a typo in an assertion in cpValue2Value.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14027 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-04 20:51:40 +00:00
Brian Gaeke
8c4174a0a7 Add new internal-global-symbol mapping info pass... may its life be short
and sweet.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13983 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-03 05:03:37 +00:00
Brian Gaeke
5821595693 Add new mapping info pass, when EmitMappingInfo is on.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13981 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-03 05:03:01 +00:00
Brian Gaeke
7d8793a3a5 Fix big mistake in my last checkin... the big question is, how did I ever
get this to link before?


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13980 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-03 05:03:00 +00:00
Brian Gaeke
36e5254e4d Add decl. for new mapping info pass factory method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13979 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-03 05:02:59 +00:00
Brian Gaeke
498231bc60 Collapse together the abstract superclass TargetRegInfo and SparcV9RegInfo, its
only concrete implementation.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13977 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-03 02:45:09 +00:00
Chris Lattner
98107ffd1e Adjust to the new TargetMachine interface
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13957 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-02 06:06:20 +00:00
Chris Lattner
d029cd2d5a Convert to the new TargetMachine interface.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13952 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-02 05:55:25 +00:00
Brian Gaeke
e82706b3a0 There is no "mcff" here; delete the confusing comments that refer to it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13911 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-30 08:29:16 +00:00
Brian Gaeke
f561b08d67 Transform an occurrence of if(...) { assert (0) }.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13908 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-30 07:34:01 +00:00
Brian Gaeke
25d4b54f93 Reduce the amount of LLVM Values for which we save reg. allocator
state. Also, save the state for the incoming register of each phi
node.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13906 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-30 07:08:43 +00:00
Brian Gaeke
a7afac29d0 Rename verifySavedState to dumpSavedState. Give it a new comment.
Call it at a more appropriate point.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13905 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-30 04:22:24 +00:00
Brian Gaeke
2ffbb6d20a Insert machine instructions generated for Phi nodes into their
corresponding MachineCodeForInstruction vectors.

I need to be able to get the register allocated for the thing which is
called PhiCpRes in this code; this should make that task easier, plus,
Phi nodes are no longer "special" in the sense that their
MachineCodeForInstruction is empty.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13904 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-30 03:33:49 +00:00
Brian Gaeke
84d404b0ed Remove unused #include.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13899 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-29 23:26:13 +00:00
Brian Gaeke
7916c92a2b Add comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13898 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-29 23:10:20 +00:00
Brian Gaeke
1c334a3eea Trim whitespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13897 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-29 22:49:51 +00:00
Brian Gaeke
20ab71086e Give InsertCodeForPhis() a new documentation comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13896 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-29 22:20:59 +00:00
Tanya Lattner
20890832ea updates to ModuloSched
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13881 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-28 20:14:12 +00:00
Brian Gaeke
fece1822bf Give PhiCp nodes better names in many cases.
Simplify InsertPhiElimInstructions(), and give it a better doxygen comment.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13880 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-28 19:34:00 +00:00
Brian Gaeke
b985158c35 Make debugging output with -print-machineinstrs more useful: always print out
the transformed LLVM code which is the input to the instruction selector.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13879 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-28 19:33:59 +00:00
Brian Gaeke
aeb3c80e8d Make comment lines stick out less.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13858 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-27 21:41:48 +00:00
Tanya Lattner
ebac64534c Adding scheduling class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13783 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-26 06:27:36 +00:00
Tanya Lattner
4cffb588f5 Updating my cvs versions. THis is still in progress and much will be changed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13782 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-26 06:27:18 +00:00
Brian Gaeke
1812268126 Add a (not very meaningful) default constructor for AllocInfo objects.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13773 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-25 20:43:47 +00:00
Reid Spencer
119b342b20 Remove use of Type::TypeTy from an assert. It will go away soon.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13748 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-25 08:50:52 +00:00
Chris Lattner
99c59e8e21 Add support for accurate garbage collection to the LLVM code generators
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13696 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 21:23:35 +00:00
Brian Gaeke
79333da2bb Fix a typo in a comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13643 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-23 05:10:06 +00:00
Brian Gaeke
ceabd97423 Fix a bug in outputting branches to constant PCs. Since the PC is supplied as
a full 64-bit address, it must be adjusted to fit in the branch instruction's
immediate field. (This is only used in the reoptimizer, for now.)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13608 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-20 07:43:40 +00:00
Brian Gaeke
a900452d37 Minor simplification: eliminate a dyn_cast.
Fix a typo in a debug message.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13607 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-19 21:30:01 +00:00
Tanya Lattner
73e3e2e10f Updating my versions of ModuloScheduling in cvs. Still not complete.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13424 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-08 16:12:10 +00:00
Brian Gaeke
7ca6712f81 Missing piece of fix for Bug 333
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13362 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-04 21:41:45 +00:00
Brian Gaeke
7e4375365e Correctly mangle function names when they are used as part of a
constant pool member's name.
This is intended to address Bug 333.

Also, fix an anachronistic usage of "M" as a parameter of type Function *.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13357 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-04 21:09:02 +00:00
Brian Gaeke
235d3b7b52 Integrate the rest of my random sparcv9 scribblings into this file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13204 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-27 22:04:03 +00:00
Chris Lattner
6ffe551f65 Changes to fix up the inst_iterator to pass to boost iterator checks. This
patch was graciously contributed by Vladimir Prus.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13185 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-27 15:13:33 +00:00
Brian Gaeke
3ca4fccac5 Fix file header comments and include guards -- many files have been moved or
renamed since they were last spiffed up, or they just never had proper comments
in the first place.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13148 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-25 07:04:49 +00:00
Brian Gaeke
27beae85a0 Add a getRegisterInfo() accessor just like on the X86 target.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13147 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-25 06:32:28 +00:00
Brian Gaeke
c991586b92 Regularize file header comment and include guard.
Include SparcV9RegisterInfo.h.
Add a getRegisterInfo() accessor and SparcV9RegisterInfo instance, just like
on the X86 target.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13146 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-25 06:32:16 +00:00
Brian Gaeke
2363b4ef5b Add MRegisterInfo subclass for the SparcV9 target (containing only stub
functions for now). This automatically turns on the printing of machine
registers using their own real names, instead of goofy things like %mreg(42),
and allows us to migrate code incrementally to the new interface as we see fit.

The register file description it uses is hand-written, so that the register
numbers will match the ones that the SparcV9 target already uses.
Perhaps someday we'll tablegen it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13145 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-25 06:32:05 +00:00
Brian Gaeke
dd6d822fa6 Fix a typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13136 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-23 21:45:02 +00:00
Brian Gaeke
18f9f66369 Merge TargetRegInfo.h into SparcV9RegInfo.h, which is its only subclass.
This prepares us to be able to de-virtualize and de-abstract it, and
take the register allocator bits out and move them into the register allocator
proper...


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13127 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-23 18:15:48 +00:00
Brian Gaeke
3b2e5e619e Include SparcV9RegInfo.h instead of TargetRegInfo.h.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13126 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-23 18:15:47 +00:00
Brian Gaeke
35450d2aaa Include SparcV9RegInfo.h instead of TargetRegInfo.h. This serves as a bit of
documentation that this module needs to be made independent of the
register file description of the current target.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13125 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-23 18:15:46 +00:00
Brian Gaeke
4d529bc07b Get rid of the old byte-at-a-time emission code used when the Sparc JIT was
being tested on X86, as per Chris's request.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13124 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-23 18:10:38 +00:00
Brian Gaeke
62c6f879ae Emit SPARC machine code a word at a time instead of a byte at a time.
Use emitWordAt() to emit forward-branch fixups.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13119 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-23 17:11:15 +00:00