foad added a comment.

Hi, with the new datalayout we're hitting this crash:

  ; RUN: opt -passes=indvars -S < %s
  
  target datalayout = 
"e-p:64:64-p1:64:64-p2:32:32-p3:32:32-p4:64:64-p5:32:32-p6:32:32-p7:160:256:256:32-p8:128:128-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-v2048:2048-n32:64-S32-A5-G1-ni:7:8"
  target triple = "amdgcn--amdpal"
  
  define void @f(ptr addrspace(7) %arg) {
  bb:
    br label %bb1
  bb1:
    %i = getelementptr i32, ptr addrspace(7) %arg, i32 2
    br i1 false, label %bb2, label %bb1
  bb2:
    br label %bb3
  bb3:
    %i4 = load i32, ptr addrspace(7) %i, align 4
    br label %bb3
  }

  PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ 
and include the crash backtrace.
  Stack dump:
  0.    Program arguments: /home/jayfoad2/llvm-release/bin/opt -passes=indvars 
-S
   #0 0x00000000063a25e7 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) 
(/home/jayfoad2/llvm-release/bin/opt+0x63a25e7)
   #1 0x00000000063a049e llvm::sys::RunSignalHandlers() 
(/home/jayfoad2/llvm-release/bin/opt+0x63a049e)
   #2 0x00000000063a2c8a SignalHandler(int) Signals.cpp:0:0
   #3 0x00007fdb0be42520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
   #4 0x0000000005b0b80f llvm::EVT::isExtendedVector() const 
(/home/jayfoad2/llvm-release/bin/opt+0x5b0b80f)
   #5 0x0000000005a59bf9 
llvm::TargetLoweringBase::getTypeConversion(llvm::LLVMContext&, llvm::EVT) 
const (/home/jayfoad2/llvm-release/bin/opt+0x5a59bf9)
   #6 0x000000000423cf63 
llvm::BasicTTIImplBase<llvm::GCNTTIImpl>::getTypeLegalizationCost(llvm::Type*) 
const AMDGPUTargetMachine.cpp:0:0
   #7 0x0000000004305117 llvm::GCNTTIImpl::getArithmeticInstrCost(unsigned int, 
llvm::Type*, llvm::TargetTransformInfo::TargetCostKind, 
llvm::TargetTransformInfo::OperandValueInfo, 
llvm::TargetTransformInfo::OperandValueInfo, llvm::ArrayRef<llvm::Value 
const*>, llvm::Instruction const*) AMDGPUTargetTransformInfo.cpp:0:0
   #8 0x0000000005549453 
llvm::TargetTransformInfo::getArithmeticInstrCost(unsigned int, llvm::Type*, 
llvm::TargetTransformInfo::TargetCostKind, 
llvm::TargetTransformInfo::OperandValueInfo, 
llvm::TargetTransformInfo::OperandValueInfo, llvm::ArrayRef<llvm::Value 
const*>, llvm::Instruction const*) const 
(/home/jayfoad2/llvm-release/bin/opt+0x5549453)
   #9 0x00000000064b5695 
llvm::SCEVExpander::isHighCostExpansionHelper(llvm::SCEVOperand const&, 
llvm::Loop*, llvm::Instruction const&, llvm::InstructionCost&, unsigned int, 
llvm::TargetTransformInfo const&, llvm::SmallPtrSetImpl<llvm::SCEV const*>&, 
llvm::SmallVectorImpl<llvm::SCEVOperand>&) 
(/home/jayfoad2/llvm-release/bin/opt+0x64b5695)
  #10 0x0000000006475d2b 
llvm::SCEVExpander::isHighCostExpansion(llvm::ArrayRef<llvm::SCEV const*>, 
llvm::Loop*, unsigned int, llvm::TargetTransformInfo const*, llvm::Instruction 
const*) LoopUnrollRuntime.cpp:0:0
  #11 0x00000000064813ab llvm::rewriteLoopExitValues(llvm::Loop*, 
llvm::LoopInfo*, llvm::TargetLibraryInfo*, llvm::ScalarEvolution*, 
llvm::TargetTransformInfo const*, llvm::SCEVExpander&, llvm::DominatorTree*, 
llvm::ReplaceExitVal, llvm::SmallVector<llvm::WeakTrackingVH, 16u>&) 
(/home/jayfoad2/llvm-release/bin/opt+0x64813ab)
  #12 0x0000000006a71b09 (anonymous 
namespace)::IndVarSimplify::run(llvm::Loop*) IndVarSimplify.cpp:0:0
  #13 0x0000000006a70000 llvm::IndVarSimplifyPass::run(llvm::Loop&, 
llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>&, 
llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&) 
(/home/jayfoad2/llvm-release/bin/opt+0x6a70000)
  #14 0x00000000065bef0d llvm::detail::PassModel<llvm::Loop, 
llvm::IndVarSimplifyPass, 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&) PassBuilder.cpp:0:0
  #15 0x000000000679b933 std::optional<llvm::PreservedAnalyses> 
llvm::PassManager<llvm::Loop, llvm::AnalysisManager<llvm::Loop, 
llvm::LoopStandardAnalysisResults&>, llvm::LoopStandardAnalysisResults&, 
llvm::LPMUpdater&>::runSinglePass<llvm::Loop, 
std::unique_ptr<llvm::detail::PassConcept<llvm::Loop, 
llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>, 
llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&>, 
std::default_delete<llvm::detail::PassConcept<llvm::Loop, 
llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>, 
llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&>>>>(llvm::Loop&, 
std::unique_ptr<llvm::detail::PassConcept<llvm::Loop, 
llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>, 
llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&>, 
std::default_delete<llvm::detail::PassConcept<llvm::Loop, 
llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>, 
llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&>>>&, 
llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>&, 
llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&, 
llvm::PassInstrumentation&) (/home/jayfoad2/llvm-release/bin/opt+0x679b933)
  #16 0x000000000679b5a2 llvm::PassManager<llvm::Loop, 
llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>, 
llvm::LoopStandardAnalysisResults&, 
llvm::LPMUpdater&>::runWithoutLoopNestPasses(llvm::Loop&, 
llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>&, 
llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&) 
(/home/jayfoad2/llvm-release/bin/opt+0x679b5a2)
  #17 0x000000000679ab88 llvm::PassManager<llvm::Loop, 
llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>, 
llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&>::run(llvm::Loop&, 
llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>&, 
llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&) 
(/home/jayfoad2/llvm-release/bin/opt+0x679ab88)
  #18 0x000000000659ddbd llvm::detail::PassModel<llvm::Loop, 
llvm::PassManager<llvm::Loop, llvm::AnalysisManager<llvm::Loop, 
llvm::LoopStandardAnalysisResults&>, llvm::LoopStandardAnalysisResults&, 
llvm::LPMUpdater&>, 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&) PassBuilder.cpp:0:0
  #19 0x000000000679c97f llvm::FunctionToLoopPassAdaptor::run(llvm::Function&, 
llvm::AnalysisManager<llvm::Function>&) 
(/home/jayfoad2/llvm-release/bin/opt+0x679c97f)
  #20 0x00000000065be45d llvm::detail::PassModel<llvm::Function, 
llvm::FunctionToLoopPassAdaptor, llvm::PreservedAnalyses, 
llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, 
llvm::AnalysisManager<llvm::Function>&) PassBuilder.cpp:0:0
  #21 0x0000000005d408a4 llvm::PassManager<llvm::Function, 
llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, 
llvm::AnalysisManager<llvm::Function>&) 
(/home/jayfoad2/llvm-release/bin/opt+0x5d408a4)
  #22 0x000000000423519d 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>&) AMDGPUTargetMachine.cpp:0:0
  #23 0x0000000005d4473e llvm::ModuleToFunctionPassAdaptor::run(llvm::Module&, 
llvm::AnalysisManager<llvm::Module>&) 
(/home/jayfoad2/llvm-release/bin/opt+0x5d4473e)
  #24 0x0000000004234f4d llvm::detail::PassModel<llvm::Module, 
llvm::ModuleToFunctionPassAdaptor, llvm::PreservedAnalyses, 
llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, 
llvm::AnalysisManager<llvm::Module>&) AMDGPUTargetMachine.cpp:0:0
  #25 0x0000000005d3fab4 llvm::PassManager<llvm::Module, 
llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, 
llvm::AnalysisManager<llvm::Module>&) 
(/home/jayfoad2/llvm-release/bin/opt+0x5d3fab4)
  #26 0x0000000003dc9b1b llvm::runPassPipeline(llvm::StringRef, llvm::Module&, 
llvm::TargetMachine*, llvm::TargetLibraryInfoImpl*, llvm::ToolOutputFile*, 
llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::StringRef, 
llvm::ArrayRef<llvm::PassPlugin>, llvm::opt_tool::OutputKind, 
llvm::opt_tool::VerifierKind, bool, bool, bool, bool, bool, bool) 
(/home/jayfoad2/llvm-release/bin/opt+0x3dc9b1b)
  #27 0x0000000003dd9149 main (/home/jayfoad2/llvm-release/bin/opt+0x3dd9149)
  #28 0x00007fdb0be29d90 __libc_start_call_main 
./csu/../sysdeps/nptl/libc_start_call_main.h:58:16
  #29 0x00007fdb0be29e40 call_init ./csu/../csu/libc-start.c:128:20
  #30 0x00007fdb0be29e40 __libc_start_main ./csu/../csu/libc-start.c:379:5
  #31 0x0000000003dc2ee5 _start (/home/jayfoad2/llvm-release/bin/opt+0x3dc2ee5)
  Segmentation fault (core dumped)


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D149776

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

Reply via email to