search for: 9njgqx

Displaying 3 results from an estimated 3 matches for "9njgqx".

2020 Jul 09
2
Understand alias-analysis results
...Pointers: (i32* %y, > LocationSize::precise(4)) > > It means we have two "must alias" sets, each of which contain only one > pointer? That seems quite confusing to me.. You can add -print-all-alias-modref-info for more detailed information: https://llvm.godbolt.org/z/9njGqx -- you'll notice "MustAlias: i32* %c, i8* %6". Adding `-evaluate-aa-metadata` for `load` and `store` instructions, https://llvm.godbolt.org/z/YaW1Mb, you'll notice "MustAlias: %0 = load i32**, i32*** %a, align 8 <-> store i32** %b, i32*** %a, align 8" Howe...
2020 Jul 10
2
Understand alias-analysis results
...is one really confused me. I would expect to have an alias set of at > least *two* elements (e.g., two pointers point to the same memory > region), otherwise for the above case, $y$ is aliased to whom? I > searched all outputs that are related to %y from > https://llvm.godbolt.org/z/9njGqx but all I can find is "NoAlias". > Overall, to understand why an alias set can have only one pointer looks > quite strange to me.. This seems correct: Note that `int y` is a distinct object in memory, not a pointer, and shares no alias sets with anything (we happen to assign t...
2020 Jul 09
2
Understand alias-analysis results
Hey Matt, That's awesome. Thank you very much for all the information and clarification! Just a few follow up questions. Could you kindly shed some lights on it? Thank you! 1. I tried to tweak the code in the following way: - Clang [-> LLVM-IR]: https://llvm.godbolt.org/z/n9rGrs - [LLVM-IR ->] opt: https://llvm.godbolt.org/z/Uc6h5Y And i note that the outputs are: Alias sets for