[llvm-bugs] [Bug 24783] New: Assertion `New->getType() == getType() && "replaceAllUses of value with new value of different type!"' failed.

via llvm-bugs llvm-bugs at lists.llvm.org
Fri Sep 11 04:09:00 PDT 2015


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

            Bug ID: 24783
           Summary: Assertion `New->getType() == getType() &&
                    "replaceAllUses of value with new value of different
                    type!"' failed.
           Product: new-bugs
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: new bugs
          Assignee: unassignedbugs at nondot.org
          Reporter: octoploid at yandex.com
                CC: llvm-bugs at lists.llvm.org
    Classification: Unclassified

trippels at gcc2-power8 tmp % cat test.ii
class A {
public:
  typedef A *const_iterator;
  const_iterator m_fn1() { return this; }
  const_iterator end___trans_tmp_1;
  const_iterator m_fn2() {
    end___trans_tmp_1 = this;
    return end___trans_tmp_1 + 1;
  }
};
inline int fn1(A &) { return 0; }
class buffers_iterator {
public:
  static buffers_iterator m_fn3() {
    A a;
    buffers_iterator b;
    b.current_ = a.m_fn1();
    b.end_ = a.m_fn2();
    while (b.current_ != b.end_) {
      A c = *b.current_;
      fn1(c);
      ++b.current_;
    }
    return b;
  }
  A::const_iterator current_;
  A::const_iterator end_;
  int position_;
} d = buffers_iterator::m_fn3();

trippels at gcc2-power8 tmp % clang++ -c -O2 test.ii -fno-crash-diagnostics
clang-3.8: /home/trippels/llvm/lib/IR/Value.cpp:356: void
llvm::Value::replaceAllUsesWith(llvm::Value *): Assertion `New->getType() ==
getType() && "replaceAllUses of value with new value of different type!"'
failed.
#0 0x10cf162c llvm::sys::PrintStackTrace(llvm::raw_ostream&)
(/home/trippels/llvm-install/bin/clang-3.8+0x10cf162c)
#1 0x10cf2ab8 PrintStackTraceSignalHandler(void*)
(/home/trippels/llvm-install/bin/clang-3.8+0x10cf2ab8)
#2 0x10cf0824 llvm::sys::RunSignalHandlers()
(/home/trippels/llvm-install/bin/clang-3.8+0x10cf0824)
#3 0x10cf2ee8 SignalHandler(int)
(/home/trippels/llvm-install/bin/clang-3.8+0x10cf2ee8)
0  clang-3.8 0x0000000010cf162c llvm::sys::PrintStackTrace(llvm::raw_ostream&)
+ 124
1  clang-3.8 0x0000000010cf2ab8
2  clang-3.8 0x0000000010cf0824 llvm::sys::RunSignalHandlers() + 132
3  clang-3.8 0x0000000010cf2ee8
4            0x00003fffaf060478 __kernel_sigtramp_rt64 + 0
5  libc.so.6 0x00003fffaea3d978 gsignal + 72
6  libc.so.6 0x00003fffaea3ff7c abort + 684
7  libc.so.6 0x00003fffaea33544
8  libc.so.6 0x00003fffaea33634 __assert_fail + 100
9  clang-3.8 0x000000001092d910 llvm::Value::replaceAllUsesWith(llvm::Value*) +
1072
10 clang-3.8 0x0000000010b8d5f8
11 clang-3.8 0x00000000116b439c
llvm::LPPassManager::runOnFunction(llvm::Function&) + 1404
12 clang-3.8 0x00000000108ed704
llvm::FPPassManager::runOnFunction(llvm::Function&) + 804
13 clang-3.8 0x000000001168abdc
14 clang-3.8 0x00000000108ee308
llvm::legacy::PassManagerImpl::run(llvm::Module&) + 1304
15 clang-3.8 0x00000000108eeb34 llvm::legacy::PassManager::run(llvm::Module&) +
36
16 clang-3.8 0x0000000010e4f9a0
clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::CodeGenOptions
const&, clang::TargetOptions const&, clang::LangOptions const&,
llvm::StringRef, llvm::Module*, clang::BackendAction, llvm::raw_pwrite_stream*)
+ 8672
17 clang-3.8 0x0000000011530dc8
18 clang-3.8 0x0000000011960ab8 clang::ParseAST(clang::Sema&, bool, bool) + 824
19 clang-3.8 0x000000001121a7c4 clang::ASTFrontendAction::ExecuteAction() + 228
20 clang-3.8 0x000000001152f71c clang::CodeGenAction::ExecuteAction() + 284
21 clang-3.8 0x0000000011219f78 clang::FrontendAction::Execute() + 152
22 clang-3.8 0x00000000111e4a40
clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 1168
23 clang-3.8 0x00000000112c2298
clang::ExecuteCompilerInvocation(clang::CompilerInstance*) + 4152
24 clang-3.8 0x000000001027878c cc1_main(llvm::ArrayRef<char const*>, char
const*, void*) + 1436
25 clang-3.8 0x0000000010276f04 main + 13764
26 libc.so.6 0x00003fffaea22920
27 libc.so.6 0x00003fffaea22b34 __libc_start_main + 196
Stack dump:
0.      Program arguments: /home/trippels/llvm-install/bin/clang-3.8 -cc1
-triple powerpc64le-unknown-linux-gnu -emit-obj -disable-free -main-file-name
test.ii -mrelocation-model static -mthread-model posix -mdisable-fp-elim
-fmath-errno -masm-verbose -mconstructor-aliases -fuse-init-array -target-cpu
ppc64le -target-abi elfv2 -dwarf-column-info -coverage-file
/home/trippels/tmp/test.ii -resource-dir
/home/trippels/llvm-install/bin/../lib/clang/3.8.0 -O2 -fdeprecated-macro
-fdebug-compilation-dir /home/trippels/tmp -ferror-limit 19 -fmessage-length
174 -mstackrealign -fno-signed-char -fobjc-runtime=gcc -fcxx-exceptions
-fexceptions -fdiagnostics-show-option -fcolor-diagnostics -vectorize-loops
-vectorize-slp -o test.o -x c++-cpp-output test.ii 
1.      <eof> parser at end of file
2.      Per-module optimization passes
3.      Running pass 'CallGraph Pass Manager' on module 'test.ii'.
4.      Running pass 'Loop Pass Manager' on function '@__cxx_global_var_init'
5.      Running pass 'Induction Variable Simplification' on basic block
'%while.body.i'
clang-3.8: error: unable to execute command: Aborted (core dumped)
clang-3.8: error: clang frontend command failed due to signal (use -v to see
invocation)

-- 
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/20150911/79a502af/attachment.html>


More information about the llvm-bugs mailing list