Commit Graph

7615 Commits

Author SHA1 Message Date
Chris Lattner
2b0e300342 Convert regclass alignment from bytes to bites
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15972 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-21 20:13:09 +00:00
Chris Lattner
0e362770d0 Convert bytes to bits in alignment
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15971 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-21 20:09:46 +00:00
Chris Lattner
7008034c9f Register info alignment is in bits, frame object alignment is (currently) in
bytes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15970 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-21 20:04:59 +00:00
Chris Lattner
8edcd84653 Reduce uses of getRegClass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15968 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-21 19:51:17 +00:00
Chris Lattner
fa1face30a Now that we have per-register spill size/alignment info, remove more uses
of getRegClass


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15967 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-21 19:45:10 +00:00
Chris Lattner
12585baf1a Fix warning
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15964 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-21 19:11:03 +00:00
Reid Spencer
57b6eec5e6 Examine the type code in the setcc class of instructions and if it
is a PackedType, throw an error. Temporary solution.

Patch contributed by Brad Jones.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15963 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-21 16:11:02 +00:00
Nate Begeman
c3306120cc Move XForm instructions over to the auto-generated asm writer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15962 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-21 05:56:39 +00:00
Chris Lattner
b4d83c1f2c Add two values
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15959 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-21 02:17:39 +00:00
Chris Lattner
72cf7df6a3 Fix a nasty bug that Nate ran into. In particular, instead of emitting a 2+MB
error message, print out:

llvm-link: error linking in 'g.2.rbc': Global Variable Collision on
' %struct.D_Reduction* %d_reduction_10_gram' - External linkage globals have
different initializers

That's a bit more concise, huh?


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15958 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-21 00:50:59 +00:00
Nate Begeman
b65eadb7f5 remove some things from the todo list.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15956 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-20 18:46:54 +00:00
Chris Lattner
f908888553 Do not register ppc64 yet, as it breaks the SparcV9 backend
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15955 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-20 18:09:18 +00:00
Chris Lattner
42db1a04ef quish a warning
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15954 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-20 18:07:39 +00:00
Reid Spencer
5527c0b6d1 Fix a bug found exposed by: Regression/Other/2004-08-20-PackedControlFlow.ll
Packed types need to be allowed in type statements too.

Patch provided by Brad Jones.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15953 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-20 15:37:30 +00:00
Nate Begeman
b47321ba2b Implement code to convert SetCC into straight line code where appropriate. Add necessary instructions for this transformation to the .td file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15952 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-20 09:56:22 +00:00
Brian Gaeke
715c90ba52 Packed types, brought to you by Brad Jones
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15938 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-20 06:00:58 +00:00
Chris Lattner
4e4c444d5c If we are linking two global variables and they have the same size, do not
spew warnings, even if the types don't match.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15933 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-20 00:30:39 +00:00
Misha Brukman
43f20a56b2 Fix opcodes being printed in caps (the more general fix may be `AsmWriter')
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15932 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-19 21:56:12 +00:00
Misha Brukman
1601d9c1f0 Stack space for argument passing is 32 regardless of 32- vs. 64-bit arch.
Thanks to Nate Begeman for pointing this out.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15930 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-19 21:51:19 +00:00
Misha Brukman
983e92dc0d LR needs to be saved at 16-byte offset on a 64-bit arch
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15929 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-19 21:36:14 +00:00
Misha Brukman
4debafbea4 On 64-bit PowerPC, pointers are 8 bytes, so parameter area offset is 48, not 24
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15928 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-19 21:34:05 +00:00
Misha Brukman
d2cbb871d0 This PHI has 4 additional operands, not 2.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15926 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-19 21:00:12 +00:00
Misha Brukman
95ab78af3c Use the appropriate 64-bit register description file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15922 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-19 19:36:57 +00:00
Misha Brukman
5e9867e71c Fix more remaining 32-bit vestiges of PowerPC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15919 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-19 18:49:58 +00:00
Misha Brukman
cc55ad5fe9 Fix another vestige of the 32-bit PowerPC backend.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15918 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-19 16:50:30 +00:00
Misha Brukman
ab566eaa68 Correct character prepended to global symbols ('.'), use Mangler consistently
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15917 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-19 16:33:56 +00:00
Misha Brukman
1c514ec89d * Eliminate global base register, r2 is used for that on AIX/PowerPC
* Fix bug from 32-bit PowerPC days of 2-register long split


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15916 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-19 16:29:25 +00:00
Misha Brukman
85aa4d0cc5 Wrap long lines.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15915 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-19 16:28:30 +00:00
Nate Begeman
1e67d4d7ba Convert casts that will have no effect into move instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15914 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-19 08:07:50 +00:00
Nate Begeman
81d265d692 Clean up floating point instruction selection.
Change int->float cast code to put conversion constants in constant pool.
Shorten code sequence for constant pool fp loads.
Remove LOADLoDirect/LOADLoIndirect psuedo instructions and tweak asmwriter


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15913 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-19 05:20:54 +00:00
Brian Gaeke
d6640951c2 M_DUMMY_PHI_FLAG is no longer used to distinguish V9::PHI. Get rid of it and
its TargetInstrInfo accessor.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15907 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-18 20:04:28 +00:00
Brian Gaeke
418379e229 Instead of using isDummyPhiInstr, we just compare the opcode with V9::PHI.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15906 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-18 20:04:24 +00:00
Brian Gaeke
e058b27faf Instead of using isDummyPhiInstr, we just compare the opcode with V9::PHI.
Also, squash a use of TargetInstrInfo::isNop().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15905 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-18 20:04:21 +00:00
Chris Lattner
a1e51ff2aa Convert to the new MachineFunctionInfo interface
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15904 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-18 18:13:37 +00:00
Brian Gaeke
5978a532e8 The SparcV9 target no longer uses any pseudoinstructions (SETSW, SETUW,
SETX) or M_PSEUDO_FLAG.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15901 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-18 17:44:16 +00:00
Brian Gaeke
f84ee3865b The Create*Const methods don't need to pass around a TargetMachine reference.
Other minor cleanups.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15900 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-18 17:44:15 +00:00
Brian Gaeke
66149920c6 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15899 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-18 17:44:14 +00:00
Chris Lattner
883342c1e5 Switch V9 over to using the AsmPrinter base class to do its constant printing
Massive thanks to the brg miester for doing the testing. :)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15898 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-18 05:29:08 +00:00
Chris Lattner
f746a7d09b Rename var
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15897 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-18 02:22:55 +00:00
Chris Lattner
7d057a3fd5 Add support for targets without a .zero directive
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15894 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-17 21:38:40 +00:00
Misha Brukman
5069438763 This file is no longer used.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15893 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-17 20:23:33 +00:00
Chris Lattner
69d485e646 Start using alignment output routines from AsmPrinter.
Changes to make this more similar to the X86 asmprinter

Fix overalignment of globals.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15891 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-17 19:26:03 +00:00
Chris Lattner
c6393f82bf Start using alignment output routines from AsmPrinter.
Changes to make this more similar to the ppc asmprinter


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15890 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-17 19:25:42 +00:00
Chris Lattner
bfddc2030a Add support for alignment
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15888 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-17 19:14:29 +00:00
Chris Lattner
d2b0bb41f4 Add a new helper method to get log2(type alignment)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15887 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-17 19:13:00 +00:00
Chris Lattner
91b362bba9 Check constant expression validity more strictly
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15883 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-17 17:28:46 +00:00
Chris Lattner
c6d2f15037 Work around PR424 for old c/c++ frontends.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15882 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-17 17:26:41 +00:00
Chris Lattner
5676310c5d Print comments with ;
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15881 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-17 16:27:26 +00:00
Chris Lattner
0554fb6b9c Use a designated comment character when printing comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15880 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-17 16:27:05 +00:00
Reid Spencer
38d54be85b 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


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15875 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-17 07:45:14 +00:00
Nate Begeman
07a73755d3 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


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15873 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-17 07:17:44 +00:00
Chris Lattner
8581ee85b4 Use the AsmPrinter emitGlobalConstant.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15872 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-17 06:48:55 +00:00
Chris Lattner
e85a5a9f40 Add support for targets that have .quad, drop extra tab inserted
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15870 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-17 06:48:16 +00:00
Chris Lattner
79835d9f9f Use the emitGlobalConstant defined in AsmPrinter
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15869 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-17 06:37:12 +00:00
Chris Lattner
1b7e2356ac Implement emitGlobalConstant
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15868 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-17 06:36:49 +00:00
Chris Lattner
b462e47d2d New, more general, interface.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15866 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-17 06:07:43 +00:00
Chris Lattner
97f3e37f00 Allow an arbitrary prefix
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15865 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-17 06:06:54 +00:00
Chris Lattner
af2bf0ab30 We now allow targets to use any prefix they want for global symbols. Lets
hear it for ".".


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15863 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-17 06:06:19 +00:00
Misha Brukman
9e36843964 Rewrite targets/rules to generate files for just PowerPC or PPC{32,64}
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15862 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-17 05:11:54 +00:00
Misha Brukman
8283ec7c1c Register classes are target-dependent
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15861 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-17 05:10:31 +00:00
Misha Brukman
6316181ee0 #include <map> is not necessary here
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15860 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-17 05:09:39 +00:00
Misha Brukman
1dcddfefbd `PowerPC' is no longer a real target
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15859 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-17 05:09:10 +00:00
Misha Brukman
f2f8cfb945 Move variables and methods which need PPC{32,64}* distinction to subclasses
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15858 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-17 05:08:44 +00:00
Misha Brukman
66aa3e0e8b No need for an `is64bit' flag
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15857 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-17 05:06:47 +00:00
Misha Brukman
a2a27b3c85 PowerPCInstrInfo and PowerPCRegisterInfo have gone away; they are replaced
by 32- and 64-bit customized files, named appropriately.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15856 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-17 05:05:00 +00:00
Misha Brukman
08dde0ba85 Consistently name passed with 32 or 64 in their name
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15855 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-17 05:02:58 +00:00
Misha Brukman
3d58b8f531 PowerPCRegisterInfo no longer takes a bool to differentiate 32 vs 64 bits
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15854 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-17 05:02:18 +00:00
Misha Brukman
db50bd3e7a The PowerPCInstrInfo class has gone away.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15853 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-17 05:00:46 +00:00
Misha Brukman
363dd07320 PowerPCInstrInfo has gone away, PPC32 and PPC64 share opcodes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15852 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-17 04:58:50 +00:00
Misha Brukman
adde6994ac PowerPC 32-/64-bit split: Part II, 64-bit customizations on PowerPC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15851 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-17 04:57:37 +00:00
Misha Brukman
f2ccb77ee9 PowerPC 32-/64-bit split: Part I, PPC32* bit files, adapted from former PowerPC*
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15850 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-17 04:55:41 +00:00
Reid Spencer
250c4184c7 Correct the comments in the symbol table writer to reflect reality.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15848 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-17 02:59:02 +00:00
Chris Lattner
469ab79584 Print float constants as 4 byte values.
Also, fix endianness problems when cross compiling from little-endian host.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15847 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-17 02:48:44 +00:00
Chris Lattner
505e783d8c Make sure to put an _ prefix on all identifiers!
Also, add some (currently disabled) code to print float's as 32-bits.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15846 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-17 02:29:00 +00:00
Chris Lattner
ed1ff01639 Some asmwriters want an _ prefix
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15845 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-17 02:28:26 +00:00
Chris Lattner
416ca3384a More changes to make PPC32 and X86 more similar
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15842 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-16 23:38:36 +00:00
Chris Lattner
36aacdb974 Minor changes to make the diff be nothing against the X86 version
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15841 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-16 23:30:16 +00:00
Chris Lattner
a3840795a5 Finegrainify namespacification
Start using the AsmPrinter base class to factor out a bunch of code


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15840 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-16 23:25:21 +00:00
Chris Lattner
055acae18c Start using the AsmPrinter to emit our first class constants. This also
drops our half-assed support for cygwin, which noone uses and doesn't work
anyway.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15839 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-16 23:16:06 +00:00
Chris Lattner
a80ba71efe Initial implementation of the asmprinter base class
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15838 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-16 23:15:22 +00:00
Chris Lattner
8b41cba865 Moved this file out of lib/CodeGen
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15837 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-16 22:38:02 +00:00
Chris Lattner
6b9a5e69f7 Hacks to make the MachineFunction class be able to delete the MFI object
without knowing anything about it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15836 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-16 22:37:18 +00:00
Chris Lattner
2d19f78e97 Code moved out of lib/CodeGen/MachineFunction.cpp
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15835 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-16 22:36:54 +00:00
Chris Lattner
ad8281607f Move this code to lib/Target/SparcV9/MachineFunctionInfo.cpp
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15834 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-16 22:36:34 +00:00
Chris Lattner
e7f372703a This file is moving to lib/Target/SparcV9
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15833 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-16 22:36:10 +00:00
Chris Lattner
85015a0891 Move MachineCodeForInstruction.h and MachineFunctionInfo.h into lib/Target/SparcV9
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15830 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-16 21:55:02 +00:00
Chris Lattner
753c16c9cb Nuke this file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15829 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-16 21:36:40 +00:00
Chris Lattner
e97db86e17 Fold MachineInstrAnnot.cpp into this file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15828 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-16 21:36:31 +00:00
Misha Brukman
cdc4b86e35 Move these files (which are dependent on VMCore) into VMCore
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15825 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-16 19:04:36 +00:00
Brian Gaeke
52b77edbbd Update and consolidate comments. Remove some excess whitespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15824 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-16 18:27:25 +00:00
Brian Gaeke
e6c3dc88ca Add a note that people shouldn't use MachineFunctionInfo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15823 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-16 18:27:24 +00:00
Reid Spencer
28531c71cd Fix PR422.
Ouch! Changes in the lazy initialization code caused each incorporated
function to reprocess the entire function on every lookup of a value's
slot number. This caused a horrible slowdown in all functions. This
fix made llvm-dis go from "longer than I care to wait" (minutes) on a large
test case to 0.53 seconds.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15818 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-16 07:46:33 +00:00
Reid Spencer
08bfab175a Remove lib/System contents until a satisfactory solution can be
provided.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15816 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-16 07:08:38 +00:00
Chris Lattner
df9b7bc090 Fix a bug that caused the pass to go into infinite loops on trivial testcases.
This is fallout of the Bug 122 changes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15811 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-16 05:38:02 +00:00
Chris Lattner
b6482069f0 There is no need for a cast here
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15810 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-16 05:09:58 +00:00
Nate Begeman
746a49516c Update the current state of the world
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15809 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-16 05:06:43 +00:00
Nate Begeman
7e0fd576d3 Fix typo of the word 'implicit' I made resolving a CVS conflict. Whoops!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15808 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-16 02:12:49 +00:00
Nate Begeman
1cffdf0798 Fix frame pointer handling:
Reserve R0 in store/load from stack slot for building >32k offsets from SP
or FP.  This also requires we use R11 rather than R0 for holding the LR
value we want to save or restore.  Also, tell the register allocator not
to use R31 (our FP) in functions that have a frame pointer.  These changes
fix Burg.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15807 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-16 01:52:12 +00:00
Nate Begeman
865075ed35 Fix mismatched adjust down/up of SP in functions that contain variable
sized allocas.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15806 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-16 01:50:22 +00:00
Chris Lattner
174f226464 Add a special case for argc,argv
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15802 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-16 01:07:04 +00:00