summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/Sparc
Commit message (Collapse)AuthorAgeFilesLines
* Squish warningChris Lattner2004-02-131-2/+2
| | | | llvm-svn: 11375
* Remove this MachineOpCodeFlags assertion - its test can never be false.Brian Gaeke2004-02-121-2/+0
| | | | llvm-svn: 11342
* Change MachineBasicBlock's vector of MachineInstr pointers into anAlkis Evlogimenos2004-02-1210-75/+55
| | | | | | | | | ilist of MachineInstr objects. This allows constant time removal and insertion of MachineInstr instances from anywhere in each MachineBasicBlock. It also allows for constant time splicing of MachineInstrs into or out of MachineBasicBlocks. llvm-svn: 11340
* MachineInstr::getOpCode() --> getOpcode() in SPARC back-end.Brian Gaeke2004-02-1110-41/+41
| | | | llvm-svn: 11335
* Increase constness.Alkis Evlogimenos2004-02-112-4/+6
| | | | llvm-svn: 11322
* Remove assert as the only integer registers on the sparc are physical.Alkis Evlogimenos2004-02-111-3/+0
| | | | llvm-svn: 11317
* Fix previous broken commit. A MachineOperand may have opType ==Alkis Evlogimenos2004-02-111-2/+4
| | | | | | | MO_VirtualRegister but if the register number is one of a physical register is it considered as a physical register. llvm-svn: 11315
* Remove assert as it is meaningless. MachineOperands can be tagged asAlkis Evlogimenos2004-02-111-2/+0
| | | | | | MO_VirtualRegister but actually be representing a physical register. llvm-svn: 11310
* Stop using this methodChris Lattner2004-02-101-1/+1
| | | | llvm-svn: 11282
* Remvoe use of MO.isVirtualRegister(), turn an assertion into an assert()Chris Lattner2004-02-101-5/+3
| | | | llvm-svn: 11280
* Remove use of isPhysicalRegisterChris Lattner2004-02-101-1/+1
| | | | llvm-svn: 11277
* Fix PR228: [sparc] Boolean constants are emitted as true and falseChris Lattner2004-02-101-0/+2
| | | | | | | I will observe that the concept of using WriteAsOperand is completely broken, but then we all knew that, didn't we? llvm-svn: 11255
* Doxygenify comments.Misha Brukman2004-02-091-12/+9
| | | | llvm-svn: 11252
* Fix PR#226: When emitting padding, always emit it as bytes. Bytes can beJohn Criswell2004-02-091-8/+5
| | | | | | placed into any alignment situation. llvm-svn: 11247
* Add a new (static inline) std::ostream& << AllocInfo& method. Use it.Brian Gaeke2004-01-282-6/+9
| | | | llvm-svn: 11002
* Use the LLVM standard name mangling infrastructure instead of reinventing theMisha Brukman2004-01-151-77/+18
| | | | | | wheel. llvm-svn: 10891
* Include TargetRegInfo.h and declare SparcTargetMachine forward, to make thisBrian Gaeke2004-01-151-1/+4
| | | | | | header more easily includable. llvm-svn: 10880
* Eliminate the isStringCompatible function, using ConstantArray::isString.Chris Lattner2004-01-141-40/+22
| | | | | | | | | | It's not clear why the code was looking for signed chars < 0, but it can't matter to the assembler anyway, so the check goes away. This also fixes compatibility with arrays of [us]byte that have constantexprs in them. Also slightly restructure some code to be cleaner. llvm-svn: 10854
* Finegrainify namespacificationChris Lattner2004-01-131-53/+15
| | | | | | | Using the SlotCalculator is total overkill for this file, a simple map will suffice. Why doesn't this use the NameMangler interface? llvm-svn: 10823
* Remove dump-input option.Brian Gaeke2004-01-131-14/+2
| | | | | | Make addPassesToEmitAssembly() look slightly more like addPassesToJITCompile(). llvm-svn: 10818
* Eliminate use of ConstantHandling itfChris Lattner2004-01-121-5/+4
| | | | llvm-svn: 10782
* Move sparc-specific livevar code into lib/Target/SparcChris Lattner2004-01-096-1/+688
| | | | llvm-svn: 10733
* Fix more incestuous #includage.Chris Lattner2004-01-092-4/+4
| | | | llvm-svn: 10732
* Move InstrSelection into lib/Target/Sparc, as it's sparc specific. ThisChris Lattner2004-01-095-1/+1036
| | | | | | | makes the incestuous #include'ing of sparc internal headers much less disturbing. :) llvm-svn: 10729
* Move lib/Codegen/RegAlloc into lib/Target/Sparc, as it is sparc specificChris Lattner2004-01-0915-0/+3354
| | | | llvm-svn: 10728
* Clean up a lot of the code I added yesterday by exposing the IntrinsicLoweringChris Lattner2003-12-283-15/+5
| | | | | | implementation from the TargetMachine directly. llvm-svn: 10636
* Eliminate some code that is not needed now that we have the intrinsic ↵Chris Lattner2003-12-284-58/+30
| | | | | | lowering pass llvm-svn: 10628
* Really release memory used by functions. Patch by Chris.Misha Brukman2003-12-221-0/+1
| | | | llvm-svn: 10572
* Hoist some sparc specific code into the sparc targetChris Lattner2003-12-203-6/+53
| | | | llvm-svn: 10554
* Rip JIT specific stuff out of TargetMachine, as per PR176Chris Lattner2003-12-204-25/+61
| | | | llvm-svn: 10542
* * Converted C-style comments to C++Misha Brukman2003-12-171-13/+15
| | | | | | | * Doxygenified comments * Reordered #includes llvm-svn: 10503
* Reordered #includes.Misha Brukman2003-12-171-5/+5
| | | | llvm-svn: 10502
* Doxygenified some comments, reduced extraneous space.Misha Brukman2003-12-171-19/+12
| | | | llvm-svn: 10501
* Reorganized the Sparc backend to be more modular -- each differentMisha Brukman2003-12-1713-773/+845
| | | | | | | | | | | | | 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. llvm-svn: 10500
* Change interface of MachineOperand as follows:Alkis Evlogimenos2003-12-142-12/+12
| | | | | | | | | | | | | | | 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. llvm-svn: 10461
* * Add code to flush the ICache, which any self-respecting SMC must doMisha Brukman2003-11-211-5/+8
| | | | | | | | * Restore registers *after* everything else to avoid any possible side effects This fixes McCat-imp. llvm-svn: 10147
* Include the file before we close the llvm namespace.Misha Brukman2003-11-131-1/+2
| | | | llvm-svn: 9954
* Substantially re-organized this file:Misha Brukman2003-11-131-600/+554
| | | | | | | | | | | | | * 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. llvm-svn: 9953
* The function to create an instance of this pass is no longer a method ofMisha Brukman2003-11-132-2/+2
| | | | | | the UltraSparc class. llvm-svn: 9952
* The functions to create new instances of passes are no longer methods in theMisha Brukman2003-11-131-15/+16
| | | | | | UltraSparc class. Comments are also doxygen-compatible now. llvm-svn: 9951
* * Put command-line switches in their own namespaceMisha Brukman2003-11-131-17/+16
| | | | | | * Pass creation functions are no longer in the UltraSparc class llvm-svn: 9950
* Force a dependency on the .inc file, which must be generated!Misha Brukman2003-11-131-0/+3
| | | | llvm-svn: 9949
* Put all LLVM code into the llvm namespace, as per bug 109.Brian Gaeke2003-11-1120-15/+90
| | | | llvm-svn: 9903
* Fix PR103Brian Gaeke2003-11-091-6/+3
| | | | llvm-svn: 9830
* Fix two typos I found in comments.Brian Gaeke2003-11-082-3/+3
| | | | llvm-svn: 9806
* For some reason, LICM and GCSE like to crash the FunctionPassManager when theyMisha Brukman2003-11-081-2/+4
| | | | | | are being added as FunctionPasses... Sigh. llvm-svn: 9798
* Implement branching to a PC-relative constant (not a BasicBlock).Misha Brukman2003-11-071-7/+7
| | | | llvm-svn: 9793
* PreSelection is not optional, it performs a necessary and vital transformationMisha Brukman2003-11-071-12/+15
| | | | | | | | | 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. llvm-svn: 9791
* Switch to emitting MachineConstantPool the way it was meant to be done.Misha Brukman2003-11-072-49/+8
| | | | llvm-svn: 9777
* Switch to using the standard representation of the constant pool -- namely, theMisha Brukman2003-11-071-338/+322
| | | | | | | MachineConstantPool. This involved refactoring the two classes involved in printing out Sparc assembly. In fact, they should share all this code anyway. llvm-svn: 9776
OpenPOWER on IntegriCloud