diff options
author | Hideto Ueno <uenoku.tokotoko@gmail.com> | 2020-03-09 14:19:32 +0900 |
---|---|---|
committer | Hideto Ueno <uenoku.tokotoko@gmail.com> | 2020-03-09 14:29:26 +0900 |
commit | bdcbdb484829c518511eece0809cc8ce1baa73c8 (patch) | |
tree | 165d290646113537830a4d4224f425b910085384 /clang/lib/Frontend/CompilerInvocation.cpp | |
parent | 5e080dff756400f0fc92a6123230113777738c4c (diff) | |
download | llvm-bdcbdb484829c518511eece0809cc8ce1baa73c8.zip llvm-bdcbdb484829c518511eece0809cc8ce1baa73c8.tar.gz llvm-bdcbdb484829c518511eece0809cc8ce1baa73c8.tar.bz2 |
[Attributor] Deduction based on path exploration
This patch introduces the propagation of known information based on path exploration.
For example,
```
int u(int c, int *p){
if(c) {
return *p;
} else {
return *p + 1;
}
}
```
An argument `p` is dereferenced whatever c's value is.
For an instruction `CtxI`, we accumulate branch instructions in the must-be-executed-context of `CtxI` and then, we take the conjunction of the successors' known state.
Reviewed By: jdoerfert
Differential Revision: https://reviews.llvm.org/D65593
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions