Skip to content

UNREACHABLE executed at llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp:5726! #44924

@pkubaj

Description

@pkubaj
Bugzilla Link 45579
Resolution FIXED
Resolved on Jun 26, 2020 13:51
Version 10.0
OS FreeBSD
Blocks #44654
CC @adalava,@topperc,@DimitryAndric,@RKSimon,@tstellar
Fixed by commit(s) 3906ae3 76ceebb

Extended Description

FreeBSD head, LLVM 10.0.0, powerpc, powerpcspe and powerpc64 architectures

Reduced test case:
double a(double);
template class b;
template <typename c, typename i> void operator==(i &, c);
template <> class b {
public:
b(double = 0.0);
};
b d;
double e;
template <class f, class g> void h(f m, g) {
b j;
m == d;
double k = a(0);
j = e / 2 + (m - .5) * k - m;
}
double l() { h(.5, 0); }

Compile with:
/usr/bin/c++ -cc1 -triple powerpc-unknown-freebsd13.0 -emit-obj -ffast-math -O1 -fgnuc-version=4.2.1 Lgamma-106832.cpp

Result:
Unknown code
UNREACHABLE executed at /usr/src/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp:5726!
Stack dump:
0. Program arguments: /usr/bin/c++ -cc1 -triple powerpc-unknown-freebsd13.0 -emit-obj -ffast-math -O1 -fgnuc-version=4.2.1 Lgamma-106832.cpp

  1.  <eof> parser at end of file
    
  2.  Code generation
    
  3.  Running pass 'Function Pass Manager' on module 'Lgamma-106832.cpp'.
    
  4.  Running pass 'PowerPC DAG->DAG Pattern Instruction Selection' on function '@_Z1hIdiEvT_T0_'
    

#​0 0x0000000013bada64 PrintStackTrace /usr/src/contrib/llvm-project/llvm/lib/Support/Unix/Signals.inc:564:13
#​1 0x0000000013bab12c RunSignalHandlers /usr/src/contrib/llvm-project/llvm/lib/Support/Signals.cpp:67:5
#​2 0x0000000013bae86c SignalHandler /usr/src/contrib/llvm-project/llvm/lib/Support/Unix/Signals.inc:0:3
#​3 0x0000000815734748 handle_signal /usr/src/lib/libthr/thread/thr_sig.c:303:3
Abort trap (core dumped)

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions