[PATCH] D64029: [PGO] Add PGO support at -O0 in the experimental new pass manager

Petr Hosek via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Aug 1 23:52:33 PDT 2019


phosek added a comment.

Looks like this change broke `Profile/gcc-flag-compatibility.c` test on macOS:

  ******************** TEST 'Clang :: Profile/gcc-flag-compatibility.c' FAILED ********************
  Script:
  --
  : 'RUN: at line 10';   /b/s/w/ir/k/recipe_cleanup/clangOLc9jG/llvm_build_dir/bin/clang /b/s/w/ir/k/llvm-project/clang/test/Profile/gcc-flag-compatibility.c -c -S -o - -emit-llvm -fprofile-generate -fno-experimental-new-pass-manager | /b/s/w/ir/k/recipe_cleanup/clangOLc9jG/llvm_build_dir/bin/FileCheck -check-prefix=PROFILE-GEN /b/s/w/ir/k/llvm-project/clang/test/Profile/gcc-flag-compatibility.c
  : 'RUN: at line 11';   /b/s/w/ir/k/recipe_cleanup/clangOLc9jG/llvm_build_dir/bin/clang /b/s/w/ir/k/llvm-project/clang/test/Profile/gcc-flag-compatibility.c -c -S -o - -emit-llvm -fprofile-generate -fexperimental-new-pass-manager | /b/s/w/ir/k/recipe_cleanup/clangOLc9jG/llvm_build_dir/bin/FileCheck -check-prefix=PROFILE-GEN /b/s/w/ir/k/llvm-project/clang/test/Profile/gcc-flag-compatibility.c
  : 'RUN: at line 16';   /b/s/w/ir/k/recipe_cleanup/clangOLc9jG/llvm_build_dir/bin/clang /b/s/w/ir/k/llvm-project/clang/test/Profile/gcc-flag-compatibility.c -c -S -o - -emit-llvm -fprofile-generate=/path/to -fno-experimental-new-pass-manager | /b/s/w/ir/k/recipe_cleanup/clangOLc9jG/llvm_build_dir/bin/FileCheck -check-prefixes=PROFILE-GEN,PROFILE-GEN-EQ /b/s/w/ir/k/llvm-project/clang/test/Profile/gcc-flag-compatibility.c
  : 'RUN: at line 22';   rm -rf /b/s/w/ir/k/recipe_cleanup/clangOLc9jG/llvm_build_dir/tools/clang/test/Profile/Output/gcc-flag-compatibility.c.tmp.dir
  : 'RUN: at line 23';   mkdir -p /b/s/w/ir/k/recipe_cleanup/clangOLc9jG/llvm_build_dir/tools/clang/test/Profile/Output/gcc-flag-compatibility.c.tmp.dir/some/path
  : 'RUN: at line 24';   llvm-profdata merge /b/s/w/ir/k/llvm-project/clang/test/Profile/Inputs/gcc-flag-compatibility.proftext -o /b/s/w/ir/k/recipe_cleanup/clangOLc9jG/llvm_build_dir/tools/clang/test/Profile/Output/gcc-flag-compatibility.c.tmp.dir/some/path/default.profdata
  : 'RUN: at line 25';   /b/s/w/ir/k/recipe_cleanup/clangOLc9jG/llvm_build_dir/bin/clang /b/s/w/ir/k/llvm-project/clang/test/Profile/gcc-flag-compatibility.c -o - -Xclang -disable-llvm-passes -emit-llvm -S -fprofile-use=/b/s/w/ir/k/recipe_cleanup/clangOLc9jG/llvm_build_dir/tools/clang/test/Profile/Output/gcc-flag-compatibility.c.tmp.dir/some/path -fno-experimental-new-pass-manager | /b/s/w/ir/k/recipe_cleanup/clangOLc9jG/llvm_build_dir/bin/FileCheck -check-prefix=PROFILE-USE /b/s/w/ir/k/llvm-project/clang/test/Profile/gcc-flag-compatibility.c
  : 'RUN: at line 26';   /b/s/w/ir/k/recipe_cleanup/clangOLc9jG/llvm_build_dir/bin/clang /b/s/w/ir/k/llvm-project/clang/test/Profile/gcc-flag-compatibility.c -o - -Xclang -disable-llvm-passes -emit-llvm -S -fprofile-use=/b/s/w/ir/k/recipe_cleanup/clangOLc9jG/llvm_build_dir/tools/clang/test/Profile/Output/gcc-flag-compatibility.c.tmp.dir/some/path -fexperimental-new-pass-manager | /b/s/w/ir/k/recipe_cleanup/clangOLc9jG/llvm_build_dir/bin/FileCheck -check-prefix=PROFILE-USE /b/s/w/ir/k/llvm-project/clang/test/Profile/gcc-flag-compatibility.c
  : 'RUN: at line 30';   rm -rf /b/s/w/ir/k/recipe_cleanup/clangOLc9jG/llvm_build_dir/tools/clang/test/Profile/Output/gcc-flag-compatibility.c.tmp.dir
  : 'RUN: at line 31';   mkdir -p /b/s/w/ir/k/recipe_cleanup/clangOLc9jG/llvm_build_dir/tools/clang/test/Profile/Output/gcc-flag-compatibility.c.tmp.dir/some/path
  : 'RUN: at line 32';   llvm-profdata merge /b/s/w/ir/k/llvm-project/clang/test/Profile/Inputs/gcc-flag-compatibility.proftext -o /b/s/w/ir/k/recipe_cleanup/clangOLc9jG/llvm_build_dir/tools/clang/test/Profile/Output/gcc-flag-compatibility.c.tmp.dir/some/path/file.prof
  : 'RUN: at line 33';   /b/s/w/ir/k/recipe_cleanup/clangOLc9jG/llvm_build_dir/bin/clang /b/s/w/ir/k/llvm-project/clang/test/Profile/gcc-flag-compatibility.c -o - -Xclang -disable-llvm-passes -emit-llvm -S -fprofile-use=/b/s/w/ir/k/recipe_cleanup/clangOLc9jG/llvm_build_dir/tools/clang/test/Profile/Output/gcc-flag-compatibility.c.tmp.dir/some/path/file.prof -fno-experimental-new-pass-manager | /b/s/w/ir/k/recipe_cleanup/clangOLc9jG/llvm_build_dir/bin/FileCheck -check-prefix=PROFILE-USE /b/s/w/ir/k/llvm-project/clang/test/Profile/gcc-flag-compatibility.c
  : 'RUN: at line 34';   /b/s/w/ir/k/recipe_cleanup/clangOLc9jG/llvm_build_dir/bin/clang /b/s/w/ir/k/llvm-project/clang/test/Profile/gcc-flag-compatibility.c -o - -Xclang -disable-llvm-passes -emit-llvm -S -fprofile-use=/b/s/w/ir/k/recipe_cleanup/clangOLc9jG/llvm_build_dir/tools/clang/test/Profile/Output/gcc-flag-compatibility.c.tmp.dir/some/path/file.prof -fexperimental-new-pass-manager | /b/s/w/ir/k/recipe_cleanup/clangOLc9jG/llvm_build_dir/bin/FileCheck -check-prefix=PROFILE-USE /b/s/w/ir/k/llvm-project/clang/test/Profile/gcc-flag-compatibility.c
  : 'RUN: at line 39';   rm -rf /b/s/w/ir/k/recipe_cleanup/clangOLc9jG/llvm_build_dir/tools/clang/test/Profile/Output/gcc-flag-compatibility.c.tmp.dir
  : 'RUN: at line 40';   mkdir -p /b/s/w/ir/k/recipe_cleanup/clangOLc9jG/llvm_build_dir/tools/clang/test/Profile/Output/gcc-flag-compatibility.c.tmp.dir/some/path
  : 'RUN: at line 41';   llvm-profdata merge /b/s/w/ir/k/llvm-project/clang/test/Profile/Inputs/gcc-flag-compatibility_IR.proftext -o /b/s/w/ir/k/recipe_cleanup/clangOLc9jG/llvm_build_dir/tools/clang/test/Profile/Output/gcc-flag-compatibility.c.tmp.dir/some/path/default.profdata
  : 'RUN: at line 42';   /b/s/w/ir/k/recipe_cleanup/clangOLc9jG/llvm_build_dir/bin/clang /b/s/w/ir/k/llvm-project/clang/test/Profile/gcc-flag-compatibility.c -o - -emit-llvm -S -fprofile-use=/b/s/w/ir/k/recipe_cleanup/clangOLc9jG/llvm_build_dir/tools/clang/test/Profile/Output/gcc-flag-compatibility.c.tmp.dir/some/path -fno-experimental-new-pass-manager | /b/s/w/ir/k/recipe_cleanup/clangOLc9jG/llvm_build_dir/bin/FileCheck -check-prefix=PROFILE-USE-IR /b/s/w/ir/k/llvm-project/clang/test/Profile/gcc-flag-compatibility.c
  : 'RUN: at line 43';   /b/s/w/ir/k/recipe_cleanup/clangOLc9jG/llvm_build_dir/bin/clang /b/s/w/ir/k/llvm-project/clang/test/Profile/gcc-flag-compatibility.c -o - -emit-llvm -S -fprofile-use=/b/s/w/ir/k/recipe_cleanup/clangOLc9jG/llvm_build_dir/tools/clang/test/Profile/Output/gcc-flag-compatibility.c.tmp.dir/some/path -fexperimental-new-pass-manager | /b/s/w/ir/k/recipe_cleanup/clangOLc9jG/llvm_build_dir/bin/FileCheck -check-prefix=PROFILE-USE-IR /b/s/w/ir/k/llvm-project/clang/test/Profile/gcc-flag-compatibility.c
  : 'RUN: at line 47';   rm -rf /b/s/w/ir/k/recipe_cleanup/clangOLc9jG/llvm_build_dir/tools/clang/test/Profile/Output/gcc-flag-compatibility.c.tmp.dir
  : 'RUN: at line 48';   mkdir -p /b/s/w/ir/k/recipe_cleanup/clangOLc9jG/llvm_build_dir/tools/clang/test/Profile/Output/gcc-flag-compatibility.c.tmp.dir/some/path
  : 'RUN: at line 49';   llvm-profdata merge /b/s/w/ir/k/llvm-project/clang/test/Profile/Inputs/gcc-flag-compatibility_IR.proftext -o /b/s/w/ir/k/recipe_cleanup/clangOLc9jG/llvm_build_dir/tools/clang/test/Profile/Output/gcc-flag-compatibility.c.tmp.dir/some/path/file.prof
  : 'RUN: at line 50';   /b/s/w/ir/k/recipe_cleanup/clangOLc9jG/llvm_build_dir/bin/clang /b/s/w/ir/k/llvm-project/clang/test/Profile/gcc-flag-compatibility.c -o - -emit-llvm -S -fprofile-use=/b/s/w/ir/k/recipe_cleanup/clangOLc9jG/llvm_build_dir/tools/clang/test/Profile/Output/gcc-flag-compatibility.c.tmp.dir/some/path/file.prof -fno-experimental-new-pass-manager | /b/s/w/ir/k/recipe_cleanup/clangOLc9jG/llvm_build_dir/bin/FileCheck -check-prefix=PROFILE-USE-IR /b/s/w/ir/k/llvm-project/clang/test/Profile/gcc-flag-compatibility.c
  : 'RUN: at line 51';   /b/s/w/ir/k/recipe_cleanup/clangOLc9jG/llvm_build_dir/bin/clang /b/s/w/ir/k/llvm-project/clang/test/Profile/gcc-flag-compatibility.c -o - -emit-llvm -S -fprofile-use=/b/s/w/ir/k/recipe_cleanup/clangOLc9jG/llvm_build_dir/tools/clang/test/Profile/Output/gcc-flag-compatibility.c.tmp.dir/some/path/file.prof -fexperimental-new-pass-manager | /b/s/w/ir/k/recipe_cleanup/clangOLc9jG/llvm_build_dir/bin/FileCheck -check-prefix=PROFILE-USE-IR /b/s/w/ir/k/llvm-project/clang/test/Profile/gcc-flag-compatibility.c
  --
  Exit Code: 1
  
  Command Output (stderr):
  --
  /b/s/w/ir/k/llvm-project/clang/test/Profile/gcc-flag-compatibility.c:12:17: error: PROFILE-GEN: expected string not found in input
  // PROFILE-GEN: @__profc_main = private global [2 x i64] zeroinitializer, section "__llvm_prf_cnts", align 8
                  ^
  <stdin>:1:1: note: scanning from here
  ; ModuleID = '/b/s/w/ir/k/llvm-project/clang/test/Profile/gcc-flag-compatibility.c'
  ^
  <stdin>:9:1: note: possible intended match here
  @__profc_main = private global [2 x i64] zeroinitializer, section "__DATA,__llvm_prf_cnts", align 8
  ^
  
  --


Repository:
  rL LLVM

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D64029/new/

https://reviews.llvm.org/D64029





More information about the cfe-commits mailing list