[llvm-bugs] [Bug 49912] New: Assertion `isa<Argument>(Val) && "Unknown live-in to the entry block"' failed.

via llvm-bugs llvm-bugs at lists.llvm.org
Fri Apr 9 15:56:57 PDT 2021


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

            Bug ID: 49912
           Summary: Assertion `isa<Argument>(Val) && "Unknown live-in to
                    the entry block"' failed.
           Product: new-bugs
           Version: trunk
          Hardware: PC
                OS: All
            Status: NEW
          Severity: release blocker
          Priority: P
         Component: new bugs
          Assignee: unassignedbugs at nondot.org
          Reporter: phosek at chromium.org
                CC: htmldeveloper at gmail.com, llvm-bugs at lists.llvm.org

Created attachment 24741
  --> https://bugs.llvm.org/attachment.cgi?id=24741&action=edit
Clang crash reproducer

We hit this error when trying to use -fprofile-generate for PGO.

clang++: /src/clang-llvm/llvm-project/llvm/lib/Analysis/LazyValueInfo.cpp:677:
Optional<llvm::ValueLatticeElement> (anonymous
namespace)::LazyValueInfoImpl::solveBlockValueNonLocal(llvm::Value *,
llvm::BasicBlock *): Assertion `isa<Argument>(Val) && "Unknown live-in to the
entry block"' failed.
PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash
backtrace, preprocessed source, and associated run script.
Stack dump:
0.      Program arguments: ./bin/clang++ -cc1 -triple x86_64-unknown-fuchsia
-emit-obj -massembler-fatal-warnings --mrelax-relocations -disable-free
-disable-llvm-verifier -discard-value-names -main-file-name cpuid_test.cc
-mrelocation-model pic -pic-level 1 -pic-is-pie -mframe-pointer=all
-fexperimental-relative-c++-abi-vtables -fno-rounding-math
-mconstructor-aliases -ffreestanding -mcmodel=kernel -target-cpu x86-64-v2 -
target-feature +retpoline-indirect-calls -target-feature
+retpoline-indirect-branches -target-feature +cx16 -target-feature +fsgsbase
-target-feature -mmx -target-feature -sse -target-feature -sse2 -target-feature
-3dnow -target-feature -avx -target-feature -avx2 -target-feature
+retpoline-external-thunk -mllvm -x86-branches-within-32B-boundaries
-disable-red-zone -no-implicit-float -debug-info-kind=limited -dwarf-version=
4 -debugger-tuning=gdb -ffunction-sections -fdata-sections
-fprofile-instrument=llvm -fcoverage-compilation-dir=. -sys-header-deps -D
_LIBCPP_DISABLE_EXTERN_TEMPLATE -D _LIBCPP_HAS_NO_PLATFORM_WAIT -D
_LIBCPP_HAS_THREAD_API_EXTERNAL -D _LIBCPP_HAS_THREAD_LIBRARY_EXTERNAL -D
_LIBCPP_STD_VER=20 -D
TOOLCHAIN_VERSION=pRlhGPqYQoY4vHqzFBmHYO_D41XXqHubR7bNFUaCHmEC -D
_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D _LIBCPP_DISABLE_V
ISIBILITY_ANNOTATIONS -D KERNEL_BASE=0xffffffff80100000 -D SMP_MAX_CPUS=32 -D
_KERNEL -D LK -D ENABLE_PANIC_SHELL -D ZIRCON_TOOLCHAIN -D LK_DEBUGLEVEL=2 -D
DEBUG_PRINT_LEVEL=2 -D VM_TRACING_LEVEL=0 -D WITH_KERNEL_PCIE -D
SCHEDULER_TRACING_LEVEL=0 -D SCHEDULER_QUEUE_TRACING_ENABLED=false -D
WAIT_QUEUE_DEPTH_TRACING_ENABLED=false -D KERNEL_RETPOLINE=1 -D
X64_KERNEL_JCC_WORKAROUND -D ARCH_X86 -D KERNEL_LOAD_OFFSET=0x00100000
-D WITH_FRAME_POINTERS=1 -D WITH_FRAME_POINTERS=1 -D ZX_ASSERT_LEVEL=2 -O2
-Wall -Wextra -Wno-unused-parameter -Wno-address-of-packed-member -Wnewline-eof
-Wno-unknown-warning-option -Wno-c99-designator -Wno-int-in-bool-context
-Wno-range-loop-analysis -Wthread-safety -Wimplicit-fallthrough -Werror
-Wno-error=deprecated-declarations -Wformat=2 -Wvla
-Wno-gnu-string-literal-operator-template -Wconversion -Wno-sign-conversio
n -Wextra-semi -Wno-deprecated-copy -Wno-non-c-typedef-for-linkage
-Wno-conversion -std=c++17 -fdeprecated-macro -fdebug-compilation-dir=.
-ferror-limit 19 -ftemplate-backtrace-limit 0 -fvisibility hidden
-fvisibility-inlines-hidden -fsanitize=safe-stack -stack-protector 2
-ftrivial-auto-var-init=pattern -fno-rtti -fgnuc-version=4.2.1
-fno-threadsafe-statics -fno-legacy-pass-manager -fsized-deallocation
-faligned-allocatio
n -fnew-alignment=8 -fcolor-diagnostics -vectorize-loops -vectorize-slp
-faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -x c++ cpuid_test-68c143.cpp
1.      <eof> parser at end of file
2.      Optimizer
 #0 0x0000000008b4385a llvm::sys::PrintStackTrace(llvm::raw_ostream&, int)
/src/clang-llvm/llvm-project/llvm/lib/Support/Unix/Signals.inc:565:11
 #1 0x0000000008b4396b PrintStackTraceSignalHandler(void*)
/src/clang-llvm/llvm-project/llvm/lib/Support/Unix/Signals.inc:632:1
 #2 0x0000000008b42223 llvm::sys::RunSignalHandlers()
/src/clang-llvm/llvm-project/llvm/lib/Support/Signals.cpp:76:5
 #3 0x0000000008b43fa5 SignalHandler(int)
/src/clang-llvm/llvm-project/llvm/lib/Support/Unix/Signals.inc:407:1
 #4 0x00007f61da90c140 __restore_rt
(/lib/x86_64-linux-gnu/libpthread.so.0+0x14140)
 #5 0x00007f61da5cbce1 raise ./signal/../sysdeps/unix/sysv/linux/raise.c:51:1
 #6 0x00007f61da5b5537 abort ./stdlib/abort.c:81:7
 #7 0x00007f61da5b540f get_sysdep_segment_value ./intl/loadmsgcat.c:509:8
 #8 0x00007f61da5b540f _nl_load_domain ./intl/loadmsgcat.c:970:34
 #9 0x00007f61da5c4662 (/lib/x86_64-linux-gnu/libc.so.6+0x34662)
#10 0x0000000007410b74 (anonymous
namespace)::LazyValueInfoImpl::solveBlockValueNonLocal(llvm::Value*,
llvm::BasicBlock*)
/src/clang-llvm/llvm-project/llvm/lib/Analysis/LazyValueInfo.cpp:678:12
#11 0x00000000074107bd (anonymous
namespace)::LazyValueInfoImpl::solveBlockValueImpl(llvm::Value*,
llvm::BasicBlock*)
/src/clang-llvm/llvm-project/llvm/lib/Analysis/LazyValueInfo.cpp:591:5
#12 0x000000000740e7bb (anonymous
namespace)::LazyValueInfoImpl::solveBlockValue(llvm::Value*, llvm::BasicBlock*)
/src/clang-llvm/llvm-project/llvm/lib/Analysis/LazyValueInfo.cpp:579:8
#13 0x000000000740cfd6 (anonymous namespace)::LazyValueInfoImpl::solve()
/src/clang-llvm/llvm-project/llvm/lib/Analysis/LazyValueInfo.cpp:515:9
#14 0x00000000074084c0 (anonymous
namespace)::LazyValueInfoImpl::getValueInBlock(llvm::Value*, llvm::BasicBlock*,
llvm::Instruction*)
/src/clang-llvm/llvm-project/llvm/lib/Analysis/LazyValueInfo.cpp:1425:5
#15 0x0000000007408229 llvm::LazyValueInfo::getConstant(llvm::Value*,
llvm::Instruction*)
/src/clang-llvm/llvm-project/llvm/lib/Analysis/LazyValueInfo.cpp:1565:14
#16 0x0000000008718427 processMemAccess(llvm::Instruction*,
llvm::LazyValueInfo*)
/src/clang-llvm/llvm-project/llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp:287:13
#17 0x0000000008717923 runImpl(llvm::Function&, llvm::LazyValueInfo*,
llvm::DominatorTree*, llvm::SimplifyQuery const&)
/src/clang-llvm/llvm-project/llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp:952:22
#18 0x000000000871762e
llvm::CorrelatedValuePropagationPass::run(llvm::Function&,
llvm::AnalysisManager<llvm::Function>&)
/src/clang-llvm/llvm-project/llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp:1026:18
#19 0x000000000a64ef77 llvm::detail::PassModel<llvm::Function,
llvm::CorrelatedValuePropagationPass, llvm::PreservedAnalyses,
llvm::AnalysisManager<llvm::Function> >::run(llvm::Function&,
llvm::AnalysisManager<llvm::Function>&)
/src/clang-llvm/llvm-project/llvm/include/llvm/IR/PassManagerInternal.h:85:17
#20 0x0000000007f8530c llvm::PassManager<llvm::Function,
llvm::AnalysisManager<llvm::Function> >::run(llvm::Function&,
llvm::AnalysisManager<llvm::Function>&)
/src/clang-llvm/llvm-project/llvm/include/llvm/IR/PassManager.h:517:16
#21 0x0000000005c91157 llvm::detail::PassModel<llvm::Function,
llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function> >,
llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Function>
>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&)
/src/clang-llvm/llvm-project/llvm/include/llvm/IR/PassManagerInternal.h:85:17
#22 0x000000000730ca73
llvm::CGSCCToFunctionPassAdaptor::run(llvm::LazyCallGraph::SCC&,
llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&,
llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&)
/src/clang-llvm/llvm-project/llvm/lib/Analysis/CGSCCPassManager.cpp:558:14
#23 0x0000000005c97647 llvm::detail::PassModel<llvm::LazyCallGraph::SCC,
llvm::CGSCCToFunctionPassAdaptor, llvm::PreservedAnalyses,
llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>,
llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>::run(llvm::LazyCallGraph::SCC&,
llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&,
llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) /src/clang-llvm/llvm-pr
oject/llvm/include/llvm/IR/PassManagerInternal.h:85:17
#24 0x000000000730a841 llvm::PassManager<llvm::LazyCallGraph::SCC,
llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>,
llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>::run(llvm::LazyCallGraph::SCC&,
llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&,
llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&)
/src/clang-llvm/llvm-project/llvm/lib/Analysis/CGSCCPassManager.cpp:92:14
#25 0x0000000008166757 llvm::detail::PassModel<llvm::LazyCallGraph::SCC,
llvm::PassManager<llvm::LazyCallGraph::SCC,
llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>,
llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>, llvm::PreservedAnalyses,
llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>,
llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>::run(llvm::LazyCallGraph::SCC&,
llvm::Analysi
sManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&,
llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&)
/src/clang-llvm/llvm-project/llvm/include/llvm/IR/PassManagerInternal.h:85:17
#26 0x000000000730b919
llvm::DevirtSCCRepeatedPass::run(llvm::LazyCallGraph::SCC&,
llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&,
llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&)
/src/clang-llvm/llvm-project/llvm/lib/Analysis/CGSCCPassManager.cpp:429:9
#27 0x0000000008167677 llvm::detail::PassModel<llvm::LazyCallGraph::SCC,
llvm::DevirtSCCRepeatedPass, llvm::PreservedAnalyses,
llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>,
llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>::run(llvm::LazyCallGraph::SCC&,
llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&,
llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) /src/clang-llvm/llvm-project
/llvm/include/llvm/IR/PassManagerInternal.h:85:17
#28 0x000000000730b3c5
llvm::ModuleToPostOrderCGSCCPassAdaptor::run(llvm::Module&,
llvm::AnalysisManager<llvm::Module>&)
/src/clang-llvm/llvm-project/llvm/lib/Analysis/CGSCCPassManager.cpp:294:20
#29 0x00000000081670e7 llvm::detail::PassModel<llvm::Module,
llvm::ModuleToPostOrderCGSCCPassAdaptor, llvm::PreservedAnalyses,
llvm::AnalysisManager<llvm::Module> >::run(llvm::Module&,
llvm::AnalysisManager<llvm::Module>&)
/src/clang-llvm/llvm-project/llvm/include/llvm/IR/PassManagerInternal.h:85:17
#30 0x0000000007f8435c llvm::PassManager<llvm::Module,
llvm::AnalysisManager<llvm::Module> >::run(llvm::Module&,
llvm::AnalysisManager<llvm::Module>&)
/src/clang-llvm/llvm-project/llvm/include/llvm/IR/PassManager.h:517:16
#31 0x000000000815c2a5 llvm::ModuleInlinerWrapperPass::run(llvm::Module&,
llvm::AnalysisManager<llvm::Module>&)
/src/clang-llvm/llvm-project/llvm/lib/Transforms/IPO/Inliner.cpp:1041:3
#32 0x000000000a652f97 llvm::detail::PassModel<llvm::Module,
llvm::ModuleInlinerWrapperPass, llvm::PreservedAnalyses,
llvm::AnalysisManager<llvm::Module> >::run(llvm::Module&,
llvm::AnalysisManager<llvm::Module>&)
/src/clang-llvm/llvm-project/llvm/include/llvm/IR/PassManagerInternal.h:85:17
#33 0x0000000007f8435c llvm::PassManager<llvm::Module,
llvm::AnalysisManager<llvm::Module> >::run(llvm::Module&,
llvm::AnalysisManager<llvm::Module>&)
/src/clang-llvm/llvm-project/llvm/include/llvm/IR/PassManager.h:517:16
#34 0x00000000096e5c4d (anonymous
namespace)::EmitAssemblyHelper::EmitAssemblyWithNewPassManager(clang::BackendAction,
std::__2::unique_ptr<llvm::raw_pwrite_stream,
std::__2::default_delete<llvm::raw_pwrite_stream> >)
/src/clang-llvm/llvm-project/clang/lib/CodeGen/BackendUtil.cpp:1483:5
#35 0x00000000096e382f clang::EmitBackendOutput(clang::DiagnosticsEngine&,
clang::HeaderSearchOptions const&, clang::CodeGenOptions const&,
clang::TargetOptions const&, clang::LangOptions const&, llvm::DataLayout
const&, llvm::Module*, clang::BackendAction,
std::__2::unique_ptr<llvm::raw_pwrite_stream,
std::__2::default_delete<llvm::raw_pwrite_stream> >)
/src/clang-llvm/llvm-project/clang/lib/CodeGen/BackendUtil.cpp:1649:5
#36 0x0000000009b98d6f
clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&)
/src/clang-llvm/llvm-project/clang/lib/CodeGen/CodeGenAction.cpp:338:7
#37 0x000000000c1dda91 clang::ParseAST(clang::Sema&, bool, bool)
/src/clang-llvm/llvm-project/clang/lib/Parse/ParseAST.cpp:178:12
#38 0x00000000099d28bc clang::ASTFrontendAction::ExecuteAction()
/src/clang-llvm/llvm-project/clang/lib/Frontend/FrontendAction.cpp:1058:1
#39 0x0000000009b94c20 clang::CodeGenAction::ExecuteAction()
/src/clang-llvm/llvm-project/clang/lib/CodeGen/CodeGenAction.cpp:1039:5
#40 0x00000000099d22ec clang::FrontendAction::Execute()
/src/clang-llvm/llvm-project/clang/lib/Frontend/FrontendAction.cpp:953:7
#41 0x00000000098b5882
clang::CompilerInstance::ExecuteAction(clang::FrontendAction&)
/src/clang-llvm/llvm-project/clang/lib/Frontend/CompilerInstance.cpp:960:23
#42 0x0000000009b83b0e
clang::ExecuteCompilerInvocation(clang::CompilerInstance*)
/src/clang-llvm/llvm-project/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp:278:8
#43 0x00000000057511d4 cc1_main(llvm::ArrayRef<char const*>, char const*,
void*) /src/clang-llvm/llvm-project/clang/tools/driver/cc1_main.cpp:246:13
#44 0x0000000005743b04 ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&)
/src/clang-llvm/llvm-project/clang/tools/driver/driver.cpp:338:5
#45 0x0000000005742d37 main
/src/clang-llvm/llvm-project/clang/tools/driver/driver.cpp:415:5
#46 0x00007f61da5b6d0a __libc_start_main ./csu/../csu/libc-start.c:308:16
#47 0x000000000574250a _start (./bin/clang+++0x574250a)

-- 
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/20210409/e81c3026/attachment-0001.html>


More information about the llvm-bugs mailing list