[LLVMbugs] [Bug 20954] New: comp fail when CFL is turned on

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Mon Sep 15 17:47:55 PDT 2014


http://llvm.org/bugs/show_bug.cgi?id=20954

            Bug ID: 20954
           Summary: comp fail when CFL is turned on
           Product: clang
           Version: trunk
          Hardware: Macintosh
                OS: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: LLVM Codegen
          Assignee: unassignedclangbugs at nondot.org
          Reporter: ghoflehner at apple.com
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified

Created attachment 13045
  --> http://llvm.org/bugs/attachment.cgi?id=13045&action=edit
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*> > >
>::destroy(std::__1::__tree_node<std::__1::pair<llvm::Value*,
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>
>::__insert_unique(llvm::CallSite const&) + 8816
14 opt                      0x0000000110b4ba71 std::__1::__tree<llvm::CallSite,
std::__1::less<llvm::CallSite>, std::__1::allocator<llvm::CallSite>
>::__insert_unique(llvm::CallSite const&) + 10641
15 opt                      0x0000000110b4bf8e std::__1::__tree<llvm::CallSite,
std::__1::less<llvm::CallSite>, std::__1::allocator<llvm::CallSite>
>::__insert_unique(llvm::CallSite const&) + 11950
16 opt                      0x0000000110b4c23b std::__1::__tree<llvm::CallSite,
std::__1::less<llvm::CallSite>, std::__1::allocator<llvm::CallSite>
>::__insert_unique(llvm::CallSite const&) + 12635
17 opt                      0x0000000110b4c634 std::__1::__tree<llvm::CallSite,
std::__1::less<llvm::CallSite>, std::__1::allocator<llvm::CallSite>
>::__insert_unique(llvm::CallSite const&) + 13652
18 opt                      0x0000000110b4c69b std::__1::__tree<llvm::CallSite,
std::__1::less<llvm::CallSite>, std::__1::allocator<llvm::CallSite>
>::__insert_unique(llvm::CallSite const&) + 13755
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> >
>::__erase_unique<llvm::AssertingVH<llvm::BasicBlock>
>(llvm::AssertingVH<llvm::BasicBlock> const&) + 5253
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*>
> >::destroy(std::__1::__tree_node<std::__1::pair<llvm::Function const*,
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>
>::__push_back_slow_path<llvm::scc_iterator<llvm::Function*,
llvm::GraphTraits<llvm::Function*>
>::StackElement>(llvm::scc_iterator<llvm::Function*,
llvm::GraphTraits<llvm::Function*> >::StackElement&&) + 7077
26 libdyld.dylib            0x00007fff8a73f5fd start + 1

-- 
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/20140916/6d09f6e8/attachment.html>


More information about the llvm-bugs mailing list