1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-21 03:53:04 +02:00
Commit Graph

91 Commits

Author SHA1 Message Date
Chris Lattner
0cd29ae2cd Rename Type::PrimitiveID to TypeId and ::getPrimitiveID() to ::getTypeID()
llvm-svn: 14201
2004-06-17 18:19:28 +00:00
Brian Gaeke
21e2dd53d8 Make -print-machineinstrs even stronger. You get to see the final code after
peepholing, and make it work the same way in the JIT as in LLC.

llvm-svn: 14170
2004-06-14 05:05:45 +00:00
Brian Gaeke
c5bb88c934 Turn loads of ConstantPointerNulls into loads of zero... don't spill
them into the constant pool.

llvm-svn: 14128
2004-06-11 02:03:48 +00:00
Brian Gaeke
9cf9c6e184 Encode %fsr correctly; don't fail an assertion.
llvm-svn: 14103
2004-06-09 21:54:59 +00:00
Brian Gaeke
badbc7476a Fix encoding of ST*FSR instructions.
llvm-svn: 14102
2004-06-09 21:54:58 +00:00
Brian Gaeke
8e446cf7a2 Fix assertion failure message to have the right method name.
llvm-svn: 14101
2004-06-09 20:44:42 +00:00
Brian Gaeke
91a3d0f55f 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).

llvm-svn: 14075
2004-06-08 20:08:30 +00:00
Brian Gaeke
4b0b12c188 Add a TmpInstruction ctor that doesn't take a MCFI.
llvm-svn: 14073
2004-06-08 18:52:46 +00:00
Brian Gaeke
c6715bec89 Fix up some spacing & fix a typo in an assertion in cpValue2Value.
llvm-svn: 14027
2004-06-04 20:51:40 +00:00
Brian Gaeke
4f0fc86456 Add new internal-global-symbol mapping info pass... may its life be short
and sweet.

llvm-svn: 13983
2004-06-03 05:03:37 +00:00
Brian Gaeke
e3a1c92896 Add new mapping info pass, when EmitMappingInfo is on.
llvm-svn: 13981
2004-06-03 05:03:01 +00:00
Brian Gaeke
ceb3e78152 Fix big mistake in my last checkin... the big question is, how did I ever
get this to link before?

llvm-svn: 13980
2004-06-03 05:03:00 +00:00
Brian Gaeke
a960c641e0 Add decl. for new mapping info pass factory method.
llvm-svn: 13979
2004-06-03 05:02:59 +00:00
Brian Gaeke
e3e792cefa Collapse together the abstract superclass TargetRegInfo and SparcV9RegInfo, its
only concrete implementation.

llvm-svn: 13977
2004-06-03 02:45:09 +00:00
Chris Lattner
5ad9eaab1a Convert to the new TargetMachine interface.
llvm-svn: 13952
2004-06-02 05:55:25 +00:00
Brian Gaeke
8b022564d2 There is no "mcff" here; delete the confusing comments that refer to it.
llvm-svn: 13911
2004-05-30 08:29:16 +00:00
Brian Gaeke
18006c7075 Transform an occurrence of if(...) { assert (0) }.
llvm-svn: 13908
2004-05-30 07:34:01 +00:00
Brian Gaeke
f2f7cc0d50 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.

llvm-svn: 13906
2004-05-30 07:08:43 +00:00
Brian Gaeke
7f4ad50481 Rename verifySavedState to dumpSavedState. Give it a new comment.
Call it at a more appropriate point.

llvm-svn: 13905
2004-05-30 04:22:24 +00:00
Brian Gaeke
b4f49d8da5 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.

llvm-svn: 13904
2004-05-30 03:33:49 +00:00
Brian Gaeke
8daa49f754 Remove unused #include.
llvm-svn: 13899
2004-05-29 23:26:13 +00:00
Brian Gaeke
7d68f2e9b0 Add comments.
llvm-svn: 13898
2004-05-29 23:10:20 +00:00
Brian Gaeke
3913fdf0e9 Trim whitespace.
llvm-svn: 13897
2004-05-29 22:49:51 +00:00
Brian Gaeke
608e0b76e1 Give InsertCodeForPhis() a new documentation comment.
llvm-svn: 13896
2004-05-29 22:20:59 +00:00
Brian Gaeke
403be90321 Give PhiCp nodes better names in many cases.
Simplify InsertPhiElimInstructions(), and give it a better doxygen comment.

llvm-svn: 13880
2004-05-28 19:34:00 +00:00
Brian Gaeke
2bd005cb45 Make debugging output with -print-machineinstrs more useful: always print out
the transformed LLVM code which is the input to the instruction selector.

llvm-svn: 13879
2004-05-28 19:33:59 +00:00
Brian Gaeke
76a1ec7f00 Make comment lines stick out less.
llvm-svn: 13858
2004-05-27 21:41:48 +00:00
Brian Gaeke
fd48b88dfa Add a (not very meaningful) default constructor for AllocInfo objects.
llvm-svn: 13773
2004-05-25 20:43:47 +00:00
Reid Spencer
65559ced22 Remove use of Type::TypeTy from an assert. It will go away soon.
llvm-svn: 13748
2004-05-25 08:50:52 +00:00
Chris Lattner
1e22b42cb6 Add support for accurate garbage collection to the LLVM code generators
llvm-svn: 13696
2004-05-23 21:23:35 +00:00
Brian Gaeke
12ab4a0357 Fix a typo in a comment.
llvm-svn: 13643
2004-05-23 05:10:06 +00:00
Brian Gaeke
ac9ce5d851 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.)

llvm-svn: 13608
2004-05-20 07:43:40 +00:00
Brian Gaeke
1d6c0881ce Minor simplification: eliminate a dyn_cast.
Fix a typo in a debug message.

llvm-svn: 13607
2004-05-19 21:30:01 +00:00
Brian Gaeke
c9ca9d6625 Missing piece of fix for Bug 333
llvm-svn: 13362
2004-05-04 21:41:45 +00:00
Brian Gaeke
28d81c4d0d 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 *.

llvm-svn: 13357
2004-05-04 21:09:02 +00:00
Brian Gaeke
7ce5ef244a Integrate the rest of my random sparcv9 scribblings into this file
llvm-svn: 13204
2004-04-27 22:04:03 +00:00
Chris Lattner
02c65b5395 Changes to fix up the inst_iterator to pass to boost iterator checks. This
patch was graciously contributed by Vladimir Prus.

llvm-svn: 13185
2004-04-27 15:13:33 +00:00
Brian Gaeke
1e049bdc77 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.

llvm-svn: 13148
2004-04-25 07:04:49 +00:00
Brian Gaeke
c3857275f9 Add a getRegisterInfo() accessor just like on the X86 target.
llvm-svn: 13147
2004-04-25 06:32:28 +00:00
Brian Gaeke
6e21a0858c Regularize file header comment and include guard.
Include SparcV9RegisterInfo.h.
Add a getRegisterInfo() accessor and SparcV9RegisterInfo instance, just like
on the X86 target.

llvm-svn: 13146
2004-04-25 06:32:16 +00:00
Brian Gaeke
a36743c473 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.

llvm-svn: 13145
2004-04-25 06:32:05 +00:00
Brian Gaeke
6ed3b116bc Fix a typo.
llvm-svn: 13136
2004-04-23 21:45:02 +00:00
Brian Gaeke
7fba37bb96 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...

llvm-svn: 13127
2004-04-23 18:15:48 +00:00
Brian Gaeke
40c7e110a5 Include SparcV9RegInfo.h instead of TargetRegInfo.h.
llvm-svn: 13126
2004-04-23 18:15:47 +00:00
Brian Gaeke
07344c1367 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.

llvm-svn: 13124
2004-04-23 18:10:38 +00:00
Brian Gaeke
255d0d9b26 Emit SPARC machine code a word at a time instead of a byte at a time.
Use emitWordAt() to emit forward-branch fixups.

llvm-svn: 13119
2004-04-23 17:11:15 +00:00
Brian Gaeke
51b16fc65a Make SparcV9RegInfo::getRegType() return the right answer for registers
of IntCC, FloatCC, and Special types.

Make SparcV9RegInfo::getRegClassIDOfRegType() return the right answer
if you ask for the class corresponding to SpecialRegType.

llvm-svn: 13095
2004-04-21 17:53:58 +00:00
Brian Gaeke
3727c760ed Make it legal to ask for the type of a specialreg
llvm-svn: 13078
2004-04-20 20:12:57 +00:00
Brian Gaeke
047739f8d8 Make it legal to request a load or store of %fsr.
llvm-svn: 13073
2004-04-19 19:12:12 +00:00
Brian Gaeke
3dfe9f19ea Regularize include guards and remove some excess whitespace.
llvm-svn: 13071
2004-04-19 18:53:44 +00:00