Differences From Artifact [a40e74b5c3]:
- File bs/cir/branch.h — part of check-in [7d2def7b75] at 2020-12-27 14:40:24 on branch trunk — Renamed "ir" to "eir" (expression intermediate representation) and "llr" to "cir" (code intermediate representation) for clarity. (user: achavasse size: 1624) [more...]
To Artifact [7fea74b021]:
- File bs/cir/branch.h — part of check-in [26c691ecb9] at 2021-01-02 18:24:23 on branch trunk — Yet one more reference/address refactor: each calculation step (getting temp addr, getting var addr, selecting a member) is now a separate cir instruction. We need this level of generalization to be able to obtain addresses from anywhere, including variables and function parameters. (user: achavasse size: 1687)
| ︙ | ︙ | |||
13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
m_dest( forward< B >( dest ) )
{}
const auto& dest() const { return m_dest; }
bool canBeExecuted() const { return true; }
bool canBeEagerlyEvaluated() const { return true; }
void addCFGEdges( const ptr< CFG >& cfg, uint32_t srcBBIndex );
private:
wptr< BasicBlock > m_dest;
};
| > | 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
m_dest( forward< B >( dest ) )
{}
const auto& dest() const { return m_dest; }
bool canBeExecuted() const { return true; }
bool canBeEagerlyEvaluated() const { return true; }
bool isCompTimeStackAddr() const { return false; }
void addCFGEdges( const ptr< CFG >& cfg, uint32_t srcBBIndex );
private:
wptr< BasicBlock > m_dest;
};
|
| ︙ | ︙ |