<html>
<head>
<base href="http://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 --- - comp fail when CFL is turned on"
href="http://llvm.org/bugs/show_bug.cgi?id=20954">20954</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>comp fail when CFL is turned on
</td>
</tr>
<tr>
<th>Product</th>
<td>clang
</td>
</tr>
<tr>
<th>Version</th>
<td>trunk
</td>
</tr>
<tr>
<th>Hardware</th>
<td>Macintosh
</td>
</tr>
<tr>
<th>OS</th>
<td>All
</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>LLVM Codegen
</td>
</tr>
<tr>
<th>Assignee</th>
<td>unassignedclangbugs@nondot.org
</td>
</tr>
<tr>
<th>Reporter</th>
<td>ghoflehner@apple.com
</td>
</tr>
<tr>
<th>CC</th>
<td>llvmbugs@cs.uiuc.edu
</td>
</tr>
<tr>
<th>Classification</th>
<td>Unclassified
</td>
</tr></table>
<p>
<div>
<pre>Created <span class=""><a href="attachment.cgi?id=13045" name="attach_13045" title="llvm ir for CINT2006/462.libquantum, function quantum_unbounded_toffoli(...)">attachment 13045</a> <a href="attachment.cgi?id=13045&action=edit" title="llvm ir for CINT2006/462.libquantum, function quantum_unbounded_toffoli(...)">[details]</a></span>
llvm ir for CINT2006/462.libquantum, function quantum_unbounded_toffoli(...)
Compile the attached test case on trunk
opt -O3 -use-cfl-aa -use-cfl-aa-in-codegen cfl_bug.ll -S
The reason is incomplete llvm ir after loop-closed ssa pass. My guess is the
variable argument list exposes a hole in the algorithm.
Backtrace:
UNREACHABLE executed at ./llvm/lib/Analysis/CFLAliasAnalysis.cpp:256!
0 opt 0x0000000110e728a8 void
std::__1::seed_seq::generate<unsigned int*>(unsigned int*, unsigned int*) +
11672
1 opt 0x0000000110e72dbb void
std::__1::seed_seq::generate<unsigned int*>(unsigned int*, unsigned int*) +
12971
2 libsystem_platform.dylib 0x00007fff8a4445aa _sigtramp + 26
3 opt 0x0000000110b29814
std::__1::__tree<std::__1::pair<llvm::Value*, std::__1::pair<llvm::Value*,
llvm::PHINode*> >, std::__1::__map_value_compare<llvm::Value*,
std::__1::pair<llvm::Value*, llvm::PHINode*>, std::__1::less<llvm::Value*>,
true>, std::__1::allocator<std::__1::pair<llvm::Value*,
std::__1::pair<llvm::Value*, llvm::PHINode*> > >
<span class="quote">>::destroy(std::__1::__tree_node<std::__1::pair<llvm::Value*,</span >
std::__1::pair<llvm::Value*, llvm::PHINode*> >, void*>*) + 23332
4 opt 0x0000000110e72b66 void
std::__1::seed_seq::generate<unsigned int*>(unsigned int*, unsigned int*) +
12374
5 opt 0x0000000110e5e6aa void*
llvm::object_creator<llvm::StringMap<void*, llvm::MallocAllocator> >() + 3450
6 opt 0x0000000110b744ec llvm::raw_ostream&
llvm::WriteGraph<llvm::Function const*>(llvm::raw_ostream&, llvm::Function
const* const&, bool, llvm::Twine const&) + 18284
7 opt 0x0000000110b7439d llvm::raw_ostream&
llvm::WriteGraph<llvm::Function const*>(llvm::raw_ostream&, llvm::Function
const* const&, bool, llvm::Twine const&) + 17949
8 opt 0x0000000110b71abc llvm::raw_ostream&
llvm::WriteGraph<llvm::Function const*>(llvm::raw_ostream&, llvm::Function
const* const&, bool, llvm::Twine const&) + 7484
9 opt 0x0000000110b7134a llvm::raw_ostream&
llvm::WriteGraph<llvm::Function const*>(llvm::raw_ostream&, llvm::Function
const* const&, bool, llvm::Twine const&) + 5578
10 opt 0x0000000110b5718b llvm::Pass*
llvm::callDefaultCtor<llvm::AssumptionTracker>() + 16155
11 opt 0x0000000110b5599e llvm::Pass*
llvm::callDefaultCtor<llvm::AssumptionTracker>() + 10030
12 opt 0x0000000110b53c39 llvm::Pass*
llvm::callDefaultCtor<llvm::AssumptionTracker>() + 2505
13 opt 0x0000000110b4b350 std::__1::__tree<llvm::CallSite,
std::__1::less<llvm::CallSite>, std::__1::allocator<llvm::CallSite>
<span class="quote">>::__insert_unique(llvm::CallSite const&) + 8816</span >
14 opt 0x0000000110b4ba71 std::__1::__tree<llvm::CallSite,
std::__1::less<llvm::CallSite>, std::__1::allocator<llvm::CallSite>
<span class="quote">>::__insert_unique(llvm::CallSite const&) + 10641</span >
15 opt 0x0000000110b4bf8e std::__1::__tree<llvm::CallSite,
std::__1::less<llvm::CallSite>, std::__1::allocator<llvm::CallSite>
<span class="quote">>::__insert_unique(llvm::CallSite const&) + 11950</span >
16 opt 0x0000000110b4c23b std::__1::__tree<llvm::CallSite,
std::__1::less<llvm::CallSite>, std::__1::allocator<llvm::CallSite>
<span class="quote">>::__insert_unique(llvm::CallSite const&) + 12635</span >
17 opt 0x0000000110b4c634 std::__1::__tree<llvm::CallSite,
std::__1::less<llvm::CallSite>, std::__1::allocator<llvm::CallSite>
<span class="quote">>::__insert_unique(llvm::CallSite const&) + 13652</span >
18 opt 0x0000000110b4c69b std::__1::__tree<llvm::CallSite,
std::__1::less<llvm::CallSite>, std::__1::allocator<llvm::CallSite>
<span class="quote">>::__insert_unique(llvm::CallSite const&) + 13755</span >
19 opt 0x0000000110936535 unsigned long
std::__1::__tree<llvm::AssertingVH<llvm::BasicBlock>,
std::__1::less<llvm::AssertingVH<llvm::BasicBlock> >,
std::__1::allocator<llvm::AssertingVH<llvm::BasicBlock> >
<span class="quote">>::__erase_unique<llvm::AssertingVH<llvm::BasicBlock>
>(llvm::AssertingVH<llvm::BasicBlock> const&) + 5253</span >
20 opt 0x0000000110be1f26 llvm::Pass*
llvm::callDefaultCtor<llvm::LoopInfo>() + 3462
21 opt 0x0000000110e02ccb void*
llvm::object_creator<llvm::LeakDetectorImpl<void> >() + 25659
22 opt 0x0000000110b334a7
std::__1::__tree<std::__1::pair<llvm::Function const*, llvm::CallGraphNode*>,
std::__1::__map_value_compare<llvm::Function const*, llvm::CallGraphNode*,
std::__1::less<llvm::Function const*>, true>,
std::__1::allocator<std::__1::pair<llvm::Function const*, llvm::CallGraphNode*>
<span class="quote">> >::destroy(std::__1::__tree_node<std::__1::pair<llvm::Function const*,</span >
llvm::CallGraphNode*>, void*>*) + 4151
23 opt 0x0000000110e03539 void*
llvm::object_creator<llvm::LeakDetectorImpl<void> >() + 27817
24 opt 0x0000000110e0394d void*
llvm::object_creator<llvm::LeakDetectorImpl<void> >() + 28861
25 opt 0x000000010fec5445 void
std::__1::vector<llvm::scc_iterator<llvm::Function*,
llvm::GraphTraits<llvm::Function*> >::StackElement,
std::__1::allocator<llvm::scc_iterator<llvm::Function*,
llvm::GraphTraits<llvm::Function*> >::StackElement>
<span class="quote">>::__push_back_slow_path<llvm::scc_iterator<llvm::Function*,</span >
llvm::GraphTraits<llvm::Function*>
<span class="quote">>::StackElement>(llvm::scc_iterator<llvm::Function*,</span >
llvm::GraphTraits<llvm::Function*> >::StackElement&&) + 7077
26 libdyld.dylib 0x00007fff8a73f5fd start + 1</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>