Sirui Mu

Results 108 comments of Sirui Mu

> Great idea. Opened a thread here: https://discourse.llvm.org/t/why-llvm-invariant-end-intrinsic-would-prevent-optimizations/82984 nikic has responded: > In practice, LLVM only supports open-ended invariant.start. We should really remove the invariant.end intrinsic to not confuse people....

#1159 started emitting `!invariant.group` metadata for loads and stores to function-level allocas, as shown in Approach 3. This left us with local constants in an inner scope of the function-level...

Here's a short draft about how I'm planning to deal with nested constant allocas. Let's re-consider the C++ code listed in the top message: ```c++ void test(std::vector vec) { for...

> Btw, does the problem of while goes away with fixes for https://github.com/llvm/clangir/issues/1218? No. #1218 moves variables in loop bodies into a scope in the loop body, but this is...

> I think you could solve in a simpler way this problem by involving the current "idiom recognition" and play with abstract interpretation to figure out the semantics of the...

Rebased onto the latest `main`.

Rebased onto the latest `main`.

Hi @OfekShilon could you please have a look at this PR? Thanks!

> what is -fclangir-mem2reg It is a clang option that enables the mem2reg pass in clangir optimization pipeline. > Isn't this covered by the new opt-pipeline view? Yep indeed, I...

@OfekShilon I reconsidered this for a while and I believe a more appropriate design would be 1) removing the `-fclangir-mem2reg` and 2) adding flat. The `fclangir-mem2reg` is basically an optimization...