leonardchan added a comment.

Finally got the stacktrace:

  leonardchan@cp-snakewater:~/llvm-monorepo/llvm-build-1-clang-only-debug$ 
bin/clang++ "-cc1" "-triple" "x86_64-unknown-linux-gnu" "-emit-obj" 
"--mrelax-relocations" "-disable-free" "-main-file-name" 
"AArch64SpeculationHardening.cpp" "-mrelocation-model" "pic" "-pic-level" "2" 
"-mframe-pointer=none" "-fmath-errno" "-fno-rounding-math" 
"-mconstructor-aliases" "-target-cpu" "x86-64" "-tune-cpu" "generic" 
"-debugger-tuning=gdb" "-ffunction-sections" "-fdata-sections" 
"-fcoverage-compilation-dir=/usr/local/google/home/leonardchan/llvm-monorepo/llvm-build-1-two-stage-fuchsia-toolchain/tools/clang/stage2-bins"
 "-sys-header-deps" "-D" "GTEST_HAS_RTTI=0" "-D" "_GNU_SOURCE" "-D" 
"__STDC_CONSTANT_MACROS" "-D" "__STDC_FORMAT_MACROS" "-D" "__STDC_LIMIT_MACROS" 
"-D" "NDEBUG" 
"-fmacro-prefix-map=/usr/local/google/home/leonardchan/llvm-monorepo/llvm-build-1-two-stage-fuchsia-toolchain/tools/clang/stage2-bins=../llvm-build-1-two-stage-fuchsia-toolchain/tools/clang/stage2-bins"
 
"-fmacro-prefix-map=/usr/local/google/home/leonardchan/llvm-monorepo/llvm-project-1/="
 
"-fcoverage-prefix-map=/usr/local/google/home/leonardchan/llvm-monorepo/llvm-build-1-two-stage-fuchsia-toolchain/tools/clang/stage2-bins=../llvm-build-1-two-stage-fuchsia-toolchain/tools/clang/stage2-bins"
 
"-fcoverage-prefix-map=/usr/local/google/home/leonardchan/llvm-monorepo/llvm-project-1/="
 "-O3" "-Werror=date-time" "-Werror=unguarded-availability-new" "-Wall" 
"-Wextra" "-Wno-unused-parameter" "-Wwrite-strings" "-Wcast-qual" 
"-Wmissing-field-initializers" "-Wno-long-long" "-Wc++98-compat-extra-semi" 
"-Wimplicit-fallthrough" "-Wcovered-switch-default" "-Wno-noexcept-type" 
"-Wnon-virtual-dtor" "-Wdelete-non-virtual-dtor" "-Wsuggest-override" 
"-Wno-comment" "-Wstring-conversion" "-Wmisleading-indentation" "-pedantic" 
"-std=c++14" "-fdeprecated-macro" 
"-fdebug-compilation-dir=/usr/local/google/home/leonardchan/llvm-monorepo/llvm-build-1-two-stage-fuchsia-toolchain/tools/clang/stage2-bins"
 
"-fdebug-prefix-map=/usr/local/google/home/leonardchan/llvm-monorepo/llvm-build-1-two-stage-fuchsia-toolchain/tools/clang/stage2-bins=../llvm-build-1-two-stage-fuchsia-toolchain/tools/clang/stage2-bins"
 
"-fdebug-prefix-map=/usr/local/google/home/leonardchan/llvm-monorepo/llvm-project-1/="
 "-ferror-limit" "19" "-fvisibility" "hidden" "-fvisibility-inlines-hidden" 
"-fno-rtti" "-fgnuc-version=4.2.1" "-fcolor-diagnostics" "-vectorize-loops" 
"-vectorize-slp" "-faddrsig" "-x" "c++" 
~/misc/AArch64SpeculationHardening-33e9d2.cpp
  clang++: 
/usr/local/google/home/leonardchan/llvm-monorepo/llvm-project-1/llvm/include/llvm/Support/Alignment.h:77:
 llvm::Align::Align(uint64_t): Assertion `Value > 0 && "Value must not be 0"' 
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-linux-gnu 
-emit-obj --mrelax-relocations -disable-free -main-file-name 
AArch64SpeculationHardening.cpp -mrelocation-model pic -pic-level 2 
-mframe-pointer=none -fmath-errno -fno-rounding-math -mconstructor-aliases 
-target-cpu x86-64 -tune-cpu generic -debugger-tuning=gdb -ffunction-sections 
-fdata-sections 
-fcoverage-compilation-dir=/usr/local/google/home/leonardchan/llvm-monorepo/llvm-build-1-two-stage-fuchsia-toolchain/tools/clang/stage2-bins
 -sys-header-deps -D GTEST_HAS_RTTI=0 -D _GNU_SOURCE -D __STDC_CONSTANT_MACROS 
-D __STDC_FORMAT_MACROS -D __STDC_LIMIT_MACROS -D NDEBUG 
-fmacro-prefix-map=/usr/local/google/home/leonardchan/llvm-monorepo/llvm-build-1-two-stage-fuchsia-toolchain/tools/clang/stage2-bins=../llvm-build-1-two-stage-fuchsia-toolchain/tools/clang/stage2-bins
 
-fmacro-prefix-map=/usr/local/google/home/leonardchan/llvm-monorepo/llvm-project-1/=
 
-fcoverage-prefix-map=/usr/local/google/home/leonardchan/llvm-monorepo/llvm-build-1-two-stage-fuchsia-toolchain/tools/clang/stage2-bins=../llvm-build-1-two-stage-fuchsia-toolchain/tools/clang/stage2-bins
 
-fcoverage-prefix-map=/usr/local/google/home/leonardchan/llvm-monorepo/llvm-project-1/=
 -O3 -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra 
-Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers 
-Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough 
-Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor 
-Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wstring-conversion 
-Wmisleading-indentation -pedantic -std=c++14 -fdeprecated-macro 
-fdebug-compilation-dir=/usr/local/google/home/leonardchan/llvm-monorepo/llvm-build-1-two-stage-fuchsia-toolchain/tools/clang/stage2-bins
 
-fdebug-prefix-map=/usr/local/google/home/leonardchan/llvm-monorepo/llvm-build-1-two-stage-fuchsia-toolchain/tools/clang/stage2-bins=../llvm-build-1-two-stage-fuchsia-toolchain/tools/clang/stage2-bins
 
-fdebug-prefix-map=/usr/local/google/home/leonardchan/llvm-monorepo/llvm-project-1/=
 -ferror-limit 19 -fvisibility hidden -fvisibility-inlines-hidden -fno-rtti 
-fgnuc-version=4.2.1 -fcolor-diagnostics -vectorize-loops -vectorize-slp 
-faddrsig -x c++ 
/usr/local/google/home/leonardchan/misc/AArch64SpeculationHardening-33e9d2.cpp
  1.    <eof> parser at end of file
  2.    Optimizer
   #0 0x00000000093983ca llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) 
/usr/local/google/home/leonardchan/llvm-monorepo/llvm-project-1/llvm/lib/Support/Unix/Signals.inc:565:11
   #1 0x00000000093984db PrintStackTraceSignalHandler(void*) 
/usr/local/google/home/leonardchan/llvm-monorepo/llvm-project-1/llvm/lib/Support/Unix/Signals.inc:632:1
   #2 0x0000000009396d93 llvm::sys::RunSignalHandlers() 
/usr/local/google/home/leonardchan/llvm-monorepo/llvm-project-1/llvm/lib/Support/Signals.cpp:97:5
   #3 0x0000000009398b15 SignalHandler(int) 
/usr/local/google/home/leonardchan/llvm-monorepo/llvm-project-1/llvm/lib/Support/Unix/Signals.inc:407:1
   #4 0x00007f7b15b51140 __restore_rt 
(/lib/x86_64-linux-gnu/libpthread.so.0+0x14140)
   #5 0x00007f7b1585ece1 gsignal (/lib/x86_64-linux-gnu/libc.so.6+0x3bce1)
   #6 0x00007f7b15848537 abort (/lib/x86_64-linux-gnu/libc.so.6+0x25537)
   #7 0x00007f7b1584840f __tls_get_addr 
(/lib/x86_64-linux-gnu/libc.so.6+0x2540f)
   #8 0x00007f7b15857662 (/lib/x86_64-linux-gnu/libc.so.6+0x34662)
   #9 0x0000000005d5fa99 llvm::Align::Align(unsigned long) 
/usr/local/google/home/leonardchan/llvm-monorepo/llvm-project-1/llvm/include/llvm/Support/Alignment.h:78:5
  #10 0x0000000009045bec (anonymous 
namespace)::LoopPromoter::doExtraRewritesBeforeFinalDeletion() 
/usr/local/google/home/leonardchan/llvm-monorepo/llvm-project-1/llvm/lib/Transforms/Scalar/LICM.cpp:1921:27
  #11 0x00000000094febaa 
llvm::LoadAndStorePromoter::run(llvm::SmallVectorImpl<llvm::Instruction*> 
const&) 
/usr/local/google/home/leonardchan/llvm-monorepo/llvm-project-1/llvm/lib/Transforms/Utils/SSAUpdater.cpp:448:28
  #12 0x0000000009042c96 
llvm::promoteLoopAccessesToScalars(llvm::SmallSetVector<llvm::Value*, 8u> 
const&, llvm::SmallVectorImpl<llvm::BasicBlock*>&, 
llvm::SmallVectorImpl<llvm::Instruction*>&, 
llvm::SmallVectorImpl<llvm::MemoryAccess*>&, llvm::PredIteratorCache&, 
llvm::LoopInfo*, llvm::DominatorTree*, llvm::TargetLibraryInfo const*, 
llvm::Loop*, llvm::MemorySSAUpdater*, llvm::ICFLoopSafetyInfo*, 
llvm::OptimizationRemarkEmitter*) 
/usr/local/google/home/leonardchan/llvm-monorepo/llvm-project-1/llvm/lib/Transforms/Scalar/LICM.cpp:2255:7
  #13 0x000000000903c503 (anonymous 
namespace)::LoopInvariantCodeMotion::runOnLoop(llvm::Loop*, llvm::AAResults*, 
llvm::LoopInfo*, llvm::DominatorTree*, llvm::BlockFrequencyInfo*, 
llvm::TargetLibraryInfo*, llvm::TargetTransformInfo*, llvm::ScalarEvolution*, 
llvm::MemorySSA*, llvm::OptimizationRemarkEmitter*, bool) 
/usr/local/google/home/leonardchan/llvm-monorepo/llvm-project-1/llvm/lib/Transforms/Scalar/LICM.cpp:467:28
  #14 0x000000000903be19 llvm::LICMPass::run(llvm::Loop&, 
llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>&, 
llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&) 
/usr/local/google/home/leonardchan/llvm-monorepo/llvm-project-1/llvm/lib/Transforms/Scalar/LICM.cpp:274:7
  #15 0x000000000b065647 llvm::detail::PassModel<llvm::Loop, llvm::LICMPass, 
llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Loop, 
llvm::LoopStandardAnalysisResults&>, llvm::LoopStandardAnalysisResults&, 
llvm::LPMUpdater&>::run(llvm::Loop&, llvm::AnalysisManager<llvm::Loop, 
llvm::LoopStandardAnalysisResults&>&, llvm::LoopStandardAnalysisResults&, 
llvm::LPMUpdater&) 
/usr/local/google/home/leonardchan/llvm-monorepo/llvm-project-1/llvm/include/llvm/IR/PassManagerInternal.h:88:17
  #16 0x000000000b08a359 llvm::FunctionToLoopPassAdaptor::run(llvm::Function&, 
llvm::AnalysisManager<llvm::Function>&) 
/usr/local/google/home/leonardchan/llvm-monorepo/llvm-project-1/llvm/lib/Transforms/Scalar/LoopPassManager.cpp:291:14
  #17 0x000000000b064e57 llvm::detail::PassModel<llvm::Function, 
llvm::FunctionToLoopPassAdaptor, llvm::PreservedAnalyses, 
llvm::AnalysisManager<llvm::Function> >::run(llvm::Function&, 
llvm::AnalysisManager<llvm::Function>&) 
/usr/local/google/home/leonardchan/llvm-monorepo/llvm-project-1/llvm/include/llvm/IR/PassManagerInternal.h:88:17
  #18 0x0000000008759d1d llvm::PassManager<llvm::Function, 
llvm::AnalysisManager<llvm::Function> >::run(llvm::Function&, 
llvm::AnalysisManager<llvm::Function>&) 
/usr/local/google/home/leonardchan/llvm-monorepo/llvm-project-1/llvm/include/llvm/IR/PassManager.h:525:16
  #19 0x00000000062b8c97 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>&) 
/usr/local/google/home/leonardchan/llvm-monorepo/llvm-project-1/llvm/include/llvm/IR/PassManagerInternal.h:88:17
  #20 0x0000000007a77713 
llvm::CGSCCToFunctionPassAdaptor::run(llvm::LazyCallGraph::SCC&, 
llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, 
llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) 
/usr/local/google/home/leonardchan/llvm-monorepo/llvm-project-1/llvm/lib/Analysis/CGSCCPassManager.cpp:551:14
  #21 0x00000000062be887 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&) 
/usr/local/google/home/leonardchan/llvm-monorepo/llvm-project-1/llvm/include/llvm/IR/PassManagerInternal.h:88:17
  #22 0x0000000007a754fc 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&) 
/usr/local/google/home/leonardchan/llvm-monorepo/llvm-project-1/llvm/lib/Analysis/CGSCCPassManager.cpp:89:14
  #23 0x0000000008956c97 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::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, 
llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) 
/usr/local/google/home/leonardchan/llvm-monorepo/llvm-project-1/llvm/include/llvm/IR/PassManagerInternal.h:88:17
  #24 0x0000000007a765a9 
llvm::DevirtSCCRepeatedPass::run(llvm::LazyCallGraph::SCC&, 
llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&, 
llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) 
/usr/local/google/home/leonardchan/llvm-monorepo/llvm-project-1/llvm/lib/Analysis/CGSCCPassManager.cpp:417:9
  #25 0x0000000008957657 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&) 
/usr/local/google/home/leonardchan/llvm-monorepo/llvm-project-1/llvm/include/llvm/IR/PassManagerInternal.h:88:17
  #26 0x0000000007a7605c 
llvm::ModuleToPostOrderCGSCCPassAdaptor::run(llvm::Module&, 
llvm::AnalysisManager<llvm::Module>&) 
/usr/local/google/home/leonardchan/llvm-monorepo/llvm-project-1/llvm/lib/Analysis/CGSCCPassManager.cpp:282:20
  #27 0x0000000008957147 llvm::detail::PassModel<llvm::Module, 
llvm::ModuleToPostOrderCGSCCPassAdaptor, llvm::PreservedAnalyses, 
llvm::AnalysisManager<llvm::Module> >::run(llvm::Module&, 
llvm::AnalysisManager<llvm::Module>&) 
/usr/local/google/home/leonardchan/llvm-monorepo/llvm-project-1/llvm/include/llvm/IR/PassManagerInternal.h:88:17
  #28 0x0000000008758fcd llvm::PassManager<llvm::Module, 
llvm::AnalysisManager<llvm::Module> >::run(llvm::Module&, 
llvm::AnalysisManager<llvm::Module>&) 
/usr/local/google/home/leonardchan/llvm-monorepo/llvm-project-1/llvm/include/llvm/IR/PassManager.h:525:16
  #29 0x0000000008948f45 llvm::ModuleInlinerWrapperPass::run(llvm::Module&, 
llvm::AnalysisManager<llvm::Module>&) 
/usr/local/google/home/leonardchan/llvm-monorepo/llvm-project-1/llvm/lib/Transforms/IPO/Inliner.cpp:1049:3
  #30 0x000000000b047927 llvm::detail::PassModel<llvm::Module, 
llvm::ModuleInlinerWrapperPass, llvm::PreservedAnalyses, 
llvm::AnalysisManager<llvm::Module> >::run(llvm::Module&, 
llvm::AnalysisManager<llvm::Module>&) 
/usr/local/google/home/leonardchan/llvm-monorepo/llvm-project-1/llvm/include/llvm/IR/PassManagerInternal.h:88:17
  #31 0x0000000008758fcd llvm::PassManager<llvm::Module, 
llvm::AnalysisManager<llvm::Module> >::run(llvm::Module&, 
llvm::AnalysisManager<llvm::Module>&) 
/usr/local/google/home/leonardchan/llvm-monorepo/llvm-project-1/llvm/include/llvm/IR/PassManager.h:525:16
  #32 0x000000000a0d9740 (anonymous 
namespace)::EmitAssemblyHelper::EmitAssemblyWithNewPassManager(clang::BackendAction,
 std::__2::unique_ptr<llvm::raw_pwrite_stream, 
std::__2::default_delete<llvm::raw_pwrite_stream> >) 
/usr/local/google/home/leonardchan/llvm-monorepo/llvm-project-1/clang/lib/CodeGen/BackendUtil.cpp:1509:5
  #33 0x000000000a0d7299 clang::EmitBackendOutput(clang::DiagnosticsEngine&, 
clang::HeaderSearchOptions const&, clang::CodeGenOptions const&, 
clang::TargetOptions const&, clang::LangOptions const&, llvm::StringRef, 
llvm::Module*, clang::BackendAction, 
std::__2::unique_ptr<llvm::raw_pwrite_stream, 
std::__2::default_delete<llvm::raw_pwrite_stream> >) 
/usr/local/google/home/leonardchan/llvm-monorepo/llvm-project-1/clang/lib/CodeGen/BackendUtil.cpp:1675:5
  #34 0x000000000a544165 
clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) 
/usr/local/google/home/leonardchan/llvm-monorepo/llvm-project-1/clang/lib/CodeGen/CodeGenAction.cpp:360:7
  #35 0x000000000cc06171 clang::ParseAST(clang::Sema&, bool, bool) 
/usr/local/google/home/leonardchan/llvm-monorepo/llvm-project-1/clang/lib/Parse/ParseAST.cpp:178:12
  #36 0x000000000a37760c clang::ASTFrontendAction::ExecuteAction() 
/usr/local/google/home/leonardchan/llvm-monorepo/llvm-project-1/clang/lib/Frontend/FrontendAction.cpp:1065:1
  #37 0x000000000a53fca2 clang::CodeGenAction::ExecuteAction() 
/usr/local/google/home/leonardchan/llvm-monorepo/llvm-project-1/clang/lib/CodeGen/CodeGenAction.cpp:1094:5
  #38 0x000000000a37703c clang::FrontendAction::Execute() 
/usr/local/google/home/leonardchan/llvm-monorepo/llvm-project-1/clang/lib/Frontend/FrontendAction.cpp:960:7
  #39 0x000000000a2b5721 
clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) 
/usr/local/google/home/leonardchan/llvm-monorepo/llvm-project-1/clang/lib/Frontend/CompilerInstance.cpp:975:23
  #40 0x000000000a52e8b7 
clang::ExecuteCompilerInvocation(clang::CompilerInstance*) 
/usr/local/google/home/leonardchan/llvm-monorepo/llvm-project-1/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp:261:8
  #41 0x0000000005d23574 cc1_main(llvm::ArrayRef<char const*>, char const*, 
void*) 
/usr/local/google/home/leonardchan/llvm-monorepo/llvm-project-1/clang/tools/driver/cc1_main.cpp:246:13
  #42 0x0000000005d15fab ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&) 
/usr/local/google/home/leonardchan/llvm-monorepo/llvm-project-1/clang/tools/driver/driver.cpp:317:5
  #43 0x0000000005d15075 main 
/usr/local/google/home/leonardchan/llvm-monorepo/llvm-project-1/clang/tools/driver/driver.cpp:388:5
  #44 0x00007f7b15849d0a __libc_start_main 
(/lib/x86_64-linux-gnu/libc.so.6+0x26d0a)
  #45 0x0000000005d148ba _start (bin/clang+++0x5d148ba)
  Aborted

I've also uploaded the crash reproducer at 
https://drive.google.com/drive/folders/1AYJwxpgPCslg7iK8dtLHUp7hkfW65Qnh?usp=sharing.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D110451/new/

https://reviews.llvm.org/D110451

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to