[llvm-bugs] [Bug 43050] New: SPEC2017 526.blender_r conflicting values for EnableSplitLTOUnit with -fprofile-use and -flto at link

via llvm-bugs llvm-bugs at lists.llvm.org
Mon Aug 19 11:16:23 PDT 2019


https://bugs.llvm.org/show_bug.cgi?id=43050

            Bug ID: 43050
           Summary: SPEC2017 526.blender_r conflicting values for
                    EnableSplitLTOUnit with -fprofile-use and -flto at
                    link
           Product: libraries
           Version: trunk
          Hardware: All
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: Common Code Generator Code
          Assignee: tejohnson at google.com
          Reporter: adandrea at ca.ibm.com
                CC: llvm-bugs at lists.llvm.org

Summary:
---------
I'm receiving a linker error building SPEC2017 526.blender_r on a Ubuntu 18.04
POWER9 machine when using options -Ofast -m64 -mcu=power9 -fprofile-use -flto. 
Doesn't have an issue linking when using -flto=thin.  Please let me know if you
require more information to reproduce.

Actual error:
--------------
/usr/bin/ld: error: LLVM gold plugin: linking module flags
'EnableSplitLTOUnit': IDs have conflicting values in
'blender/source/blender/render/intern/raytrace/rayobject.o' and 'ld-temp.o'
clang-9: error: linker command failed with exit code 1 (use -v to see
invocation)
specmake: *** [/home/adandrea/spec2017/v1.0/benchspec/Makefile.defaults:337:
blender_r] Error 1

Expected error:
----------------
None

Using git bisect it appears the cause is:
-------------------------------------------
604f802fd30d60226fca7d808b7e513e7f80c603 is the first bad commit
commit 604f802fd30d60226fca7d808b7e513e7f80c603
Author: Teresa Johnson <tejohnson at google.com>
Date:   Fri Jul 19 23:02:58 2019 +0000

    [LTO] Always mark regular LTO units with EnableSplitLTOUnit=1

    Summary:
    Regular LTO modules do not need LTO Unit splitting, only ThinLTO does
    (they must be consistently split into regular and Thin units for
    optimizations such as whole program devirtualization and lower type
    tests). In order to avoid spurious errors from LTO when combining with
    split ThinLTO modules, always set this flag for regular LTO modules.

    Reviewers: pcc

    Subscribers: mehdi_amini, Prazek, inglorion, steven_wu, dexonsmith,
cfe-commits

    Tags: #clang

    Differential Revision: https://reviews.llvm.org/D65009

    llvm-svn: 366623

Steps to reproduce:
--------------------
Peak options used in my SPEC config are:
fprate=peak:
COPTIMIZE = -Ofast -m64 -mcpu=power9 -fexperimental-new-pass-manager
CXXOPTIMIZE = -Ofast -m64 -mcpu=power9 -fexperimental-new-pass-manager
PASS1_CXXOPTIMIZE = -fprofile-generate
PASS2_CXXOPTIMIZE = -fprofile-use=default.profdata -flto
PASS1_COPTIMIZE = -fprofile-generate
PASS2_COPTIMIZE = -fprofile-use=default.profdata -flto
PASS1_LDFLAGS = -L/opt/at12.0/lib64 -Wl,-rpath=/opt/at12.0/lib64 -lhugetlbfs
-Wl,-dynamic-linker /opt/at12.0/lib64/ld64.so.2
PASS2_LDFLAGS = -L/opt/at12.0/lib64 -Wl,-rpath=/opt/at12.0/lib64 -lhugetlbfs
-Wl,-dynamic-linker /opt/at12.0/lib64/ld64.so.2
fdo_post1      =  %{BASE_DIR}/bin/llvm-profdata merge default*.profraw -output
default.profdata

runcpu command used is:
runcpu --configfile <config> -T peak 526 -a build

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20190819/55cf9eaf/attachment.html>


More information about the llvm-bugs mailing list