[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