Goose  Diff

Differences From Artifact [a509059264]:

  • File bs/codegen/module.h — part of check-in [270fa5b77b] at 2019-08-06 11:40:52 on branch trunk — llr, execute, codegen: implemented arithmetic instructions. (user: achavasse size: 4870)

To Artifact [f51d9de64e]:

  • File bs/codegen/module.h — part of check-in [08d543eea8] at 2019-08-06 15:28:13 on branch trunk — llr, execute, codegen: implemented comparison instructions. (user: achavasse size: 5820)

72
73
74
75
76
77
78











79
80
81
82
83
84
85
            llvm::Value* buildInstruction( const Context& c, Infos& inf, const llr::Sub& bo );
            llvm::Value* buildInstruction( const Context& c, Infos& inf, const llr::Mul& bo );
            llvm::Value* buildInstruction( const Context& c, Infos& inf, const llr::UDiv& bo );
            llvm::Value* buildInstruction( const Context& c, Infos& inf, const llr::SDiv& bo );
            llvm::Value* buildInstruction( const Context& c, Infos& inf, const llr::URem& bo );
            llvm::Value* buildInstruction( const Context& c, Infos& inf, const llr::SRem& bo );












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

            llvm::Value* createTemporary( Infos& inf, uint32_t cfgId, uint32_t index, llvm::Value* pValue ) const;








>
>
>
>
>
>
>
>
>
>
>







72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
            llvm::Value* buildInstruction( const Context& c, Infos& inf, const llr::Sub& bo );
            llvm::Value* buildInstruction( const Context& c, Infos& inf, const llr::Mul& bo );
            llvm::Value* buildInstruction( const Context& c, Infos& inf, const llr::UDiv& bo );
            llvm::Value* buildInstruction( const Context& c, Infos& inf, const llr::SDiv& bo );
            llvm::Value* buildInstruction( const Context& c, Infos& inf, const llr::URem& bo );
            llvm::Value* buildInstruction( const Context& c, Infos& inf, const llr::SRem& bo );

            llvm::Value* buildInstruction( const Context& c, Infos& inf, const llr::Eq& bo );
            llvm::Value* buildInstruction( const Context& c, Infos& inf, const llr::Neq& bo );
            llvm::Value* buildInstruction( const Context& c, Infos& inf, const llr::UGT& bo );
            llvm::Value* buildInstruction( const Context& c, Infos& inf, const llr::UGE& bo );
            llvm::Value* buildInstruction( const Context& c, Infos& inf, const llr::ULT& bo );
            llvm::Value* buildInstruction( const Context& c, Infos& inf, const llr::ULE& bo );
            llvm::Value* buildInstruction( const Context& c, Infos& inf, const llr::SGT& bo );
            llvm::Value* buildInstruction( const Context& c, Infos& inf, const llr::SGE& bo );
            llvm::Value* buildInstruction( const Context& c, Infos& inf, const llr::SLT& bo );
            llvm::Value* buildInstruction( const Context& c, Infos& inf, const llr::SLE& bo );

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

            llvm::Value* createTemporary( Infos& inf, uint32_t cfgId, uint32_t index, llvm::Value* pValue ) const;