Commit Graph

13932 Commits

Author SHA1 Message Date
Brian Gaeke 7593525fcd Instead of using isDummyPhiInstr, we just compare the opcode with V9::PHI.
llvm-svn: 15906
2004-08-18 20:04:24 +00:00
Brian Gaeke de44bc018a Instead of using isDummyPhiInstr, we just compare the opcode with V9::PHI.
Also, squash a use of TargetInstrInfo::isNop().

llvm-svn: 15905
2004-08-18 20:04:21 +00:00
Chris Lattner 1ea6d207ce Convert to the new MachineFunctionInfo interface
llvm-svn: 15904
2004-08-18 18:13:37 +00:00
Chris Lattner 663bf7e765 All targets are now allowed to have their own MachineFunctionInfo objects,
also, make getInfo do some checking and cast to the appropriate concrete type.

llvm-svn: 15903
2004-08-18 18:13:16 +00:00
Brian Gaeke dddd639059 M_PSEUDO_FLAG is no longer used. Get rid of it and its accessor.
llvm-svn: 15902
2004-08-18 17:44:17 +00:00
Brian Gaeke b8183ff647 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 2fbe85b1f3 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 c03556f67e 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 12754fe6b3 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 10262ab3f1 Rename var
llvm-svn: 15897
2004-08-18 02:22:55 +00:00
Chris Lattner ddc7e4863d Alkis pointed out that this is not a character (we actually support strings)
and as such, we should use self revealing names.  Hey, makes sense to me!

llvm-svn: 15896
2004-08-18 02:22:34 +00:00
Chris Lattner 6a9f355b1b new method
llvm-svn: 15895
2004-08-17 21:38:51 +00:00
Chris Lattner ea75199996 Add support for targets without a .zero directive
llvm-svn: 15894
2004-08-17 21:38:40 +00:00
Misha Brukman faa6e51d6e This file is no longer used.
llvm-svn: 15893
2004-08-17 20:23:33 +00:00
Chris Lattner 2501f5852a Start using alignment output routines from AsmPrinter.
Changes to make this more similar to the X86 asmprinter

Fix overalignment of globals.

llvm-svn: 15891
2004-08-17 19:26:03 +00:00
Chris Lattner 866b58d2ef Start using alignment output routines from AsmPrinter.
Changes to make this more similar to the ppc asmprinter

llvm-svn: 15890
2004-08-17 19:25:42 +00:00
Chris Lattner 32ac814f29 Add an overload
llvm-svn: 15889
2004-08-17 19:17:10 +00:00
Chris Lattner 1d35c1673f Add support for alignment
llvm-svn: 15888
2004-08-17 19:14:29 +00:00
Chris Lattner 0c2ab8a9d4 Add a new helper method to get log2(type alignment)
llvm-svn: 15887
2004-08-17 19:13:00 +00:00
Chris Lattner 65066a40ea Add punctuation, add a new method
llvm-svn: 15886
2004-08-17 19:12:44 +00:00
Misha Brukman a9ed31a50b Add itostr(long) for our furry 64-bit friends.
llvm-svn: 15885
2004-08-17 18:08:52 +00:00
Misha Brukman 0f2e2f7e5b Ultra-doxygenify some function header comments.
llvm-svn: 15884
2004-08-17 17:52:36 +00:00
Chris Lattner caf3f3e970 Check constant expression validity more strictly
llvm-svn: 15883
2004-08-17 17:28:46 +00:00
Chris Lattner fca2833838 Work around PR424 for old c/c++ frontends.
llvm-svn: 15882
2004-08-17 17:26:41 +00:00
Chris Lattner cc21bfd809 Print comments with ;
llvm-svn: 15881
2004-08-17 16:27:26 +00:00
Chris Lattner da6beac0ff Use a designated comment character when printing comments.
llvm-svn: 15880
2004-08-17 16:27:05 +00:00
Chris Lattner db00f45936 Allow targets to specify a comment character
llvm-svn: 15879
2004-08-17 16:26:36 +00:00
Reid Spencer 9f093edf1a Added a *very* initial cut at a lexicon for LLVM. I don't plan to write
this whole thing. Just use the pattern in the file to add entries as you
think of them. This will be really helpful for newbies to advanced compiler
optimization techniques such as myself.

llvm-svn: 15878
2004-08-17 09:38:50 +00:00
Reid Spencer be6a243b9f Documented (Java properties file like) syntax of config file format
Added definitions for some of the configuration items.
Made the document HTML 4.01 Strict compliant.
Ran ispell on it.

llvm-svn: 15877
2004-08-17 09:18:37 +00:00
Reid Spencer cde8a13a1c Add a reference to the ComilerDriver documentation.
llvm-svn: 15876
2004-08-17 08:01:57 +00:00
Reid Spencer c3e436427b Bytecode File Format Changes:
- File format version number bumped to 4
- Writer will now align nothing
- Reader now only expects alignment for version 3 or earlier

llvm-svn: 15875
2004-08-17 07:45:14 +00:00
Reid Spencer 0b85d03b57 Documented the removal of alignment in version 4 bytecode files (version 3
was released with LLVM 1.3). Alignment of fields can add severe size to
certain kinds of functions (those with lots of long format instructions) so
we decided to do away with alignment altogether in this bc version.

llvm-svn: 15874
2004-08-17 07:43:43 +00:00
Nate Begeman 0818541631 Re-fix hiding the Frame Pointer from the register allocator in functions
that have a frame pointer.  This change fixes Burg.  In addition, make
the necessary changes to floating point code gen and constant loading after
Chris Lattner's fixes to the asm writer.  These changes fix MallocBench/gs

llvm-svn: 15873
2004-08-17 07:17:44 +00:00
Chris Lattner b3739ceb6e Use the AsmPrinter emitGlobalConstant.
llvm-svn: 15872
2004-08-17 06:48:55 +00:00
Chris Lattner 404bc3dcaf Add missing \t
llvm-svn: 15871
2004-08-17 06:48:34 +00:00
Chris Lattner 9fa0fc4d5e Add support for targets that have .quad, drop extra tab inserted
llvm-svn: 15870
2004-08-17 06:48:16 +00:00
Chris Lattner f97bce7214 Use the emitGlobalConstant defined in AsmPrinter
llvm-svn: 15869
2004-08-17 06:37:12 +00:00
Chris Lattner 8452a1f6df Implement emitGlobalConstant
llvm-svn: 15868
2004-08-17 06:36:49 +00:00
Chris Lattner 81e514b8a6 Add some hooks
llvm-svn: 15867
2004-08-17 06:36:27 +00:00
Chris Lattner ac253447d3 New, more general, interface.
llvm-svn: 15866
2004-08-17 06:07:43 +00:00
Chris Lattner 104bfb7576 Allow an arbitrary prefix
llvm-svn: 15865
2004-08-17 06:06:54 +00:00
Chris Lattner c16a4a7b55 Allow an arbitrary prefix.
llvm-svn: 15864
2004-08-17 06:06:37 +00:00
Chris Lattner 6d42cbd71a We now allow targets to use any prefix they want for global symbols. Lets
hear it for ".".

llvm-svn: 15863
2004-08-17 06:06:19 +00:00
Misha Brukman 9254441cdf Rewrite targets/rules to generate files for just PowerPC or PPC{32,64}
llvm-svn: 15862
2004-08-17 05:11:54 +00:00
Misha Brukman 4eab7f3d5b Register classes are target-dependent
llvm-svn: 15861
2004-08-17 05:10:31 +00:00
Misha Brukman 851a54656a #include <map> is not necessary here
llvm-svn: 15860
2004-08-17 05:09:39 +00:00
Misha Brukman fd2df5afab `PowerPC' is no longer a real target
llvm-svn: 15859
2004-08-17 05:09:10 +00:00
Misha Brukman 38c61506a8 Move variables and methods which need PPC{32,64}* distinction to subclasses
llvm-svn: 15858
2004-08-17 05:08:44 +00:00
Misha Brukman ba7fe16dbf No need for an `is64bit' flag
llvm-svn: 15857
2004-08-17 05:06:47 +00:00
Misha Brukman fe3e46a0b3 PowerPCInstrInfo and PowerPCRegisterInfo have gone away; they are replaced
by 32- and 64-bit customized files, named appropriately.

llvm-svn: 15856
2004-08-17 05:05:00 +00:00