Goose  Diff

Differences From Artifact [f8e354d0c5]:

  • File bs/codegen/module.h — part of check-in [56ae4179a9] at 2021-09-19 20:18:42 on branch trunk — Implemented "Implies" and "PHOverride" verification-specific CIR instructions (user: achavasse size: 6173) [more...]

To Artifact [c0535c2ff2]:

  • File bs/codegen/module.h — part of check-in [802b9820d4] at 2022-01-29 13:41:35 on branch trunk — ghost funcs: added GhostCall CIR instruction (user: zlodo size: 6256)

94
95
96
97
98
99
100

101
102
103
104
105
106
107
            llvm::Value* buildInstruction( Infos& inf, const cir::SGE& bo );
            llvm::Value* buildInstruction( Infos& inf, const cir::SLT& bo );
            llvm::Value* buildInstruction( Infos& inf, const cir::SLE& bo );

            llvm::Value* buildInstruction( Infos& inf, const cir::Assert& ass );
            llvm::Value* buildInstruction( Infos& inf, const cir::Placeholder& ph );
            llvm::Value* buildInstruction( Infos& inf, const cir::PHOverride& pho );


            bool buildTerminator( Infos& inf, const cir::Terminator& terminator );
            bool buildTerminator( Infos& inf, const cir::Ret& r );
            bool buildTerminator( Infos& inf, const cir::Branch& b );
            bool buildTerminator( Infos& inf, const cir::CondBranch& cb );

            template< typename T >







>







94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
            llvm::Value* buildInstruction( Infos& inf, const cir::SGE& bo );
            llvm::Value* buildInstruction( Infos& inf, const cir::SLT& bo );
            llvm::Value* buildInstruction( Infos& inf, const cir::SLE& bo );

            llvm::Value* buildInstruction( Infos& inf, const cir::Assert& ass );
            llvm::Value* buildInstruction( Infos& inf, const cir::Placeholder& ph );
            llvm::Value* buildInstruction( Infos& inf, const cir::PHOverride& pho );
            llvm::Value* buildInstruction( Infos& inf, const cir::GhostCall& gc );

            bool buildTerminator( Infos& inf, const cir::Terminator& terminator );
            bool buildTerminator( Infos& inf, const cir::Ret& r );
            bool buildTerminator( Infos& inf, const cir::Branch& b );
            bool buildTerminator( Infos& inf, const cir::CondBranch& cb );

            template< typename T >