High-level languages today usually make use of aggregate data types and object-oriented programming (OOP) constructs. LLVM IR has some support…