public nothrow | Function(Context& context_, FunctionType* type_, const String<char>& name_, bool once_, MDStructRef* md_) |
public BasicBlock* | AddBasicBlock(uint id) |
public void | CombineBasicBlocks() |
public nothrow void | ComputeLivenessAndNextUse() |
private void | CreateEpilog(MachineCode& machineCode) |
private void | CreateProlog(MachineCode& machineCode) |
public void | GenerateCode(MachineCode& machineCode, CodeFormatter& formatter) |
public void | GenerateDeclaration(MachineCode& machineCode) |
public BasicBlock* | GetBasicBlock(uint target) |
public inline nothrow int | GetNextArgIndex() |
public inline nothrow int | GetNextInstructionIndex() |
public inline nothrow int | GetNextValueNumber() |
public Value* | MakeIdValue(int lineNumber, uint id, Type* type) |
public void | MapInstruction(uint id, Instruction* instruction) |
public void | MapInstructions() |
public void | Print(CodeFormatter& formatter, int stage) |
public inline nothrow void | ResetNextArgIndex() |
public Value* | ResolveOperand(int line, Value* operand) |
public void | Validate() |
public AddressDescriptors | addressDescriptors |
public List<UniquePtr<BasicBlock>> | basicBlocks |
public Context& | context |
public BasicBlock | epilog |
public FrameLocations | frameLocations |
public ulong | frameSize |
private LiteralOperand* | frameSizeOperand |
private HashMap<uint, IdValue*, Hasher<uint>, EqualTo<uint>> | idValueMap |
private HashMap<uint, Instruction*, Hasher<uint>, EqualTo<uint>> | instructionMap |
public MDStructRef* | md |
public String<char> | name |
private int | nextArgIndex |
private int | nextInstructionIndex |
private int | nextValueNumber |
private bool | once |
public BasicBlock | prolog |
public List<ParamInstruction*> | regParams |
public FunctionType* | type |
private List<UniquePtr<Value>> | values |