Bug 98336

Summary: si_shader.c:6612:26: error: implicit declaration of function ‘LLVMGetCalledValue’ [-Werror=implicit-function-declaration]
Product: Mesa Reporter: Vinson Lee <vlee>
Component: Drivers/Gallium/radeonsiAssignee: Default DRI bug account <dri-devel>
Status: RESOLVED FIXED QA Contact: Default DRI bug account <dri-devel>
Severity: normal    
Priority: medium CC: edmondo.tommasina, maraeo, mark.a.janes, nhaehnle
Version: gitKeywords: bisected, regression
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description Vinson Lee 2016-10-19 23:39:49 UTC
mesa: 2b6e04e91f6b157dd00872f9a0965c0655e19ad9 (master 13.1.0-devel)

  CC       si_shader.lo
si_shader.c: In function ‘si_eliminate_const_vs_outputs’:
si_shader.c:6612:26: error: implicit declaration of function ‘LLVMGetCalledValue’ [-Werror=implicit-function-declaration]
    LLVMValueRef callee = LLVMGetCalledValue(cur);
                          ^
Comment 1 Vinson Lee 2016-10-20 00:37:35 UTC
3ec9975555d1cc5365413ad9062f412904f944a3 is the first bad commit
commit 3ec9975555d1cc5365413ad9062f412904f944a3
Author: Marek Olšák <marek.olsak@amd.com>
Date:   Tue Oct 18 15:20:22 2016 +0200

    radeonsi: eliminate trivial constant VS outputs
    
    These constant value VS PARAM exports:
    - 0,0,0,0
    - 0,0,0,1
    - 1,1,1,0
    - 1,1,1,1
    can be loaded into PS inputs using the DEFAULT_VAL field, and the VS exports
    can be removed from the IR to save export & parameter memory.
    
    After LLVM optimizations, analyze the IR to see which exports are equal to
    the ones listed above (or undef) and remove them if they are.
    
    Targeted use cases:
    - All DX9 eON ports always clear 10 VS outputs to 0.0 even if most of them
      are unused by PS (such as Witcher 2 below).
    - VS output arrays with unused elements that the GLSL compiler can't
      eliminate (such as Batman below).
    
    The shader-db deltas are quite interesting:
    (not from upstream si-report.py, it won't be upstreamed)
    
    PERCENTAGE DELTAS    Shaders PARAM exports (affected only)
    batman_arkham_origins    589  -67.17 %
    bioshock-infinite       1769   -0.47 %
    dirt-showdown            548   -2.68 %
    dota2                   1747   -3.36 %
    f1-2015                  776   -4.94 %
    left_4_dead_2           1762   -0.07 %
    metro_2033_redux        2670   -0.43 %
    portal                   474   -0.22 %
    talos_principle          324   -3.63 %
    warsow                   176   -2.20 %
    witcher2                1040  -73.78 %
    ----------------------------------------
    All affected             991  -65.37 %  ... 9681 -> 3353
    ----------------------------------------
    Total                  26725  -10.82 %  ... 58490 -> 52162
    
    v2: treat Undef as both 0 and 1
    
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com> (v1)
    Tested-by: Edmondo Tommasina <edmondo.tommasina@gmail.com> (v1)

:040000 040000 88f390ac9053318d6ab558e7e82b9d03f7435711 7bd48a7dfa3843fa64a5c41bbc60d181b44ee15c M	src
bisect run success
Comment 2 Marek Olšák 2016-10-20 09:12:53 UTC
Fixed by 2db56434d4a275b5b24445dcaeaa024eca6fa7f9 and f19f71830bb342ff10019fca30dc5f1fd5755202
Comment 3 Marek Olšák 2016-10-20 09:13:44 UTC
*** Bug 98337 has been marked as a duplicate of this bug. ***

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.