LLVM API Documentation
#include <SparcV9RegClassInfo.h>
Inheritance diagram for llvm::SparcV9FloatRegClass:
Public Types | |
f0 | |
f1 | |
f2 | |
f3 | |
f4 | |
f5 | |
f6 | |
f7 | |
f8 | |
f9 | |
f10 | |
f11 | |
f12 | |
f13 | |
f14 | |
f15 | |
f16 | |
f17 | |
f18 | |
f19 | |
f20 | |
f21 | |
f22 | |
f23 | |
f24 | |
f25 | |
f26 | |
f27 | |
f28 | |
f29 | |
f30 | |
f31 | |
f32 | |
f33 | |
f34 | |
f35 | |
f36 | |
f37 | |
f38 | |
f39 | |
f40 | |
f41 | |
f42 | |
f43 | |
f44 | |
f45 | |
f46 | |
f47 | |
f48 | |
f49 | |
f50 | |
f51 | |
f52 | |
f53 | |
f54 | |
f55 | |
f56 | |
f57 | |
f58 | |
f59 | |
f60 | |
f61 | |
f62 | |
f63 | |
NumOfAvailRegs = 32 | |
NumOfAllRegs = 64 | |
StartOfNonVolatileRegs = f32 | |
StartOfAllRegs = f0 | |
enum | { f0, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21, f22, f23, f24, f25, f26, f27, f28, f29, f30, f31, f32, f33, f34, f35, f36, f37, f38, f39, f40, f41, f42, f43, f44, f45, f46, f47, f48, f49, f50, f51, f52, f53, f54, f55, f56, f57, f58, f59, f60, f61, f62, f63, NumOfAvailRegs = 32, NumOfAllRegs = 64, StartOfNonVolatileRegs = f32, StartOfAllRegs = f0 } |
Public Member Functions | |
SparcV9FloatRegClass (unsigned ID) | |
virtual void | markColorsUsed (unsigned RegInClass, int UserRegType, int RegTypeWanted, std::vector< bool > &IsColorUsedArr) const |
virtual int | findUnusedColor (int RegTypeWanted, const std::vector< bool > &IsColorUsedArr) const |
void | colorIGNode (IGNode *Node, const std::vector< bool > &IsColorUsedArr) const |
bool | isRegVolatile (int Reg) const |
const char *const | getRegName (unsigned reg) const |
Definition at line 91 of file SparcV9RegClassInfo.h.
anonymous enum |
Definition at line 123 of file SparcV9RegClassInfo.h.
llvm::SparcV9FloatRegClass::SparcV9FloatRegClass | ( | unsigned | ID | ) | [inline] |
Definition at line 96 of file SparcV9RegClassInfo.h.
void llvm::SparcV9FloatRegClass::colorIGNode | ( | IGNode * | Node, | |
const std::vector< bool > & | IsColorUsedArr | |||
) | const [virtual] |
Implements llvm::TargetRegClassInfo.
Definition at line 205 of file SparcV9RegClassInfo.cpp.
References llvm::DEBUG_RA, llvm::Type::DoubleTy, llvm::V9LiveRange::getColor(), llvm::V9LiveRange::getSuggestedColor(), llvm::V9LiveRange::getType(), llvm::V9LiveRange::hasColor(), llvm::V9LiveRange::hasSuggestedColor(), llvm::V9LiveRange::isCallInterference(), llvm::V9LiveRange::markForSpill(), Node, llvm::V9LiveRange::setColor(), StartOfAllRegs, and StartOfNonVolatileRegs.
int llvm::SparcV9FloatRegClass::findUnusedColor | ( | int | RegTypeWanted, | |
const std::vector< bool > & | IsColorUsedArr | |||
) | const [virtual] |
Reimplemented from llvm::TargetRegClassInfo.
Definition at line 349 of file SparcV9RegClassInfo.cpp.
References c, llvm::TargetRegClassInfo::findUnusedColor(), llvm::SparcV9RegInfo::FPDoubleRegType, and llvm::TargetRegClassInfo::getNumOfAvailRegs().
const char *const llvm::SparcV9FloatRegClass::getRegName | ( | unsigned | reg | ) | const [virtual] |
Implements llvm::TargetRegClassInfo.
Definition at line 105 of file SparcV9RegInfo.cpp.
References llvm::FloatRegNames, and NumOfAllRegs.
bool llvm::SparcV9FloatRegClass::isRegVolatile | ( | int | Reg | ) | const [inline, virtual] |
void llvm::SparcV9FloatRegClass::markColorsUsed | ( | unsigned | RegInClass, | |
int | UserRegType, | |||
int | RegTypeWanted, | |||
std::vector< bool > & | IsColorUsedArr | |||
) | const [virtual] |
Reimplemented from llvm::TargetRegClassInfo.
Definition at line 319 of file SparcV9RegClassInfo.cpp.
References llvm::SparcV9RegInfo::FPDoubleRegType, and NumOfAllRegs.