<html>
<head>
<base href="https://llvm.org/bugs/" />
</head>
<body><table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Bug ID</th>
<td><a class="bz_bug_link
bz_status_NEW "
title="NEW --- - PowerPC64: SEGV in llvm::LiveRange::join"
href="https://llvm.org/bugs/show_bug.cgi?id=26706">26706</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>PowerPC64: SEGV in llvm::LiveRange::join
</td>
</tr>
<tr>
<th>Product</th>
<td>libraries
</td>
</tr>
<tr>
<th>Version</th>
<td>trunk
</td>
</tr>
<tr>
<th>Hardware</th>
<td>PC
</td>
</tr>
<tr>
<th>OS</th>
<td>Linux
</td>
</tr>
<tr>
<th>Status</th>
<td>NEW
</td>
</tr>
<tr>
<th>Severity</th>
<td>normal
</td>
</tr>
<tr>
<th>Priority</th>
<td>P
</td>
</tr>
<tr>
<th>Component</th>
<td>Backend: PowerPC
</td>
</tr>
<tr>
<th>Assignee</th>
<td>unassignedbugs@nondot.org
</td>
</tr>
<tr>
<th>Reporter</th>
<td>anton@samba.org
</td>
</tr>
<tr>
<th>CC</th>
<td>llvm-bugs@lists.llvm.org
</td>
</tr>
<tr>
<th>Classification</th>
<td>Unclassified
</td>
</tr></table>
<p>
<div>
<pre>The following testcase:
long a;
int b, c, d;
void fn1(void)
{
b = 0;
for (; b <= 49; b++) {
long *e = &c;
a ^= c;
*e = d;
}
}
Built with clang -Os -S testcase.c
SEGVs in:
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x3fffb7ff7e20 (LWP 42763)]
llvm::LiveRange::join (this=0x1298a630, Other=...,
LHSValNoAssignments=<optimised out>, RHSValNoAssignments=0x3fffffffbeb0,
NewVNInfo=...) at /home/anton/llvm/lib/CodeGen/LiveInterval.cpp:635
635 S.valno = NewVNInfo[RHSValNoAssignments[S.valno->id]];
(gdb) backtrace
#0 llvm::LiveRange::join (this=0x1298a630, Other=...,
LHSValNoAssignments=<optimised out>, RHSValNoAssignments=0x3fffffffbeb0,
NewVNInfo=...) at /home/anton/llvm/lib/CodeGen/LiveInterval.cpp:635
#1 0x0000000010831b04 in (anonymous
namespace)::RegisterCoalescer::joinVirtRegs (this=0x1290b870, CP=...) at
/home/anton/llvm/lib/CodeGen/RegisterCoalescer.cpp:2679
#2 0x000000001083208c in (anonymous
namespace)::RegisterCoalescer::joinIntervals (CP=..., this=0x1290b870) at
/home/anton/llvm/lib/CodeGen/RegisterCoalescer.cpp:2699
#3 (anonymous namespace)::RegisterCoalescer::joinCopy (Again=<synthetic
pointer>, CopyMI=0x129734f0, this=0x1290b870) at
/home/anton/llvm/lib/CodeGen/RegisterCoalescer.cpp:1414
#4 (anonymous namespace)::RegisterCoalescer::copyCoalesceWorkList
(this=0x1290b870, CurrList=...) at
/home/anton/llvm/lib/CodeGen/RegisterCoalescer.cpp:2770
#5 0x0000000010834674 in (anonymous
namespace)::RegisterCoalescer::copyCoalesceInMBB (MBB=<optimised out>,
this=<optimised out>) at
/home/anton/llvm/lib/CodeGen/RegisterCoalescer.cpp:2889
#6 (anonymous namespace)::RegisterCoalescer::joinAllIntervals
(this=0x1290b870) at /home/anton/llvm/lib/CodeGen/RegisterCoalescer.cpp:2924
#7 (anonymous namespace)::RegisterCoalescer::runOnMachineFunction
(this=0x1290b870, fn=...) at
/home/anton/llvm/lib/CodeGen/RegisterCoalescer.cpp:2971
#8 0x00000000107a72b8 in llvm::MachineFunctionPass::runOnFunction
(this=0x1290b870, F=...) at
/home/anton/llvm/lib/CodeGen/MachineFunctionPass.cpp:43
#9 0x0000000010a4556c in llvm::FPPassManager::runOnFunction (this=0x128f95d0,
F=...) at /home/anton/llvm/lib/IR/LegacyPassManager.cpp:1550
#10 0x0000000010a45aac in llvm::FPPassManager::runOnModule (this=0x128f95d0,
M=...) at /home/anton/llvm/lib/IR/LegacyPassManager.cpp:1571
#11 0x0000000010a45054 in (anonymous namespace)::MPPassManager::runOnModule
(M=..., this=0x128d9af0) at /home/anton/llvm/lib/IR/LegacyPassManager.cpp:1627
#12 llvm::legacy::PassManagerImpl::run (this=0x128d9640, M=...) at
/home/anton/llvm/lib/IR/LegacyPassManager.cpp:1730
#13 0x0000000010a452dc in llvm::legacy::PassManager::run (this=<optimised out>,
M=...) at /home/anton/llvm/lib/IR/LegacyPassManager.cpp:1761
#14 0x0000000010f42bcc in (anonymous
namespace)::EmitAssemblyHelper::EmitAssembly (OS=0x128741e0, Action=<optimised
out>, this=0x3fffffffc9c8) at
/home/anton/llvm/tools/clang/lib/CodeGen/BackendUtil.cpp:698
#15 clang::EmitBackendOutput (Diags=..., CGOpts=..., TOpts=..., LOpts=...,
TDesc=..., M=0x12874990, Action=<optimised out>, OS=0x128741e0) at
/home/anton/llvm/tools/clang/lib/CodeGen/BackendUtil.cpp:710
#16 0x0000000011521974 in clang::BackendConsumer::HandleTranslationUnit
(this=0x12874380, C=...) at
/home/anton/llvm/tools/clang/lib/CodeGen/CodeGenAction.cpp:178
#17 0x000000001183c8a8 in clang::ParseAST (S=..., PrintStats=<optimised out>,
SkipFunctionBodies=<optimised out>) at
/home/anton/llvm/tools/clang/lib/Parse/ParseAST.cpp:168
#18 0x000000001125cfd8 in clang::ASTFrontendAction::ExecuteAction
(this=0x12841720) at
/home/anton/llvm/tools/clang/lib/Frontend/FrontendAction.cpp:539
#19 0x00000000115228f4 in clang::CodeGenAction::ExecuteAction (this=<optimised
out>) at /home/anton/llvm/tools/clang/lib/CodeGen/CodeGenAction.cpp:835
#20 0x000000001125e8b8 in clang::FrontendAction::Execute (this=<optimised out>)
at /home/anton/llvm/tools/clang/lib/Frontend/FrontendAction.cpp:439
#21 0x0000000011231720 in clang::CompilerInstance::ExecuteAction
(this=0x128401a0, Act=...) at
/home/anton/llvm/tools/clang/lib/Frontend/CompilerInstance.cpp:840
#22 0x00000000112efbc8 in clang::ExecuteCompilerInvocation (Clang=0x128401a0)
at
/home/anton/llvm/tools/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp:227
#23 0x0000000010496208 in cc1_main (Argv=..., Argv0=0x3ffffffff447
"/home/anton/llvm.install/bin/clang-3.9", MainAddr=0x104941e0
<GetExecutablePath[abi:cxx11](char const*, bool)>)
at /home/anton/llvm/tools/clang/tools/driver/cc1_main.cpp:116
#24 0x000000001046adb8 in ExecuteCC1Tool (Tool=..., argv=...) at
/home/anton/llvm/tools/clang/tools/driver/driver.cpp:301
#25 main (argc_=<optimised out>, argv_=<optimised out>) at
/home/anton/llvm/tools/clang/tools/driver/driver.cpp:366</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are on the CC list for the bug.</li>
</ul>
</body>
</html>