aboutsummaryrefslogtreecommitdiff
path: root/lib/Target/SparcV9
AgeCommit message (Collapse)Author
2003-12-22Really release memory used by functions. Patch by Chris.Misha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10572 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-20Hoist some sparc specific code into the sparc targetChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10554 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-20Remove a horrible APIChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10551 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-20Rip JIT specific stuff out of TargetMachine, as per PR176Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10542 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-17* Converted C-style comments to C++Misha Brukman
* Doxygenified comments * Reordered #includes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10503 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-17Reordered #includes.Misha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10502 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-17Doxygenified some comments, reduced extraneous space.Misha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10501 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-17Reorganized the Sparc backend to be more modular -- each differentMisha Brukman
implementation of a Target{RegInfo, InstrInfo, Machine, etc} now has a separate header and a separate implementation file. This means that instead of a massive SparcInternals.h that forces a recompilation of the whole target whenever a minor detail is changed, you should only recompile a few files. Note that SparcInternals.h is still around; its contents should be minimized. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10500 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-14Change interface of MachineOperand as follows:Alkis Evlogimenos
a) remove opIsUse(), opIsDefOnly(), opIsDefAndUse() b) add isUse(), isDef() c) rename opHiBits32() to isHiBits32(), opLoBits32() to isLoBits32(), opHiBits64() to isHiBits64(), opLoBits64() to isLoBits64(). This results to much more readable code, for example compare "op.opIsDef() || op.opIsDefAndUse()" to "op.isDef()" a pattern used very often in the code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10461 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-10This appears to fix Bug 172 and does not break any other feature tests orJohn Criswell
regression tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10388 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-21* Add code to flush the ICache, which any self-respecting SMC must doMisha Brukman
* Restore registers *after* everything else to avoid any possible side effects This fixes McCat-imp. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10147 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-13Include the file before we close the llvm namespace.Misha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9954 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-13Substantially re-organized this file:Misha Brukman
* There is now only one pass to print out assembly instead of two * It is a FunctionPass * The Module-level printing of globals is now in doFinalization() method of the FunctionPass * The code has been reformatted to follow LLVM coding standards * Some comments, not all, were doxygenified * Last but not least, the function to create an instance of this pass is also no longer a method in the UltraSparc class. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9953 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-13The function to create an instance of this pass is no longer a method ofMisha Brukman
the UltraSparc class. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9952 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-13The functions to create new instances of passes are no longer methods in theMisha Brukman
UltraSparc class. Comments are also doxygen-compatible now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9951 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-13* Put command-line switches in their own namespaceMisha Brukman
* Pass creation functions are no longer in the UltraSparc class git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9950 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-13Force a dependency on the .inc file, which must be generated!Misha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9949 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-11Put all LLVM code into the llvm namespace, as per bug 109.Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9903 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-10Fix problems linking against the reoptimizer; _llvm_regAllocState must haveBrian Gaeke
externally-visible linkage, and SaveStateToModule must default to true for llc. I don't remember why I made it const; perhaps it should be deconstified. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9858 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-10Operand numbers are now ints. Save the register allocation of the valueBrian Gaeke
each instruction produces as "operand" -1, and the other operands as 0 .. n, as before. PhyRegAlloc::saveState() is refactored into PhyRegAlloc::saveStateForValue(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9842 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-09Fix PR103Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9830 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-08Fix two typos I found in comments.Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9806 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-08For some reason, LICM and GCSE like to crash the FunctionPassManager when theyMisha Brukman
are being added as FunctionPasses... Sigh. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9798 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-07Implement branching to a PC-relative constant (not a BasicBlock).Misha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9793 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-07PreSelection is not optional, it performs a necessary and vital transformationMisha Brukman
for the Sparc backend: breaking up constant expressions. Thus, we cannot have it guarded by a conditional, it should never be disabled. Also, it's now available for the JIT since it is a FunctionPass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9791 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-07Switch to emitting MachineConstantPool the way it was meant to be done.Misha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9777 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-07Switch to using the standard representation of the constant pool -- namely, theMisha Brukman
MachineConstantPool. This involved refactoring the two classes involved in printing out Sparc assembly. In fact, they should share all this code anyway. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9776 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-07We accept TargetMachine as a const reference.Misha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9775 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-07PreSelection and PeepholeOpts are now FunctionPasses.Misha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9774 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-07* Stop making a global for each constant that cannot live in an instruction;Misha Brukman
it will be converted to a MachineConstantPool index during instruction selection * This is now eligible to become a FunctionPass since it does not have any side effects outside of the function it is processing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9773 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-07* Use the MachineConstantPool for storing constants instead of a hash_set;Misha Brukman
* Do not create new globals for constants! Also, order #includes as per coding style guide git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9772 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-07Use `basename $<` to get just the filename, not full path, for ease of reading.Misha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9770 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-07Hopefully this will fix PR98Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9762 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-06* Make the comment header 80 columns longMisha Brukman
* Alphabetize #includes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9751 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-06Let's not forget about our friends -- Constant Pool indices.Misha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9750 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-05Do not use a class before it is defined.Chris Lattner
Be gcc 3.4 clean git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9727 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-04Update verifySavedState()'s comment, so that it reflects its currentBrian Gaeke
status. In doFinalization(), skip over external functions, just like Anand's mapping info does. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9703 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-04Add comments.Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9697 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-30Include llvm/CodeGen/MachineCodeForInstruction.h. Use it to startBrian Gaeke
implementing verifySavedState(). In saveState(), use the new AllocInfo::AllocStateTy enum, and increment Insn each time through the loop. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9617 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-30Make AllocState an enum.Brian Gaeke
Move the stringifying method for that enum into class AllocInfo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9616 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-29Tweak sed commands so that they filter out more # stuff and alsoBrian Gaeke
work on Mac OS X. Also turn ${...} into $(...); we do not speak BSD Make. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9589 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-24Publicize the type of FnAllocState.Brian Gaeke
Prototype option to save state in a global instead of as a Constant in the Module. (Turned off, for now, with the on/off switch welded in the off position. You get the idea.) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9500 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-23Move the implementations of ==, != on AllocInfos here, from UnpackTraceFunction.Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9452 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-23Move AllocInfo structure to a private AllocInfo.h header file.Brian Gaeke
Make FnAllocState contain vectors of AllocInfo, instead of LLVM Constants. Give doFinalization a method comment, and let it do the work of converting AllocInfos to LLVM Constants. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9451 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-23Make FnAllocState contain vectors of AllocInfo, instead of LLVM Constants.Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9450 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-23New file, containing AllocInfo structure.Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9449 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-23* Eliminate `using' directiveMisha Brukman
* Fix order of #includes * Make code layout more consistent * Eliminate extraneous whitespace and comment-lines git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9433 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-23* Fix order of #include filesMisha Brukman
* Doxygen-ify method comments git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9432 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-23* Order #includes as per style guideMisha Brukman
* Doxygen-ify comments * Make code layout more consistent git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9431 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-23* Use C++ style comments instead of C-styleMisha Brukman
* Make file description more readable * Make code layout more consistent, include comment in assert so it's visible during execution if it hits git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9430 91177308-0d34-0410-b5e6-96231b3b80d8