aboutsummaryrefslogtreecommitdiff
path: root/gcc/fold-const.cc
diff options
context:
space:
mode:
authorTom de Vries <tdevries@suse.de>2022-01-31 17:05:28 +0100
committerTom de Vries <tdevries@suse.de>2022-02-01 08:12:24 +0100
commit2989516651579dc045e968d7517857c581e3a2dd (patch)
treef9621a228dd4d3d1b0cd5fddec46a58b8f54b2ed /gcc/fold-const.cc
parent1bb52662574f6c98de48a5db8c180786e4a53039 (diff)
downloadgcc-2989516651579dc045e968d7517857c581e3a2dd.zip
gcc-2989516651579dc045e968d7517857c581e3a2dd.tar.gz
gcc-2989516651579dc045e968d7517857c581e3a2dd.tar.bz2
[ldist] Don't add lib calls with -fno-tree-loop-distribute-patterns
As mentioned in PR56888 comment 21: ... -fno-tree-loop-distribute-patterns is the reliable way to not transform loops into library calls. ... However, since commit 6f966f06146 ("ldist: Recognize strlen and rawmemchr like loops") a strlen or rawmemchr library call may be introduced by ldist. This caused regressions in testcases gcc.c-torture/execute/builtins/strlen{,-2,-3}.c for nvptx. Fix this by not calling transform_reduction_loop from loop_distribution::execute for -fno-tree-loop-distribute-patterns. Tested regressed test-cases as well as gcc.dg/tree-ssa/ldist-*.c on nvptx. gcc/ChangeLog: 2022-01-31 Tom de Vries <tdevries@suse.de> * tree-loop-distribution.cc (generate_reduction_builtin_1): Check for -ftree-loop-distribute-patterns. (loop_distribution::execute): Don't call transform_reduction_loop for -fno-tree-loop-distribute-patterns. gcc/testsuite/ChangeLog: 2022-01-31 Tom de Vries <tdevries@suse.de> * gcc.dg/tree-ssa/ldist-strlen-4.c: New test.
Diffstat (limited to 'gcc/fold-const.cc')
0 files changed, 0 insertions, 0 deletions