[llvm-bugs] [Bug 26353] New: llc aborts with "Unknown mismatch!"
via llvm-bugs
llvm-bugs at lists.llvm.org
Thu Jan 28 03:33:14 PST 2016
https://llvm.org/bugs/show_bug.cgi?id=26353
Bug ID: 26353
Summary: llc aborts with "Unknown mismatch!"
Product: new-bugs
Version: trunk
Hardware: PC
OS: All
Status: NEW
Severity: normal
Priority: P
Component: new bugs
Assignee: unassignedbugs at nondot.org
Reporter: snowkh at gmail.com
CC: llvm-bugs at lists.llvm.org
Classification: Unclassified
Created attachment 15738
--> https://llvm.org/bugs/attachment.cgi?id=15738&action=edit
IR code for crash
I found a crash in llc.
llvm version (HEAD on git as now):
commit e9abc8ca75bd65d7c25fc0e18a01daa5eaaf4d4b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: Thu Jan 28 09:45:01 2016 +0000
[X86][SSE] Move setTargetShuffleZeroElements closer to
getTargetShuffleMask. NFCI.
Keep target shuffle mask helper functions closer together.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@259034
91177308-0d34-0410-b5e6-96231b3b80d8
minimal reproducible case:
/* compiled with
`clang -target powerpc-unknown-eabispe -ffreestanding -c -nostdinc -fno-builtin
-mcpu=e500v2 -emit-llvm fail.c` .
clang not crashes, but `llc fail.bc` crashes.
*/
typedef union
{
struct
{
unsigned int hi;
unsigned int lo;
} i;
double d;
// float d;
} hexdouble;
void foo(){
hexdouble fpscr;
asm volatile ("mfspr %0, 512": "=r"(fpscr.d)); /* SPRN_SPEFSCR */
if (fpscr.i.lo & (1<<28))
{
fpscr.i.lo = fpscr.i.lo & !(1<<28);
}
}
stdout (with `llc fail.bc`):
Unknown mismatch!
UNREACHABLE executed at
/home/khwon/tmp/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp:236!
0 llc 0x0000000002476f8d
llvm::sys::PrintStackTrace(llvm::raw_ostream&) + 44
1 llc 0x00000000024772a2
2 llc 0x00000000024759ba llvm::sys::RunSignalHandlers() + 118
3 llc 0x0000000002476ab4
4 libpthread.so.0 0x00007fc9a6d60340
5 libc.so.6 0x00007fc9a61a1cc9 gsignal + 57
6 libc.so.6 0x00007fc9a61a50d8 abort + 328
7 llc 0x0000000002414cb1
8 llc 0x000000000229721c
9 llc 0x000000000229b157
llvm::RegsForValue::getCopyFromRegs(llvm::SelectionDAG&,
llvm::FunctionLoweringInfo&, llvm::SDLoc, llvm::SDValue&, llvm::SDValue*,
llvm::Value const*) const + 4209
10 llc 0x00000000022c4b6a
llvm::SelectionDAGBuilder::visitInlineAsm(llvm::ImmutableCallSite) + 11012
11 llc 0x00000000022c0d53
llvm::SelectionDAGBuilder::visitCall(llvm::CallInst const&) + 109
12 llc 0x000000000229d260 llvm::SelectionDAGBuilder::visit(unsigned
int, llvm::User const&) + 1376
13 llc 0x000000000229cc5c
llvm::SelectionDAGBuilder::visit(llvm::Instruction const&) + 140
14 llc 0x000000000232e731
llvm::SelectionDAGISel::SelectBasicBlock(llvm::ilist_iterator<llvm::Instruction
const>, llvm::ilist_iterator<llvm::Instruction const>, bool&) + 69
15 llc 0x0000000002331966
llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) + 2888
16 llc 0x000000000232d763
llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) + 1533
17 llc 0x000000000161e530
18 llc 0x0000000001cfc72b
llvm::MachineFunctionPass::runOnFunction(llvm::Function&) + 95
19 llc 0x0000000001ff3c26
llvm::FPPassManager::runOnFunction(llvm::Function&) + 290
20 llc 0x0000000001ff3db9
llvm::FPPassManager::runOnModule(llvm::Module&) + 97
21 llc 0x0000000001ff4154
22 llc 0x0000000001ff48a4
llvm::legacy::PassManagerImpl::run(llvm::Module&) + 256
23 llc 0x0000000001ff4ae5
llvm::legacy::PassManager::run(llvm::Module&) + 39
24 llc 0x0000000000d614d7
25 llc 0x0000000000d602aa main + 242
26 libc.so.6 0x00007fc9a618cec5 __libc_start_main + 245
27 llc 0x0000000000d5eb79
Stack dump:
0. Program arguments: ./llc fail.bc
1. Running pass 'Function Pass Manager' on module 'fail.bc'.
2. Running pass 'PowerPC DAG->DAG Pattern Instruction Selection' on function
'@foo'
--
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/20160128/68e9baad/attachment.html>
More information about the llvm-bugs
mailing list