Created a substrate for the MemOIR Intermediate Representation.
compiler/passes/memoir/ir contains the substrate for accessing information about memoir calls.
compiler/passes/memoir/analysis contains the type, struct and collection analyses that generate the IR.
There is additional engineering work on the representation and its substrate:
[ ] Fully implementing and testing LLVM RTTI for all substrate classes.
[ ] Adding dyn_cast for llvm::Instruction to MemOIRInst and MemOIRInst to llvm::Instruction (more specifically, llvm::CallInst)
Created a substrate for the MemOIR Intermediate Representation.
compiler/passes/memoir/ir
contains the substrate for accessing information about memoir calls.compiler/passes/memoir/analysis
contains the type, struct and collection analyses that generate the IR.There is additional engineering work on the representation and its substrate:
dyn_cast
forllvm::Instruction
toMemOIRInst
andMemOIRInst
tollvm::Instruction
(more specifically,llvm::CallInst
)