[clang] [clang] Add optional pass to remove UBSAN traps using PGO (PR #84214)

2024-03-06 Thread Vitaly Buka via cfe-commits
https://github.com/vitalybuka created https://github.com/llvm/llvm-project/pull/84214 With #83470 it reduces UBSAN overhead from 52.5% to 12.6%. Measured as "Geomean difference" on "test-suite/MultiSource/Benchmarks" with PGO+ThinLTO build. On real server apps we see 95% of code instrumented, w

[clang] [clang] Add optional pass to remove UBSAN traps using PGO (PR #84214)

2024-03-06 Thread via cfe-commits
llvmbot wrote: @llvm/pr-subscribers-clang-codegen Author: Vitaly Buka (vitalybuka) Changes With #83470 it reduces UBSAN overhead from 52.5% to 12.6%. Measured as "Geomean difference" on "test-suite/MultiSource/Benchmarks" with PGO+ThinLTO build. On real server apps we see 95% of code inst

[clang] [clang] Add optional pass to remove UBSAN traps using PGO (PR #84214)

2024-03-06 Thread Vitaly Buka via cfe-commits
https://github.com/vitalybuka updated https://github.com/llvm/llvm-project/pull/84214 >From f915a90962986cf20a9903ac9995cfee3b8ba990 Mon Sep 17 00:00:00 2001 From: Vitaly Buka Date: Wed, 6 Mar 2024 10:03:46 -0800 Subject: [PATCH 1/2] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20in?= =?UT

[clang] [clang] Add optional pass to remove UBSAN traps using PGO (PR #84214)

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

[clang] [clang] Add optional pass to remove UBSAN traps using PGO (PR #84214)

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

[clang] [clang] Add optional pass to remove UBSAN traps using PGO (PR #84214)

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

[clang] [clang] Add optional pass to remove UBSAN traps using PGO (PR #84214)

2024-03-06 Thread Vitaly Buka via cfe-commits
https://github.com/vitalybuka updated https://github.com/llvm/llvm-project/pull/84214 >From f915a90962986cf20a9903ac9995cfee3b8ba990 Mon Sep 17 00:00:00 2001 From: Vitaly Buka Date: Wed, 6 Mar 2024 10:03:46 -0800 Subject: [PATCH 1/3] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20in?= =?UT

[clang] [clang] Add optional pass to remove UBSAN traps using PGO (PR #84214)

2024-03-06 Thread Vitaly Buka via cfe-commits
vitalybuka wrote: Please ignore buildkite for now, as the patch depends on #83471 which I uploaded without stacked review. https://github.com/llvm/llvm-project/pull/84214 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/c

[clang] [clang] Add optional pass to remove UBSAN traps using PGO (PR #84214)

2024-03-07 Thread Arthur Eubanks via cfe-commits
aeubanks wrote: is there a long term plan to add a driver flag for this? https://github.com/llvm/llvm-project/pull/84214 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] Add optional pass to remove UBSAN traps using PGO (PR #84214)

2024-03-07 Thread Vitaly Buka via cfe-commits
https://github.com/vitalybuka updated https://github.com/llvm/llvm-project/pull/84214 >From feb5bfa786d1660a7fe0b6c48ec9048cdd315800 Mon Sep 17 00:00:00 2001 From: Vitaly Buka Date: Wed, 6 Mar 2024 10:03:46 -0800 Subject: [PATCH 1/3] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20in?= =?UT

[clang] [clang] Add optional pass to remove UBSAN traps using PGO (PR #84214)

2024-03-07 Thread Vitaly Buka via cfe-commits
vitalybuka wrote: > is there a long term plan to add a driver flag for this? yes, but I'd like to that after we collect feedback from first users https://github.com/llvm/llvm-project/pull/84214 ___ cfe-commits mailing list cfe-commits@lists.llvm.org h

[clang] [clang] Add optional pass to remove UBSAN traps using PGO (PR #84214)

2024-03-07 Thread Arthur Eubanks via cfe-commits
@@ -744,6 +750,21 @@ static void addSanitizers(const Triple &TargetTriple, // LastEP does not need GlobalsAA. PB.registerOptimizerLastEPCallback(SanitizersCallback); } + + if (ClRemoveTraps) { +// We can optimize after inliner, and PGO profile matching. The hook

[clang] [clang] Add optional pass to remove UBSAN traps using PGO (PR #84214)

2024-03-07 Thread Arthur Eubanks via cfe-commits
@@ -744,6 +750,21 @@ static void addSanitizers(const Triple &TargetTriple, // LastEP does not need GlobalsAA. PB.registerOptimizerLastEPCallback(SanitizersCallback); } + + if (ClRemoveTraps) { +// We can optimize after inliner, and PGO profile matching. The hook

[clang] [clang] Add optional pass to remove UBSAN traps using PGO (PR #84214)

2024-03-07 Thread Vitaly Buka via cfe-commits
@@ -744,6 +750,21 @@ static void addSanitizers(const Triple &TargetTriple, // LastEP does not need GlobalsAA. PB.registerOptimizerLastEPCallback(SanitizersCallback); } + + if (ClRemoveTraps) { +// We can optimize after inliner, and PGO profile matching. The hook

[clang] [clang] Add optional pass to remove UBSAN traps using PGO (PR #84214)

2024-03-07 Thread Arthur Eubanks via cfe-commits
@@ -744,6 +750,21 @@ static void addSanitizers(const Triple &TargetTriple, // LastEP does not need GlobalsAA. PB.registerOptimizerLastEPCallback(SanitizersCallback); } + + if (ClRemoveTraps) { +// We can optimize after inliner, and PGO profile matching. The hook

[clang] [clang] Add optional pass to remove UBSAN traps using PGO (PR #84214)

2024-03-07 Thread Kirill Stoimenov via cfe-commits
https://github.com/kstoimenov approved this pull request. https://github.com/llvm/llvm-project/pull/84214 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] Add optional pass to remove UBSAN traps using PGO (PR #84214)

2024-03-07 Thread Vitaly Buka via cfe-commits
https://github.com/vitalybuka updated https://github.com/llvm/llvm-project/pull/84214 >From feb5bfa786d1660a7fe0b6c48ec9048cdd315800 Mon Sep 17 00:00:00 2001 From: Vitaly Buka Date: Wed, 6 Mar 2024 10:03:46 -0800 Subject: [PATCH 1/3] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20in?= =?UT

[clang] [clang] Add optional pass to remove UBSAN traps using PGO (PR #84214)

2024-03-07 Thread Vitaly Buka via cfe-commits
@@ -744,6 +750,21 @@ static void addSanitizers(const Triple &TargetTriple, // LastEP does not need GlobalsAA. PB.registerOptimizerLastEPCallback(SanitizersCallback); } + + if (ClRemoveTraps) { +// We can optimize after inliner, and PGO profile matching. The hook

[clang] [clang] Add optional pass to remove UBSAN traps using PGO (PR #84214)

2024-03-08 Thread Vitaly Buka via cfe-commits
https://github.com/vitalybuka updated https://github.com/llvm/llvm-project/pull/84214 >From feb5bfa786d1660a7fe0b6c48ec9048cdd315800 Mon Sep 17 00:00:00 2001 From: Vitaly Buka Date: Wed, 6 Mar 2024 10:03:46 -0800 Subject: [PATCH 1/4] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20in?= =?UT

[clang] [clang] Add optional pass to remove UBSAN traps using PGO (PR #84214)

2024-03-08 Thread Vitaly Buka via cfe-commits
https://github.com/vitalybuka updated https://github.com/llvm/llvm-project/pull/84214 >From feb5bfa786d1660a7fe0b6c48ec9048cdd315800 Mon Sep 17 00:00:00 2001 From: Vitaly Buka Date: Wed, 6 Mar 2024 10:03:46 -0800 Subject: [PATCH 1/5] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20in?= =?UT

[clang] [clang] Add optional pass to remove UBSAN traps using PGO (PR #84214)

2024-03-08 Thread Vitaly Buka via cfe-commits
@@ -744,6 +750,21 @@ static void addSanitizers(const Triple &TargetTriple, // LastEP does not need GlobalsAA. PB.registerOptimizerLastEPCallback(SanitizersCallback); } + + if (ClRemoveTraps) { +// We can optimize after inliner, and PGO profile matching. The hook

[clang] [clang] Add optional pass to remove UBSAN traps using PGO (PR #84214)

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

[clang] [clang] Add optional pass to remove UBSAN traps using PGO (PR #84214)

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

[clang] [clang] Add optional pass to remove UBSAN traps using PGO (PR #84214)

2024-03-08 Thread Vitaly Buka via cfe-commits
https://github.com/vitalybuka updated https://github.com/llvm/llvm-project/pull/84214 >From feb5bfa786d1660a7fe0b6c48ec9048cdd315800 Mon Sep 17 00:00:00 2001 From: Vitaly Buka Date: Wed, 6 Mar 2024 10:03:46 -0800 Subject: [PATCH 1/5] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20in?= =?UT

[clang] [clang] Add optional pass to remove UBSAN traps using PGO (PR #84214)

2024-03-08 Thread Vitaly Buka via cfe-commits
https://github.com/vitalybuka updated https://github.com/llvm/llvm-project/pull/84214 >From feb5bfa786d1660a7fe0b6c48ec9048cdd315800 Mon Sep 17 00:00:00 2001 From: Vitaly Buka Date: Wed, 6 Mar 2024 10:03:46 -0800 Subject: [PATCH 1/6] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20in?= =?UT

[clang] [clang] Add optional pass to remove UBSAN traps using PGO (PR #84214)

2024-03-09 Thread Vitaly Buka via cfe-commits
https://github.com/vitalybuka updated https://github.com/llvm/llvm-project/pull/84214 >From feb5bfa786d1660a7fe0b6c48ec9048cdd315800 Mon Sep 17 00:00:00 2001 From: Vitaly Buka Date: Wed, 6 Mar 2024 10:03:46 -0800 Subject: [PATCH 1/7] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20in?= =?UT

[clang] [clang] Add optional pass to remove UBSAN traps using PGO (PR #84214)

2024-03-09 Thread Vitaly Buka via cfe-commits
https://github.com/vitalybuka updated https://github.com/llvm/llvm-project/pull/84214 >From feb5bfa786d1660a7fe0b6c48ec9048cdd315800 Mon Sep 17 00:00:00 2001 From: Vitaly Buka Date: Wed, 6 Mar 2024 10:03:46 -0800 Subject: [PATCH 1/7] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20in?= =?UT

[clang] [clang] Add optional pass to remove UBSAN traps using PGO (PR #84214)

2024-03-09 Thread Vitaly Buka via cfe-commits
https://github.com/vitalybuka updated https://github.com/llvm/llvm-project/pull/84214 >From feb5bfa786d1660a7fe0b6c48ec9048cdd315800 Mon Sep 17 00:00:00 2001 From: Vitaly Buka Date: Wed, 6 Mar 2024 10:03:46 -0800 Subject: [PATCH 1/7] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20in?= =?UT

[clang] [clang] Add optional pass to remove UBSAN traps using PGO (PR #84214)

2024-03-09 Thread Vitaly Buka via cfe-commits
https://github.com/vitalybuka updated https://github.com/llvm/llvm-project/pull/84214 >From feb5bfa786d1660a7fe0b6c48ec9048cdd315800 Mon Sep 17 00:00:00 2001 From: Vitaly Buka Date: Wed, 6 Mar 2024 10:03:46 -0800 Subject: [PATCH 1/7] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20in?= =?UT

[clang] [clang] Add optional pass to remove UBSAN traps using PGO (PR #84214)

2024-03-11 Thread Arthur Eubanks via cfe-commits
@@ -744,6 +750,21 @@ static void addSanitizers(const Triple &TargetTriple, // LastEP does not need GlobalsAA. PB.registerOptimizerLastEPCallback(SanitizersCallback); } + + if (ClRemoveTraps) { +// We can optimize after inliner, and PGO profile matching. The hook

[clang] [clang] Add optional pass to remove UBSAN traps using PGO (PR #84214)

2024-03-11 Thread Vitaly Buka via cfe-commits
vitalybuka wrote: > yes, but I'd like to that after we collect feedback from first users They are introduced by earlier transformations Note: I'd like to have special intrinsic for this optimization. When we have it, we likely don't need this SimplifyCFG. https://github.com/llvm/llvm-project/

[clang] [clang] Add optional pass to remove UBSAN traps using PGO (PR #84214)

2024-03-11 Thread Arthur Eubanks via cfe-commits
aeubanks wrote: > > yes, but I'd like to that after we collect feedback from first users > > They are introduced by earlier transformations > > Note: I'd like to have special intrinsic for this optimization. When we have > it, we likely don't need this SimplifyCFG. lgtm with a comment added o

[clang] [clang] Add optional pass to remove UBSAN traps using PGO (PR #84214)

2024-03-11 Thread Arthur Eubanks via cfe-commits
https://github.com/aeubanks approved this pull request. https://github.com/llvm/llvm-project/pull/84214 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang] Add optional pass to remove UBSAN traps using PGO (PR #84214)

2024-03-11 Thread Arthur Eubanks via cfe-commits
aeubanks wrote: > > > yes, but I'd like to that after we collect feedback from first users > > > > > > They are introduced by earlier transformations > > Note: I'd like to have special intrinsic for this optimization. When we > > have it, we likely don't need this SimplifyCFG. > > lgtm with a

[clang] [clang] Add optional pass to remove UBSAN traps using PGO (PR #84214)

2024-03-11 Thread Vitaly Buka via cfe-commits
https://github.com/vitalybuka updated https://github.com/llvm/llvm-project/pull/84214 >From feb5bfa786d1660a7fe0b6c48ec9048cdd315800 Mon Sep 17 00:00:00 2001 From: Vitaly Buka Date: Wed, 6 Mar 2024 10:03:46 -0800 Subject: [PATCH 1/7] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20in?= =?UT

[clang] [clang] Add optional pass to remove UBSAN traps using PGO (PR #84214)

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

[clang] [clang] Add optional pass to remove UBSAN traps using PGO (PR #84214)

2024-03-11 Thread via cfe-commits
dyung wrote: @vitalybuka the test you added `remote-traps.c` seems to be failing on a few buildbots, can you take a look? - https://lab.llvm.org/buildbot/#/builders/231/builds/21492 - https://lab.llvm.org/buildbot/#/builders/280/builds/6 https://github.com/llvm/llvm-project/pull/84214

[clang] [clang] Add optional pass to remove UBSAN traps using PGO (PR #84214)

2024-03-11 Thread Vitaly Buka via cfe-commits
vitalybuka wrote: > @vitalybuka the test you added `remote-traps.c` seems to be failing on a few > buildbots, can you take a look? > > * https://lab.llvm.org/buildbot/#/builders/231/builds/21492 > * https://lab.llvm.org/buildbot/#/builders/280/builds/6 looking https://github.com/llvm/llvm-pro