[llvm-bugs] [Bug 32731] New: [bisected] r300746 causes stack overflow when compiling pyrit kernel

via llvm-bugs llvm-bugs at lists.llvm.org
Thu Apr 20 22:58:32 PDT 2017


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

            Bug ID: 32731
           Summary: [bisected] r300746 causes stack overflow when
                    compiling pyrit kernel
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: Global Analyses
          Assignee: unassignedbugs at nondot.org
          Reporter: jan.vesely at rutgers.edu
                CC: llvm-bugs at lists.llvm.org

CL source:
https://cgit.freedesktop.org/piglit/tree/tests/cl/program/execute/pyrit-wpa-psk.cl

command (you'll need libclc for get_global_id() implementation):
clang -x cl -target r600-- -mcpu=turks -Xclang -mlink-bitcode-file -Xclang
~/libclc/built_libs/cedar-r600--.bc  -I ~/libclc/generic/include/ -include
~/libclc/generic/include/clc/clc.h -S pyrit-wpa-psk.cl

leads to:
0.      Program arguments: /home/orome/.local/bin/clang-3.9 -cc1 -triple r600--
-S -disable-free -main-file-name pyrit-wpa-psk.cl -mrelocation-model static
-mthread-model posix -mdisable-fp-elim -fmath-errno -no-integrated-as
-mconstructor-aliases -target-cpu turks -dwarf-column-info -debugger-tuning=gdb
-coverage-notes-file /home/orome/clc-crash/pyrit-wpa-psk.gcno -resource-dir
/home/orome/.local/lib/clang/5.0.0 -include
/home/orome/libclc/generic/include/clc/clc.h -I
/home/orome/libclc/generic/include/ -fno-dwarf-directory-asm
-fdebug-compilation-dir /home/orome/clc-crash -ferror-limit 19 -fmessage-length
80 -fobjc-runtime=gcc -fdiagnostics-show-option -fcolor-diagnostics
-mlink-bitcode-file /home/orome/libclc/built_libs/cedar-r600--.bc -o
pyrit-wpa-psk.s -x cl pyrit-wpa-psk.cl 
1.      <eof> parser at end of file
2.      Code generation
3.      Running pass 'Function Pass Manager' on module 'pyrit-wpa-psk.cl'.
4.      Running pass 'Straight line strength reduction' on function
'@opencl_pmk_kernel'

the stack trace is:
#0 0x00007f66a6db6071 llvm::sys::PrintStackTrace(llvm::raw_ostream&)
/home/orome/llvm/lib/Support/Unix/Signals.inc:398:0
#1 0x00007f66a6db6104 PrintStackTraceSignalHandler(void*)
/home/orome/llvm/lib/Support/Unix/Signals.inc:462:0
#2 0x00007f66a6db4365 llvm::sys::RunSignalHandlers()
/home/orome/llvm/lib/Support/Signals.cpp:43:0
#3 0x00007f66a6db58e6 SignalHandler(int)
/home/orome/llvm/lib/Support/Unix/Signals.inc:252:0
#4 0x00007f66a5e0aec0 __restore_rt (/lib64/libpthread.so.0+0x10ec0)
#5 0x00007f66ab4340b8 computeKnownBitsFromAssume(llvm::Value const*,
llvm::APInt&, llvm::APInt&, unsigned int, (anonymous namespace)::Query const&)
/home/orome/llvm/lib/Analysis/ValueTracking.cpp:504:0
#6 0x00007f66ab43ae7f computeKnownBits(llvm::Value const*, llvm::APInt&,
llvm::APInt&, unsigned int, (anonymous namespace)::Query const&)
/home/orome/llvm/lib/Analysis/ValueTracking.cpp:1603:0
#7 0x00007f66ab432e4d computeKnownBitsAddSub(bool, llvm::Value const*,
llvm::Value const*, bool, llvm::APInt&, llvm::APInt&, llvm::APInt&,
llvm::APInt&, unsigned int, (anonymous namespace)::Query const&)
/home/orome/llvm/lib/Analysis/ValueTracking.cpp:264:0
#8 0x00007f66ab438e31 computeKnownBitsFromOperator(llvm::Operator const*,
llvm::APInt&, llvm::APInt&, unsigned int, (anonymous namespace)::Query const&)
/home/orome/llvm/lib/Analysis/ValueTracking.cpp:1160:0
#9 0x00007f66ab43ade7 computeKnownBits(llvm::Value const*, llvm::APInt&,
llvm::APInt&, unsigned int, (anonymous namespace)::Query const&)
/home/orome/llvm/lib/Analysis/ValueTracking.cpp:1591:0
#10 0x00007f66ab432e4d computeKnownBitsAddSub(bool, llvm::Value const*,
llvm::Value const*, bool, llvm::APInt&, llvm::APInt&, llvm::APInt&,
llvm::APInt&, unsigned int, (anonymous namespace)::Query const&)
/home/orome/llvm/lib/Analysis/ValueTracking.cpp:264:0
#11 0x00007f66ab438e31 computeKnownBitsFromOperator(llvm::Operator const*,
llvm::APInt&, llvm::APInt&, unsigned int, (anonymous namespace)::Query const&)
/home/orome/llvm/lib/Analysis/ValueTracking.cpp:1160:0
#12 0x00007f66ab43ade7 computeKnownBits(llvm::Value const*, llvm::APInt&,
llvm::APInt&, unsigned int, (anonymous namespace)::Query const&)
/home/orome/llvm/lib/Analysis/ValueTracking.cpp:1591:0
#13 0x00007f66ab432e4d computeKnownBitsAddSub(bool, llvm::Value const*,
llvm::Value const*, bool, llvm::APInt&, llvm::APInt&, llvm::APInt&,
llvm::APInt&, unsigned int, (anonymous namespace)::Query const&)
/home/orome/llvm/lib/Analysis/ValueTracking.cpp:264:0
#14 0x00007f66ab438e31 computeKnownBitsFromOperator(llvm::Operator const*,
llvm::APInt&, llvm::APInt&, unsigned int, (anonymous namespace)::Query const&)
/home/orome/llvm/lib/Analysis/ValueTracking.cpp:1160:0
#15 0x00007f66ab43ade7 computeKnownBits(llvm::Value const*, llvm::APInt&,
llvm::APInt&, unsigned int, (anonymous namespace)::Query const&)
/home/orome/llvm/lib/Analysis/ValueTracking.cpp:1591:0
#16 0x00007f66ab432e4d computeKnownBitsAddSub(bool, llvm::Value const*,
llvm::Value const*, bool, llvm::APInt&, llvm::APInt&, llvm::APInt&,
llvm::APInt&, unsigned int, (anonymous namespace)::Query const&)
/home/orome/llvm/lib/Analysis/ValueTracking.cpp:264:0
#17 0x00007f66ab438e31 computeKnownBitsFromOperator(llvm::Operator const*,
llvm::APInt&, llvm::APInt&, unsigned int, (anonymous namespace)::Query const&)
/home/orome/llvm/lib/Analysis/ValueTracking.cpp:1160:0
#18 0x00007f66ab43ade7 computeKnownBits(llvm::Value const*, llvm::APInt&,
llvm::APInt&, unsigned int, (anonymous namespace)::Query const&)
/home/orome/llvm/lib/Analysis/ValueTracking.cpp:1591:0
#19 0x00007f66ab437299 computeKnownBitsFromShiftOperator(llvm::Operator const*,
llvm::APInt&, llvm::APInt&, llvm::APInt&, llvm::APInt&, unsigned int,
(anonymous namespace)::Query const&, llvm::function_ref<llvm::APInt
(llvm::APInt const&, unsigned int)>, llvm::function_ref<llvm::APInt
(llvm::APInt const&, unsigned int)>)
/home/orome/llvm/lib/Analysis/ValueTracking.cpp:814:0
#20 0x00007f66ab438bea computeKnownBitsFromOperator(llvm::Operator const*,
llvm::APInt&, llvm::APInt&, unsigned int, (anonymous namespace)::Query const&)
/home/orome/llvm/lib/Analysis/ValueTracking.cpp:1113:0
#21 0x00007f66ab43ade7 computeKnownBits(llvm::Value const*, llvm::APInt&,
llvm::APInt&, unsigned int, (anonymous namespace)::Query const&)
/home/orome/llvm/lib/Analysis/ValueTracking.cpp:1591:0
#22 0x00007f66ab432490 llvm::computeKnownBits(llvm::Value const*, llvm::APInt&,
llvm::APInt&, llvm::DataLayout const&, unsigned int, llvm::AssumptionCache*,
llvm::Instruction const*, llvm::DominatorTree const*,
llvm::OptimizationRemarkEmitter*)
/home/orome/llvm/lib/Analysis/ValueTracking.cpp:143:0
#23 0x00007f66ab432670 llvm::haveNoCommonBitsSet(llvm::Value const*,
llvm::Value const*, llvm::DataLayout const&, llvm::AssumptionCache*,
llvm::Instruction const*, llvm::DominatorTree const*)
/home/orome/llvm/lib/Analysis/ValueTracking.cpp:156:0
#24 0x00007f66ab3913d5 llvm::ScalarEvolution::createSCEV(llvm::Value*)
/home/orome/llvm/lib/Analysis/ScalarEvolution.cpp:5332:0
#25 0x00007f66ab38818d llvm::ScalarEvolution::getSCEV(llvm::Value*)
/home/orome/llvm/lib/Analysis/ScalarEvolution.cpp:3574:0
#26 0x00007f66ab3904f0 llvm::ScalarEvolution::createSCEV(llvm::Value*)
/home/orome/llvm/lib/Analysis/ScalarEvolution.cpp:5213:0
#27 0x00007f66ab38818d llvm::ScalarEvolution::getSCEV(llvm::Value*)
/home/orome/llvm/lib/Analysis/ScalarEvolution.cpp:3574:0



alternative command (leads to the same stack overflow):
clang -x cl -target amdgcn-- -mcpu=tonga -Xclang -mlink-bitcode-file -Xclang
~/libclc/built_libs/tahiti-amdgcn--.bc -I ~/libclc/generic/include/ -include
~/libclc/generic/include/clc/clc.h -S pyrit-wpa-psk.cl

leads to the same error

-- 
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/20170421/1c23d74d/attachment-0001.html>


More information about the llvm-bugs mailing list