[clang] [libc] [llvm] [DebugInfo][RemoveDIs] Suppress getNextNonDebugInfoInstruction (PR #144383)

2025-07-16 Thread Danila Malyutin via cfe-commits
danilaml wrote: Would've been nice to at least mark it deprecated first but oh well. https://github.com/llvm/llvm-project/pull/144383 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [Loads] Check context instruction for context-sensitive derefability (PR #109277)

2024-12-09 Thread Danila Malyutin via cfe-commits
danilaml wrote: @nikic also, another situation the current impl doesn't seem to account for is IR like ```llvm bb1: %p1 = load dereferenceable(N) ... bb2: %p2 = load dereferenceable(M) ... common: %p = phi ptr [%p1, %bb1], [%p2, %bb2] %res = load i32 %p ; <-- dereferenceable(min(N,M)) at

[clang] [llvm] [Loads] Check context instruction for context-sensitive derefability (PR #109277)

2024-12-06 Thread Danila Malyutin via cfe-commits
danilaml wrote: @nikic Does `AllowEphemerals` actually do what we want in that case? Haven't looked in detail, but on the surface it seemed way more involved than just `if (I == CtxI) return true;`. https://github.com/llvm/llvm-project/pull/109277 __

[clang] [llvm] [Loads] Check context instruction for context-sensitive derefability (PR #109277)

2024-12-06 Thread Danila Malyutin via cfe-commits
danilaml wrote: @nikic one thing I've discovered with this fact is that now `load` is not dereferenceable at "load" itself due to `isValidAssumeForContext` quirk of not allowing `assume` affect itself. Not sure if it's intentional for attributes here - makes it look like it's not safe to specu

[clang] [llvm] [Loads] Check context instruction for context-sensitive derefability (PR #109277)

2024-12-02 Thread Danila Malyutin via cfe-commits
danilaml wrote: @nikic ah, yeah. I remember the issue with dereferenceable w.r.t. free discussion. Guess will have to roll something for allocations that don't have this problem. https://github.com/llvm/llvm-project/pull/109277 ___ cfe-commits mailin

[clang] [llvm] [Loads] Check context instruction for context-sensitive derefability (PR #109277)

2024-12-02 Thread Danila Malyutin via cfe-commits
danilaml wrote: @nikic By the way, are there plans to support allocation functions other than alloca in this check? I don't see currently any llvm passes assigning dereferenceable(_or_null) attribute to something like `malloc(42)` , but I don't see why not and in that case this should also be

[clang] [llvm] [Loads] Check context instruction for context-sensitive derefability (PR #109277)

2024-11-04 Thread Danila Malyutin via cfe-commits
danilaml wrote: @nikic I mean not in theory but currently. I don't see those (except allocas) handled anywhere unless I'm missing something? https://github.com/llvm/llvm-project/pull/109277 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https

[clang] [llvm] [Loads] Check context instruction for context-sensitive derefability (PR #109277)

2024-11-04 Thread Danila Malyutin via cfe-commits
danilaml wrote: Is it even possible for `isSafeToSpeculativelyExecute` to return `true` now with the default (nullptr) CtxI? https://github.com/llvm/llvm-project/pull/109277 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.o