[PATCH] LLVM codegen test cases updated to check instructions generated when VSX is activated on Power
Bill Schmidt
wschmidt at linux.vnet.ibm.com
Tue Oct 14 18:34:05 PDT 2014
The patch itself is ok, but when I apply it to current trunk it exposes a crash in the VSX FMA mutation pass. If you can reproduce, please open a bug at llvm.org/bugs (against libraries/Backend:PowerPC). Crash follows:
/home/wschmidt/llvm/build/llvm-test/Release+Asserts/bin/llc < /home/wschmidt/ll\
vm/llvm-test/test/CodeGen/PowerPC/recipest.ll -mtriple=powerpc64-unknown-linux-\
gnu -mcpu=pwr7 -mattr=+vsx | /home/wschmidt/llvm/build/llvm-test/Release+Assert\
s/bin/FileCheck -check-prefix=CHECK-SAFE-VSX /home/wschmidt/llvm/llvm-test/test\
/CodeGen/PowerPC/recipest.ll
--
Exit Code: 2
Command Output (stderr):
--
llc: /home/wschmidt/llvm/llvm-test/lib/CodeGen/LiveInterval.cpp:299: llvm::Live\
Range::Segment* llvm::LiveRange::addSegmentFrom(llvm::LiveRange::Segment, llvm:\
:LiveRange::iterator): Assertion `B->end <= Start && "Cannot overlap two segmen\
ts with differing ValID's" " (did you def the same reg twice in a MachineInstr?\
)"' failed.
#0 0x1135fbac llvm::sys::PrintStackTrace(_IO_FILE*) (/home/wschmidt/llvm/build/\
llvm-test/Release+Asserts/bin/llc+0x1135fbac)
#1 0x1135fe44 PrintStackTraceSignalHandler(void*) (/home/wschmidt/llvm/build/ll\
vm-test/Release+Asserts/bin/llc+0x1135fe44)
#2 0x1135d754 SignalHandler(int) (/home/wschmidt/llvm/build/llvm-test/Release+A\
sserts/bin/llc+0x1135d754)
0 llc 0x000000001135fbac llvm::sys::PrintStackTrace(_IO_FILE*) + 92
1 llc 0x000000001135fe44
2 llc 0x000000001135d754
3 0x00003fff8fd00478 __kernel_sigtramp_rt64 + 0
4 libc.so.6 0x00003fff8f820a88 gsignal + 72
5 libc.so.6 0x00003fff8f82693c abort + 620
6 libc.so.6 0x00003fff8f8165b4
7 libc.so.6 0x00003fff8f8166a4 __assert_fail + 100
8 llc 0x0000000010c709f0 llvm::LiveRange::addSegmentFrom(llvm::LiveRange\
::Segment, llvm::LiveRange::Segment*) + 912
9 llc 0x0000000010845f34
10 llc 0x0000000010cdd178 llvm::MachineFunctionPass::runOnFunction(llvm::\
Function&) + 280
11 llc 0x00000000112cd880 llvm::FPPassManager::runOnFunction(llvm::Functi\
on&) + 640
12 llc 0x00000000112cdeec llvm::FPPassManager::runOnModule(llvm::Module&)\
+ 76
13 llc 0x00000000112ce308 llvm::legacy::PassManagerImpl::run(llvm::Module\
&) + 968
14 llc 0x00000000112ce5bc llvm::legacy::PassManager::run(llvm::Module&) +\
28
15 llc 0x0000000010243408
16 llc 0x000000001021bb10 main + 528
17 libc.so.6 0x00003fff8f804d00
18 libc.so.6 0x00003fff8f804ef8 __libc_start_main + 200
Stack dump:
0. Program arguments: /home/wschmidt/llvm/build/llvm-test/Release+Asserts/\
bin/llc -mtriple=powerpc64-unknown-linux-gnu -mcpu=pwr7 -enable-unsafe-fp-math \
-mattr=+vsx
1. Running pass 'Function Pass Manager' on module '<stdin>'.
2. Running pass 'PowerPC VSX FMA Mutation' on function '@foo3'
FileCheck error: '-' is empty.
http://reviews.llvm.org/D5759
More information about the llvm-commits
mailing list