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

            Bug ID: 30499
           Summary: UNREACHABLE executed at
                    ../include/llvm/Analysis/MemoryLocation.h:81
           Product: new-bugs
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: new bugs
          Assignee: unassignedb...@nondot.org
          Reporter: h...@chromium.org
                CC: llvm-bugs@lists.llvm.org
    Classification: Unclassified

With trunk Clang:

$ cat /tmp/a.ii
long fn1() __attribute__((__pure__));
void fn2() {
  char *a;
  int b;
  *a = 0;
  if (b)
    b = fn1();
  *a = 0;
}

$ bin/clang -cc1 -triple x86_64-unknown-linux-gnu -emit-obj -target-cpu x86-64
-O2 -std=gnu++11 /tmp/a.ii

unsupported memory instruction
UNREACHABLE executed at ../include/llvm/Analysis/MemoryLocation.h:81!
#0 0x0000000001cb3b55 llvm::sys::PrintStackTrace(llvm::raw_ostream&)
(bin/clang+0x1cb3b55)
#1 0x0000000001cb1afe llvm::sys::RunSignalHandlers() (bin/clang+0x1cb1afe)
#2 0x0000000001cb1c62 SignalHandler(int) (bin/clang+0x1cb1c62)
#3 0x00007fc0f7010330 __restore_rt
(/lib/x86_64-linux-gnu/libpthread.so.0+0x10330)
#4 0x00007fc0f5e04c37 gsignal
/build/eglibc-oGUzwX/eglibc-2.19/signal/../nptl/sysdeps/unix/sysv/linux/raise.c:56:0
#5 0x00007fc0f5e08028 abort
/build/eglibc-oGUzwX/eglibc-2.19/stdlib/abort.c:91:0
#6 0x0000000001c6b075 (bin/clang+0x1c6b075)
#7 0x0000000001b5552b (anonymous
namespace)::GVNHoist::hasEHOrLoadsOnPath(llvm::Instruction const*,
llvm::MemoryDef*, int&) (bin/clang+0x1b5552b)
#8 0x0000000001b56e0c (anonymous
namespace)::GVNHoist::safeToHoistLdSt(llvm::Instruction const*,
llvm::Instruction const*, llvm::MemoryUseOrDef*, (anonymous
namespace)::GVNHoist::InsKind, int&) [clone .constprop.453]
(bin/clang+0x1b56e0c)
#9 0x0000000001b5729c (anonymous
namespace)::GVNHoist::computeInsertionPoints(llvm::DenseMap<std::pair<unsigned
int, unsigned int>, llvm::SmallVector<llvm::Instruction*, 4u>,
llvm::DenseMapInfo<std::pair<unsigned int, unsigned int> >,
llvm::detail::DenseMapPair<std::pair<unsigned int, unsigned int>,
llvm::SmallVector<llvm::Instruction*, 4u> > > const&,
llvm::SmallVector<std::pair<llvm::BasicBlock*,
llvm::SmallVector<llvm::Instruction*, 4u> >, 4u>&, (anonymous
namespace)::GVNHoist::InsKind) [clone .constprop.446] (bin/clang+0x1b5729c)
#10 0x0000000001b57f07 (anonymous namespace)::GVNHoist::run(llvm::Function&)
(bin/clang+0x1b57f07)
#11 0x0000000001b5921b (anonymous
namespace)::GVNHoistLegacyPass::runOnFunction(llvm::Function&)
(bin/clang+0x1b5921b)
#12 0x000000000192db03 llvm::FPPassManager::runOnFunction(llvm::Function&)
(bin/clang+0x192db03)
#13 0x000000000192dc67
llvm::legacy::FunctionPassManagerImpl::run(llvm::Function&)
(bin/clang+0x192dc67)
#14 0x000000000192dd34 llvm::legacy::FunctionPassManager::run(llvm::Function&)
(bin/clang+0x192dd34)
#15 0x0000000001e142d2 clang::EmitBackendOutput(clang::DiagnosticsEngine&,
clang::CodeGenOptions const&, clang::TargetOptions const&, clang::LangOptions
const&, llvm::DataLayout const&, llvm::Module*, clang::BackendAction,
std::unique_ptr<llvm::raw_pwrite_stream,
std::default_delete<llvm::raw_pwrite_stream> >) (bin/clang+0x1e142d2)
#16 0x00000000024165b8
clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&)
(bin/clang+0x24165b8)
#17 0x00000000027ed732 clang::ParseAST(clang::Sema&, bool, bool)
(bin/clang+0x27ed732)
#18 0x00000000024169ae clang::CodeGenAction::ExecuteAction()
(bin/clang+0x24169ae)
#19 0x0000000002129456 clang::FrontendAction::Execute() (bin/clang+0x2129456)
#20 0x0000000002103d2e
clang::CompilerInstance::ExecuteAction(clang::FrontendAction&)
(bin/clang+0x2103d2e)
#21 0x00000000021b0ec6
clang::ExecuteCompilerInvocation(clang::CompilerInstance*)
(bin/clang+0x21b0ec6)
#22 0x0000000000a93338 cc1_main(llvm::ArrayRef<char const*>, char const*,
void*) (bin/clang+0xa93338)
#23 0x0000000000a3be81 main (bin/clang+0xa3be81)
#24 0x00007fc0f5deff45 __libc_start_main
/build/eglibc-oGUzwX/eglibc-2.19/csu/libc-start.c:321:0
#25 0x0000000000a8f35e _start (bin/clang+0xa8f35e)
Stack dump:
0.      Program arguments: bin/clang -cc1 -triple x86_64-unknown-linux-gnu
-emit-obj -target-cpu x86-64 -O2 -std=gnu++11 /tmp/a.ii 
1.      <eof> parser at end of file
2.      Per-function optimization
3.      Running pass 'Early GVN Hoisting of Expressions' on function '@_Z3fn2v'
Aborted (core dumped)

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to