[clang] [hwasan] Don't instrument when PGO profile is collected (PR #86739)

2024-03-26 Thread Vitaly Buka via cfe-commits
vitalybuka wrote: > ah I see. I feel like this should be a more principled approach that other > sanitizers also share, as you've mentioned as an alternative. do people not > care about other sanitizers in production? Actually Asan should not exhibit this behavior, by some lack it does not in

[clang] [hwasan] Don't instrument when PGO profile is collected (PR #86739)

2024-03-26 Thread Arthur Eubanks via cfe-commits
aeubanks wrote: ah I see. I feel like this should be a more principled approach that other sanitizers also share, as you've mentioned as an alternative. do people not care about other sanitizers in production? (I'm going to be OOO for a week, so someone else will need to review) https://githu

[clang] [hwasan] Don't instrument when PGO profile is collected (PR #86739)

2024-03-26 Thread Vitaly Buka via cfe-commits
https://github.com/vitalybuka converted_to_draft https://github.com/llvm/llvm-project/pull/86739 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [hwasan] Don't instrument when PGO profile is collected (PR #86739)

2024-03-26 Thread Vitaly Buka via cfe-commits
vitalybuka wrote: Looked into IR and HWASAN instrument stuff which it should not https://godbolt.org/z/MnYs75Meq Should be easy to fix. https://github.com/llvm/llvm-project/pull/86739 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://li

[clang] [hwasan] Don't instrument when PGO profile is collected (PR #86739)

2024-03-26 Thread Vitaly Buka via cfe-commits
vitalybuka wrote: > I think I'm still confused on exactly what the use case is and why we can't > just ask the user to not specify hwasan in the PGO instrumented build. Just > for user convenience? Or does clang change the emitted IR when hwasan is > enabled? And that's what will lead to mism

[clang] [hwasan] Don't instrument when PGO profile is collected (PR #86739)

2024-03-26 Thread Arthur Eubanks via cfe-commits
aeubanks wrote: > We already have similar stuff: > > ``` > if (PGOOpt && Phase != ThinOrFullLTOPhase::ThinLTOPostLink && > !PGOOpt->MemoryProfile.empty()) > MPM.addPass(MemProfUsePass(PGOOpt->MemoryProfile, PGOOpt->FS)); > ``` checking for ThinLTO pre/post link is a correctness thing

[clang] [hwasan] Don't instrument when PGO profile is collected (PR #86739)

2024-03-26 Thread Vitaly Buka via cfe-commits
vitalybuka wrote: Alternative is we need a new clang fronted flag to control this behavior. Assuming that this is rather strange use case, I'd prefer to land the patch and introduce new flag only when we have request for that case. https://github.com/llvm/llvm-project/pull/86739 ___

[clang] [hwasan] Don't instrument when PGO profile is collected (PR #86739)

2024-03-26 Thread Vitaly Buka via cfe-commits
vitalybuka wrote: We already have similar stuff: ``` if (PGOOpt && Phase != ThinOrFullLTOPhase::ThinLTOPostLink && !PGOOpt->MemoryProfile.empty()) MPM.addPass(MemProfUsePass(PGOOpt->MemoryProfile, PGOOpt->FS)); ``` https://github.com/llvm/llvm-project/pull/86739 ___

[clang] [hwasan] Don't instrument when PGO profile is collected (PR #86739)

2024-03-26 Thread Vitaly Buka via cfe-commits
vitalybuka wrote: > > > why can't hwasan and PGO instrumentation coexist? > > > > > > They can, but binary is like 5x times slower, on top of 10x slowdown of PGO > > instrumentation. (don't quote me on these numbers, they are from large but > > single benchmark, still it's very slow) > > If

[clang] [hwasan] Don't instrument when PGO profile is collected (PR #86739)

2024-03-26 Thread Arthur Eubanks via cfe-commits
aeubanks wrote: > > why can't hwasan and PGO instrumentation coexist? > > They can, but binary is like 5x times slower, on top of 10x slowdown of PGO > instrumentation. (don't quote me on these numbers, they are from large but > single benchmark, still it's very slow) > If it's usable as a co

[clang] [hwasan] Don't instrument when PGO profile is collected (PR #86739)

2024-03-26 Thread Vitaly Buka via cfe-commits
vitalybuka wrote: > why can't hwasan and PGO instrumentation coexist? They can, but binary is like 5x times slower, on top of 10x slowdown of PGO instrumentation. > > and this seems like it should be an error at the clang driver level, instead > of silently turning off one of the requested f

[clang] [hwasan] Don't instrument when PGO profile is collected (PR #86739)

2024-03-26 Thread Vitaly Buka via cfe-commits
https://github.com/vitalybuka edited https://github.com/llvm/llvm-project/pull/86739 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [hwasan] Don't instrument when PGO profile is collected (PR #86739)

2024-03-26 Thread Arthur Eubanks via cfe-commits
aeubanks wrote: why can't hwasan and PGO instrumentation coexist? and this seems like it should be an error at the clang driver level, instead of silently turning off one of the requested features https://github.com/llvm/llvm-project/pull/86739 ___ c

[clang] [hwasan] Don't instrument when PGO profile is collected (PR #86739)

2024-03-26 Thread Vitaly Buka via cfe-commits
https://github.com/vitalybuka edited https://github.com/llvm/llvm-project/pull/86739 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [hwasan] Don't instrument when PGO profile is collected (PR #86739)

2024-03-26 Thread via cfe-commits
llvmbot wrote: @llvm/pr-subscribers-clang-codegen Author: Vitaly Buka (vitalybuka) Changes --- Full diff: https://github.com/llvm/llvm-project/pull/86739.diff 3 Files Affected: - (modified) clang/lib/CodeGen/BackendUtil.cpp (+10-4) - (modified) clang/test/CodeGen/asan-new-pm.ll (+8-1

[clang] [hwasan] Don't instrument when PGO profile is collected (PR #86739)

2024-03-26 Thread Vitaly Buka via cfe-commits
https://github.com/vitalybuka created https://github.com/llvm/llvm-project/pull/86739 None >From 7e20d811d86854d4bea6282245c9aca51c8968c5 Mon Sep 17 00:00:00 2001 From: Vitaly Buka Date: Tue, 26 Mar 2024 14:07:07 -0700 Subject: [PATCH] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20initia?