Bug 78803

Summary: gallivm/lp_bld_debug.cpp:42:28: fatal error: llvm/IR/Module.h: No such file or directory
Product: Mesa Reporter: Vinson Lee <vlee>
Component: OtherAssignee: mesa-dev
Status: RESOLVED FIXED QA Contact:
Severity: blocker    
Priority: medium CC: brianp, jfonseca, sroland
Version: gitKeywords: regression
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description Vinson Lee 2014-05-16 22:06:31 UTC
mesa: 3a1da0abeef4144e3c060216d78420f047c6e585 (master 10.3.0-devel)
llvm: 3.1, 3.2

$ make
[...]
  CXX      gallivm/lp_bld_debug.lo
gallivm/lp_bld_debug.cpp:42:28: fatal error: llvm/IR/Module.h: No such file or directory
 #include <llvm/IR/Module.h>
                            ^

commit 3a1da0abeef4144e3c060216d78420f047c6e585
Author: Roland Scheidegger <sroland@vmware.com>
Date:   Fri May 16 01:01:07 2014 +0200

    gallivm: print out how long it takes to optimize shader IR.
    
    Enabled with GALLIVM_DEBUG=perf (which up to now was only used to print
    warnings for unoptimized code).
    
    While some unexpectedly long shader compile times for some shaders were fixed
    with 8a9f5ecdb116d0449d63f7b94efbfa8b205d826f this should help recognize such
    problems in the future. For now though only available in debug builds (which
    are not always suitable for such analysis). And since this uses system time,
    it might not be all that accurate (even llvmpipe's own rasterization threads
    might be running at the same time, or just other tasks).
    (llvmpipe also has LP_DEBUG=counters but this only gives an average per shader
    and the the total time for all shaders.)
    This prints information like this:
    optimizing module fs17_variant0 took 1 msec
    optimizing module setup_variant_0 took 0 msec
    optimizing module draw_llvm_vs_variant0 took 9 msec
    optimizing module draw_llvm_vs_variant0 took 12 msec
    optimizing module fs17_variant1 took 2 msec
    
    v2: rebase for recent gallivm compilation changes, and print time for whole
    modules instead of functions (otherwise it would be very spammy since it would
    include all trivial inline sse2 functions), using the shiny new module names,
    prying them off LLVM using new helper (not available through C bindings).
    Per function timings, while possibly giving more information (if there'd be
    a problem only in for instance the partial not the whole function), don't seem
    all that useful for now.
    
    Reviewed-by: Brian Paul <brianp@vmware.com>
    Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
Comment 1 Roland Scheidegger 2014-05-17 00:07:00 UTC
fixed with 3bf2d86c09caeb3ed7c892a3852b8d2d921cff01.

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.