[clang] [flang] Reland "[flang] Integrate the option -flang-experimental-integer-overflow into -fno-wrapv" (PR #118933)

2024-12-05 Thread Yusuke MINATO via cfe-commits
yus3710-fj wrote: Please note that there is a (non-functional) change from the previous patch: 2e6180ed4799230c5e25f85a7c633ff42f3d78ae https://github.com/llvm/llvm-project/pull/118933 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://li

[clang] [flang] [flang] Integrate the option -flang-experimental-integer-overflow into -fno-wrapv (PR #110063)

2024-12-05 Thread Yusuke MINATO via cfe-commits
yus3710-fj wrote: Thank you for the informantion, @tblah. I also confirmed that the regression doesn't happen after fbd89bcc6647ed611e579d8f9c38c97b8e6f7936. I'm a little concerned that the regression still occurs when LTO is diabled. However, I'd like to reland this patch because this isn't t

[clang] [flang] [flang] Integrate the option -flang-experimental-integer-overflow into -fno-wrapv (PR #110063)

2024-10-31 Thread Yusuke MINATO via cfe-commits
yus3710-fj wrote: I confirmed the performance regression on both Graviton3 and Grace when the value of `copies` is set to 1. The result of the measurement on Graviton3: ||max|min|avg| |---|---|---|---| |before this patch|52.56|52.44|52.518| |after this patch|48.90 (-7.48%)|48.79 (-7.48%)|48.86

[clang] [flang] [flang] Integrate the option -flang-experimental-integer-overflow into -fno-wrapv (PR #110063)

2024-10-29 Thread Yusuke MINATO via cfe-commits
yus3710-fj wrote: > @yus3710-fj after this patch we get a 7-10% slowdown for 503.bwaves_r from > SPEC2017. I built with `-Ofast -mcpu=native -fuse-ld=lld -flto` @tblah I'm attempting to reproduce the performance issue on my Grace machine, but have not yet been successful. Could you please prov

[clang] [flang] [flang] Integrate the option -flang-experimental-integer-overflow into -fno-wrapv (PR #110063)

2024-10-28 Thread Yusuke MINATO via cfe-commits
yus3710-fj wrote: Thank you for the information, @tblah. I'll revert this. > As I understood it, the previous patch was supposed to enable your > transformation by default, and this one was only supposed to clean up old > flags. Did I understand wrong? This patch also enables some transformat

[clang] [flang] Revert "[flang] Integrate the option -flang-experimental-integer-overflow into -fno-wrapv" (PR #113901)

2024-10-28 Thread Yusuke MINATO via cfe-commits
https://github.com/yus3710-fj created https://github.com/llvm/llvm-project/pull/113901 Reverts llvm/llvm-project#110063 due to the performance regression on 503.bwaves_r in SPEC2017. >From 2f315eb090ec08e193acbc59127b958efa93fd35 Mon Sep 17 00:00:00 2001 From: Yusuke MINATO Date: Mon, 28 Oct

[clang] [flang] [flang] Integrate the option -flang-experimental-integer-overflow into -fno-wrapv (PR #110063)

2024-10-24 Thread Yusuke MINATO via cfe-commits
https://github.com/yus3710-fj closed https://github.com/llvm/llvm-project/pull/110063 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [flang] [flang] Integrate the option -flang-experimental-integer-overflow into -fno-wrapv (PR #110063)

2024-10-24 Thread Yusuke MINATO via cfe-commits
https://github.com/yus3710-fj edited https://github.com/llvm/llvm-project/pull/110063 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [flang] [flang] Integrate the option -flang-experimental-integer-overflow into -fno-wrapv (PR #110063)

2024-10-21 Thread Yusuke MINATO via cfe-commits
https://github.com/yus3710-fj edited https://github.com/llvm/llvm-project/pull/110063 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [flang] [flang] Integrate the option -flang-experimental-integer-overflow into -fno-wrapv (PR #110063)

2024-10-21 Thread Yusuke MINATO via cfe-commits
https://github.com/yus3710-fj ready_for_review https://github.com/llvm/llvm-project/pull/110063 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [flang] [flang] Integrate the option -flang-experimental-integer-overflow into -fno-wrapv (PR #110063)

2024-10-21 Thread Yusuke MINATO via cfe-commits
https://github.com/yus3710-fj edited https://github.com/llvm/llvm-project/pull/110063 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [flang] [flang] integrate the option -flang-experimental-integer-overflow into -fno-wrapv (PR #110063)

2024-10-21 Thread Yusuke MINATO via cfe-commits
https://github.com/yus3710-fj updated https://github.com/llvm/llvm-project/pull/110063 >From 934a116155c63fdad76096faa4edd3a9c19ff5d8 Mon Sep 17 00:00:00 2001 From: Yusuke MINATO Date: Thu, 19 Sep 2024 14:44:49 +0900 Subject: [PATCH] [flang] integrate the option -flang-experimental-integer-ove

[clang] [flang] [flang][Driver] Add support for -f[no-]wrapv and -f[no]-strict-overflow in the frontend (PR #110061)

2024-10-18 Thread Yusuke MINATO via cfe-commits
https://github.com/yus3710-fj closed https://github.com/llvm/llvm-project/pull/110061 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [flang] [flang][Driver] Add support for -f[no-]wrapv and -f[no]-strict-overflow in the frontend (PR #110061)

2024-10-18 Thread Yusuke MINATO via cfe-commits
yus3710-fj wrote: CI failed again, but the test mentioned above was passed this time. So, I think I can merge this. https://github.com/llvm/llvm-project/pull/110061 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin

[clang] [flang] [flang][Driver] Add support for -f[no-]wrapv and -f[no]-strict-overflow in the frontend (PR #110061)

2024-10-17 Thread Yusuke MINATO via cfe-commits
yus3710-fj wrote: CI failed due to `ClangdTests/25/79` (`DynamicIndexIncludeInsertion` in CodeCompleteTests.cpp?). It's weird because there is no functional change on clang (and clangd). In addition, I can't reproduce this on my machine. I'll try re-running CI with an empty commit. https://git

[clang] [flang] [flang][Driver] Add support for -f[no-]wrapv and -f[no]-strict-overflow in the frontend (PR #110061)

2024-10-17 Thread Yusuke MINATO via cfe-commits
https://github.com/yus3710-fj updated https://github.com/llvm/llvm-project/pull/110061 >From 6215099ca7da009e98eca138590f78a5e524a1e9 Mon Sep 17 00:00:00 2001 From: Yusuke MINATO Date: Wed, 18 Sep 2024 21:12:43 +0900 Subject: [PATCH 1/2] [flang][Driver] Add support for -f[no-]wrapv and -f[no]-

[clang] [flang] [flang][Driver] Add support for -f[no-]wrapv and -f[no]-strict-overflow in the frontend (PR #110061)

2024-10-17 Thread Yusuke MINATO via cfe-commits
https://github.com/yus3710-fj updated https://github.com/llvm/llvm-project/pull/110061 >From 6215099ca7da009e98eca138590f78a5e524a1e9 Mon Sep 17 00:00:00 2001 From: Yusuke MINATO Date: Wed, 18 Sep 2024 21:12:43 +0900 Subject: [PATCH] [flang][Driver] Add support for -f[no-]wrapv and -f[no]-stri

[clang] [flang] [flang][Driver] Add support for -f[no-]wrapv and -f[no]-strict-overflow in the frontend (PR #110061)

2024-10-17 Thread Yusuke MINATO via cfe-commits
yus3710-fj wrote: Thank you all for the review! I'll merge this after rebasing. https://github.com/llvm/llvm-project/pull/110061 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [flang] [flang][Driver] Add support for -f[no-]wrapv and -f[no]-strict-overflow in the frontend (PR #110061)

2024-10-14 Thread Yusuke MINATO via cfe-commits
yus3710-fj wrote: Gentle ping @MaskRay. https://github.com/llvm/llvm-project/pull/110061 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [flang] [flang][Driver] Add support for -f[no-]wrapv and -f[no]-strict-overflow in the frontend (PR #110061)

2024-10-06 Thread Yusuke MINATO via cfe-commits
@@ -27,6 +27,14 @@ namespace Fortran::common { class LangOptionsBase { public: + enum SignedOverflowBehaviorTy { +// -fno-wrapv (default behavior in Flang) +SOB_Undefined, yus3710-fj wrote: This is used as the default value of a LangOption `SignedOve

[clang] [flang] [flang][Driver] Add support for -f[no-]wrapv and -f[no]-strict-overflow in the frontend (PR #110061)

2024-10-06 Thread Yusuke MINATO via cfe-commits
@@ -6921,16 +6921,9 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA, Args.AddLastArg(CmdArgs, options::OPT_ftrap_function_EQ); - // -fno-strict-overflow implies -fwrapv if it isn't disabled, but - // -fstrict-overflow won't turn off an explicitly enabled

[clang] [flang] [flang][Driver] Add support for -f[no-]wrapv and -f[no]-strict-overflow in the frontend (PR #110061)

2024-10-06 Thread Yusuke MINATO via cfe-commits
@@ -866,6 +866,17 @@ void Flang::ConstructJob(Compilation &C, const JobAction &JA, } } + // -fno-strict-overflow implies -fwrapv if it isn't disabled, but + // -fstrict-overflow won't turn off an explicitly enabled -fwrapv. + if (Arg *A = Args.getLastArg(options::OPT

[clang] [flang] [flang][Driver] Add support for -f[no-]wrapv and -f[no]-strict-overflow in the frontend (PR #110061)

2024-10-06 Thread Yusuke MINATO via cfe-commits
https://github.com/yus3710-fj updated https://github.com/llvm/llvm-project/pull/110061 >From aea2cfa4b1d812dc84cb1609f93cc2ec2bcd33b4 Mon Sep 17 00:00:00 2001 From: Yusuke MINATO Date: Wed, 18 Sep 2024 21:12:43 +0900 Subject: [PATCH 1/3] [flang][Driver] Add support for -f[no-]wrapv and -f[no]-

[clang] [flang] [flang][Driver] Add support for -f[no-]wrapv and -f[no]-strict-overflow in the frontend (PR #110061)

2024-10-04 Thread Yusuke MINATO via cfe-commits
@@ -0,0 +1,10 @@ +! Test for correct forwarding of integer overflow flags from the compiler driver +! to the frontend driver + +! RUN: %flang -### -fno-strict-overflow %s 2>&1 | FileCheck %s --check-prefixes CHECK,INDUCED yus3710-fj wrote: As you mentioned, the

[clang] [flang] [flang][Driver] Add support for -f[no-]wrapv and -f[no]-strict-overflow in the frontend (PR #110061)

2024-10-04 Thread Yusuke MINATO via cfe-commits
@@ -866,6 +866,17 @@ void Flang::ConstructJob(Compilation &C, const JobAction &JA, } } + // -fno-strict-overflow implies -fwrapv if it isn't disabled, but + // -fstrict-overflow won't turn off an explicitly enabled -fwrapv. + if (Arg *A = Args.getLastArg(options::OPT

[clang] [flang] [flang][Driver] Add support for -f[no-]wrapv and -f[no]-strict-overflow in the frontend (PR #110061)

2024-10-04 Thread Yusuke MINATO via cfe-commits
https://github.com/yus3710-fj updated https://github.com/llvm/llvm-project/pull/110061 >From aea2cfa4b1d812dc84cb1609f93cc2ec2bcd33b4 Mon Sep 17 00:00:00 2001 From: Yusuke MINATO Date: Wed, 18 Sep 2024 21:12:43 +0900 Subject: [PATCH 1/2] [flang][Driver] Add support for -f[no-]wrapv and -f[no]-

[clang] [flang] [flang][Driver] Add support for -f[no-]wrapv and -f[no]-strict-overflow in the frontend (PR #110061)

2024-10-02 Thread Yusuke MINATO via cfe-commits
https://github.com/yus3710-fj ready_for_review https://github.com/llvm/llvm-project/pull/110061 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [flang] [flang][Driver] Add support for -f[no-]wrapv and -f[no]-strict-overflow in the frontend (PR #110061)

2024-10-02 Thread Yusuke MINATO via cfe-commits
https://github.com/yus3710-fj updated https://github.com/llvm/llvm-project/pull/110061 >From aea2cfa4b1d812dc84cb1609f93cc2ec2bcd33b4 Mon Sep 17 00:00:00 2001 From: Yusuke MINATO Date: Wed, 18 Sep 2024 21:12:43 +0900 Subject: [PATCH] [flang][Driver] Add support for -f[no-]wrapv and -f[no]-stri

[clang] [flang] [flang][Driver] Add support for -f[no-]wrapv and -f[no]-strict-overflow in the frontend (PR #110061)

2024-09-25 Thread Yusuke MINATO via cfe-commits
https://github.com/yus3710-fj created https://github.com/llvm/llvm-project/pull/110061 This patch introduces the options for integer overflow flags into Flang. The behavior is similar to that of Clang. >From d3a02bcea0cda96694b79c8b22812c29150c00b1 Mon Sep 17 00:00:00 2001 From: Yusuke MINATO

[clang] [flang] [flang] Add nsw flag to do-variable increment with a new option (PR #91579)

2024-05-15 Thread Yusuke MINATO via cfe-commits
https://github.com/yus3710-fj closed https://github.com/llvm/llvm-project/pull/91579 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [flang] [flang] Add nsw flag to do-variable increment with a new option (PR #91579)

2024-05-15 Thread Yusuke MINATO via cfe-commits
https://github.com/yus3710-fj updated https://github.com/llvm/llvm-project/pull/91579 >From 262824a13615b700bbfc672c3a2d06e63892c6e3 Mon Sep 17 00:00:00 2001 From: Yusuke MINATO Date: Wed, 24 Apr 2024 14:42:21 +0900 Subject: [PATCH] [flang] Add nsw flag to do-variable increment with a new opti

[clang] [flang] [flang] Add nsw flag to do-variable increment with a new option (PR #91579)

2024-05-14 Thread Yusuke MINATO via cfe-commits
@@ -34,5 +34,9 @@ ENUM_LOWERINGOPT(NoPPCNativeVecElemOrder, unsigned, 1, 0) /// On by default. ENUM_LOWERINGOPT(Underscoring, unsigned, 1, 1) +/// If true, add nsw flags to arithmetic operations for integer. +/// Off by default. +ENUM_LOWERINGOPT(NoSignedWrap, unsigned, 1, 0)

[clang] [flang] [flang] Add nsw flag to do-variable increment with a new option (PR #91579)

2024-05-14 Thread Yusuke MINATO via cfe-commits
https://github.com/yus3710-fj updated https://github.com/llvm/llvm-project/pull/91579 >From f51cfbe1e50c7a1aa902c684f12a20d0fac39c21 Mon Sep 17 00:00:00 2001 From: Yusuke MINATO Date: Wed, 24 Apr 2024 14:42:21 +0900 Subject: [PATCH 1/3] [flang] Add nsw flag to do-variable increment with a new

[clang] [flang] [flang] Add nsw flag to do-variable increment with a new option (PR #91579)

2024-05-09 Thread Yusuke MINATO via cfe-commits
https://github.com/yus3710-fj updated https://github.com/llvm/llvm-project/pull/91579 >From f51cfbe1e50c7a1aa902c684f12a20d0fac39c21 Mon Sep 17 00:00:00 2001 From: Yusuke MINATO Date: Wed, 24 Apr 2024 14:42:21 +0900 Subject: [PATCH 1/2] [flang] Add nsw flag to do-variable increment with a new

[clang] [flang] [flang] Add nsw flag to do-variable increment with a new option (PR #91579)

2024-05-09 Thread Yusuke MINATO via cfe-commits
yus3710-fj wrote: Windows build failed with the following message. > fatal error C1060: compiler is out of heap space I'll try re-running CI with an empty commit because it might have been happend by accident. https://github.com/llvm/llvm-project/pull/91579 __

[clang] [flang] [flang] Add nsw flag to do-variable increment with a new option (PR #91579)

2024-05-09 Thread Yusuke MINATO via cfe-commits
https://github.com/yus3710-fj updated https://github.com/llvm/llvm-project/pull/91579 >From f51cfbe1e50c7a1aa902c684f12a20d0fac39c21 Mon Sep 17 00:00:00 2001 From: Yusuke MINATO Date: Wed, 24 Apr 2024 14:42:21 +0900 Subject: [PATCH] [flang] Add nsw flag to do-variable increment with a new opti

[clang] [flang] [flang] Add nsw flag to do-variable increment with a new option (PR #91579)

2024-05-09 Thread Yusuke MINATO via cfe-commits
https://github.com/yus3710-fj created https://github.com/llvm/llvm-project/pull/91579 This patch adds nsw flag to the increment of do-variables when a new option is enabled. NOTE 11.10 in the Fortran 2018 standard says they never overflow. See also the discussion in #74709 and the following di