Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Squish warning | Chris Lattner | 2004-02-13 | 1 | -2/+2 |
| | | | | llvm-svn: 11375 | ||||
* | Remove this MachineOpCodeFlags assertion - its test can never be false. | Brian Gaeke | 2004-02-12 | 1 | -2/+0 |
| | | | | llvm-svn: 11342 | ||||
* | Change MachineBasicBlock's vector of MachineInstr pointers into an | Alkis Evlogimenos | 2004-02-12 | 10 | -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 Gaeke | 2004-02-11 | 10 | -41/+41 |
| | | | | llvm-svn: 11335 | ||||
* | Increase constness. | Alkis Evlogimenos | 2004-02-11 | 2 | -4/+6 |
| | | | | llvm-svn: 11322 | ||||
* | Remove assert as the only integer registers on the sparc are physical. | Alkis Evlogimenos | 2004-02-11 | 1 | -3/+0 |
| | | | | llvm-svn: 11317 | ||||
* | Fix previous broken commit. A MachineOperand may have opType == | Alkis Evlogimenos | 2004-02-11 | 1 | -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 as | Alkis Evlogimenos | 2004-02-11 | 1 | -2/+0 |
| | | | | | | MO_VirtualRegister but actually be representing a physical register. llvm-svn: 11310 | ||||
* | Stop using this method | Chris Lattner | 2004-02-10 | 1 | -1/+1 |
| | | | | llvm-svn: 11282 | ||||
* | Remvoe use of MO.isVirtualRegister(), turn an assertion into an assert() | Chris Lattner | 2004-02-10 | 1 | -5/+3 |
| | | | | llvm-svn: 11280 | ||||
* | Remove use of isPhysicalRegister | Chris Lattner | 2004-02-10 | 1 | -1/+1 |
| | | | | llvm-svn: 11277 | ||||
* | Fix PR228: [sparc] Boolean constants are emitted as true and false | Chris Lattner | 2004-02-10 | 1 | -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 Brukman | 2004-02-09 | 1 | -12/+9 |
| | | | | llvm-svn: 11252 | ||||
* | Fix PR#226: When emitting padding, always emit it as bytes. Bytes can be | John Criswell | 2004-02-09 | 1 | -8/+5 |
| | | | | | | placed into any alignment situation. llvm-svn: 11247 | ||||
* | Add a new (static inline) std::ostream& << AllocInfo& method. Use it. | Brian Gaeke | 2004-01-28 | 2 | -6/+9 |
| | | | | llvm-svn: 11002 | ||||
* | Use the LLVM standard name mangling infrastructure instead of reinventing the | Misha Brukman | 2004-01-15 | 1 | -77/+18 |
| | | | | | | wheel. llvm-svn: 10891 | ||||
* | Include TargetRegInfo.h and declare SparcTargetMachine forward, to make this | Brian Gaeke | 2004-01-15 | 1 | -1/+4 |
| | | | | | | header more easily includable. llvm-svn: 10880 | ||||
* | Eliminate the isStringCompatible function, using ConstantArray::isString. | Chris Lattner | 2004-01-14 | 1 | -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 namespacification | Chris Lattner | 2004-01-13 | 1 | -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 Gaeke | 2004-01-13 | 1 | -14/+2 |
| | | | | | | Make addPassesToEmitAssembly() look slightly more like addPassesToJITCompile(). llvm-svn: 10818 | ||||
* | Eliminate use of ConstantHandling itf | Chris Lattner | 2004-01-12 | 1 | -5/+4 |
| | | | | llvm-svn: 10782 | ||||
* | Move sparc-specific livevar code into lib/Target/Sparc | Chris Lattner | 2004-01-09 | 6 | -1/+688 |
| | | | | llvm-svn: 10733 | ||||
* | Fix more incestuous #includage. | Chris Lattner | 2004-01-09 | 2 | -4/+4 |
| | | | | llvm-svn: 10732 | ||||
* | Move InstrSelection into lib/Target/Sparc, as it's sparc specific. This | Chris Lattner | 2004-01-09 | 5 | -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 specific | Chris Lattner | 2004-01-09 | 15 | -0/+3354 |
| | | | | llvm-svn: 10728 | ||||
* | Clean up a lot of the code I added yesterday by exposing the IntrinsicLowering | Chris Lattner | 2003-12-28 | 3 | -15/+5 |
| | | | | | | implementation from the TargetMachine directly. llvm-svn: 10636 | ||||
* | Eliminate some code that is not needed now that we have the intrinsic ↵ | Chris Lattner | 2003-12-28 | 4 | -58/+30 |
| | | | | | | lowering pass llvm-svn: 10628 | ||||
* | Really release memory used by functions. Patch by Chris. | Misha Brukman | 2003-12-22 | 1 | -0/+1 |
| | | | | llvm-svn: 10572 | ||||
* | Hoist some sparc specific code into the sparc target | Chris Lattner | 2003-12-20 | 3 | -6/+53 |
| | | | | llvm-svn: 10554 | ||||
* | Rip JIT specific stuff out of TargetMachine, as per PR176 | Chris Lattner | 2003-12-20 | 4 | -25/+61 |
| | | | | llvm-svn: 10542 | ||||
* | * Converted C-style comments to C++ | Misha Brukman | 2003-12-17 | 1 | -13/+15 |
| | | | | | | | * Doxygenified comments * Reordered #includes llvm-svn: 10503 | ||||
* | Reordered #includes. | Misha Brukman | 2003-12-17 | 1 | -5/+5 |
| | | | | llvm-svn: 10502 | ||||
* | Doxygenified some comments, reduced extraneous space. | Misha Brukman | 2003-12-17 | 1 | -19/+12 |
| | | | | llvm-svn: 10501 | ||||
* | Reorganized the Sparc backend to be more modular -- each different | Misha Brukman | 2003-12-17 | 13 | -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 Evlogimenos | 2003-12-14 | 2 | -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 do | Misha Brukman | 2003-11-21 | 1 | -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 Brukman | 2003-11-13 | 1 | -1/+2 |
| | | | | llvm-svn: 9954 | ||||
* | Substantially re-organized this file: | Misha Brukman | 2003-11-13 | 1 | -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 of | Misha Brukman | 2003-11-13 | 2 | -2/+2 |
| | | | | | | the UltraSparc class. llvm-svn: 9952 | ||||
* | The functions to create new instances of passes are no longer methods in the | Misha Brukman | 2003-11-13 | 1 | -15/+16 |
| | | | | | | UltraSparc class. Comments are also doxygen-compatible now. llvm-svn: 9951 | ||||
* | * Put command-line switches in their own namespace | Misha Brukman | 2003-11-13 | 1 | -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 Brukman | 2003-11-13 | 1 | -0/+3 |
| | | | | llvm-svn: 9949 | ||||
* | Put all LLVM code into the llvm namespace, as per bug 109. | Brian Gaeke | 2003-11-11 | 20 | -15/+90 |
| | | | | llvm-svn: 9903 | ||||
* | Fix PR103 | Brian Gaeke | 2003-11-09 | 1 | -6/+3 |
| | | | | llvm-svn: 9830 | ||||
* | Fix two typos I found in comments. | Brian Gaeke | 2003-11-08 | 2 | -3/+3 |
| | | | | llvm-svn: 9806 | ||||
* | For some reason, LICM and GCSE like to crash the FunctionPassManager when they | Misha Brukman | 2003-11-08 | 1 | -2/+4 |
| | | | | | | are being added as FunctionPasses... Sigh. llvm-svn: 9798 | ||||
* | Implement branching to a PC-relative constant (not a BasicBlock). | Misha Brukman | 2003-11-07 | 1 | -7/+7 |
| | | | | llvm-svn: 9793 | ||||
* | PreSelection is not optional, it performs a necessary and vital transformation | Misha Brukman | 2003-11-07 | 1 | -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 Brukman | 2003-11-07 | 2 | -49/+8 |
| | | | | llvm-svn: 9777 | ||||
* | Switch to using the standard representation of the constant pool -- namely, the | Misha Brukman | 2003-11-07 | 1 | -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 |