mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-24 22:24:54 +00:00
Thread LLVMContext through MVT and related parts of SDISel.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75153 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -142,17 +142,19 @@ class CCState {
|
||||
const TargetMachine &TM;
|
||||
const TargetRegisterInfo &TRI;
|
||||
SmallVector<CCValAssign, 16> &Locs;
|
||||
LLVMContext *Context;
|
||||
|
||||
unsigned StackOffset;
|
||||
SmallVector<uint32_t, 16> UsedRegs;
|
||||
public:
|
||||
CCState(unsigned CC, bool isVarArg, const TargetMachine &TM,
|
||||
SmallVector<CCValAssign, 16> &locs);
|
||||
SmallVector<CCValAssign, 16> &locs, LLVMContext *C);
|
||||
|
||||
void addLoc(const CCValAssign &V) {
|
||||
Locs.push_back(V);
|
||||
}
|
||||
|
||||
LLVMContext *getContext() const { return Context; }
|
||||
const TargetMachine &getTarget() const { return TM; }
|
||||
unsigned getCallingConv() const { return CallingConv; }
|
||||
bool isVarArg() const { return IsVarArg; }
|
||||
|
@@ -78,6 +78,7 @@ class SelectionDAG {
|
||||
FunctionLoweringInfo &FLI;
|
||||
MachineModuleInfo *MMI;
|
||||
DwarfWriter *DW;
|
||||
LLVMContext* Context;
|
||||
|
||||
/// EntryNode - The starting token.
|
||||
SDNode EntryNode;
|
||||
@@ -125,7 +126,8 @@ public:
|
||||
/// init - Prepare this SelectionDAG to process code in the given
|
||||
/// MachineFunction.
|
||||
///
|
||||
void init(MachineFunction &mf, MachineModuleInfo *mmi, DwarfWriter *dw);
|
||||
void init(MachineFunction &mf, MachineModuleInfo *mmi, DwarfWriter *dw,
|
||||
LLVMContext* C);
|
||||
|
||||
/// clear - Clear state and free memory necessary to make this
|
||||
/// SelectionDAG ready to process a new block.
|
||||
@@ -138,6 +140,7 @@ public:
|
||||
FunctionLoweringInfo &getFunctionLoweringInfo() const { return FLI; }
|
||||
MachineModuleInfo *getMachineModuleInfo() const { return MMI; }
|
||||
DwarfWriter *getDwarfWriter() const { return DW; }
|
||||
LLVMContext *getContext() const {return Context; }
|
||||
|
||||
/// viewGraph - Pop up a GraphViz/gv window with the DAG rendered using 'dot'.
|
||||
///
|
||||
|
@@ -23,6 +23,7 @@
|
||||
|
||||
namespace llvm {
|
||||
class Type;
|
||||
class LLVMContext;
|
||||
|
||||
struct MVT { // MVT = Machine Value Type
|
||||
public:
|
||||
@@ -487,7 +488,7 @@ namespace llvm {
|
||||
/// getTypeForMVT - This method returns an LLVM type corresponding to the
|
||||
/// specified MVT. For integer types, this returns an unsigned type. Note
|
||||
/// that this will abort for types that cannot be represented.
|
||||
const Type *getTypeForMVT() const;
|
||||
const Type *getTypeForMVT(LLVMContext &Context) const;
|
||||
|
||||
/// getMVT - Return the value type corresponding to the specified type.
|
||||
/// This returns all pointers as iPTR. If HandleUnknown is true, unknown
|
||||
|
Reference in New Issue
Block a user