[LLVMbugs] [Bug 21349] New: Slow register allocation on Yacc-generated code compiled with UBSan

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Wed Oct 22 17:00:15 PDT 2014


http://llvm.org/bugs/show_bug.cgi?id=21349

            Bug ID: 21349
           Summary: Slow register allocation on Yacc-generated code
                    compiled with UBSan
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: Register Allocator
          Assignee: unassignedbugs at nondot.org
          Reporter: glider at google.com
                CC: kcc at google.com, llvmbugs at cs.uiuc.edu
    Classification: Unclassified

Created attachment 13240
  --> http://llvm.org/bugs/attachment.cgi?id=13240&action=edit
Source code reproducing the problem

We've encountered this problem while building Mesa in Chromium.

The following command line:

$ clang -cc1 -triple x86_64-unknown-linux-gnu -emit-obj -disable-free 
-mrelocation-model pic -pic-level 2 -relaxed-aliasing   -target-cpu x86-64  -v 
 -O2    -o obj/third_party/mesa/src/chromium_gensrc/mesa/mesa.lex.yy.o -x c
mesa_lex_ubsan.ii 
-fsanitize=alignment,array-bounds,bool,enum,float-cast-overflow,float-divide-by-zero,function,integer-divide-by-zero,nonnull-attribute,null,object-size,return,returns-nonnull-attribute,shift,signed-integer-overflow,unreachable,vla-bound,vptr
-ftime-report

hangs indefinitely (at least for more than 20 minutes) somewhere in
llvm::RegAllocBase::allocatePhysRegs():

(gdb) bt
#0  0x0000000000ec845b in
llvm::MachineBlockFrequencyInfo::getBlockFreq(llvm::MachineBasicBlock const*)
const ()
#1  0x00000000010024ce in ?? ()
#2  0x0000000000ffb7b2 in ?? ()
#3  0x0000000000f5e181 in ?? ()
#4  0x0000000000f5cf8a in ?? ()
#5  0x0000000001026309 in llvm::RegAllocBase::allocatePhysRegs() ()
#6  0x0000000000f5cb46 in ?? ()
#7  0x0000000000ee8a0c in
llvm::MachineFunctionPass::runOnFunction(llvm::Function&) ()
#8  0x000000000110f9d3 in llvm::FPPassManager::runOnFunction(llvm::Function&)
()
#9  0x000000000110fc4b in llvm::FPPassManager::runOnModule(llvm::Module&) ()
#10 0x00000000011101b7 in llvm::legacy::PassManagerImpl::run(llvm::Module&) ()
#11 0x00000000017ea38d in clang::EmitBackendOutput(clang::DiagnosticsEngine&,
clang::CodeGenOptions const&, clang::TargetOptions const&, clang::LangOptions
const&, llvm::StringRef, llvm::Module*, clang::BackendAction,
llvm::raw_ostream*) ()
#12 0x00000000017e05c4 in ?? ()
#13 0x0000000001d58b03 in clang::ParseAST(clang::Sema&, bool, bool) ()
#14 0x000000000156de6b in clang::FrontendAction::Execute() ()
#15 0x00000000015418cc in
clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) ()
#16 0x00000000015ecb3a in
clang::ExecuteCompilerInvocation(clang::CompilerInstance*) ()
#17 0x00000000006ac1db in cc1_main(llvm::ArrayRef<char const*>, char const*,
void*) ()
#18 0x00000000006aadd5 in main ()

-- 
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/20141023/dbed19ed/attachment.html>


More information about the llvm-bugs mailing list