[LLVMbugs] [Bug 6434] New: Blackfin DAG ISel Uses Singular Iterators
bugzilla-daemon at llvm.org
bugzilla-daemon at llvm.org
Fri Feb 26 08:00:59 PST 2010
http://llvm.org/bugs/show_bug.cgi?id=6434
Summary: Blackfin DAG ISel Uses Singular Iterators
Product: new-bugs
Version: trunk
Platform: PC
OS/Version: Linux
Status: NEW
Severity: enhancement
Priority: P5
Component: new bugs
AssignedTo: unassignedbugs at nondot.org
ReportedBy: greened at obbligato.org
CC: llvmbugs at cs.uiuc.edu
Created an attachment (id=4320)
--> (http://llvm.org/bugs/attachment.cgi?id=4320)
Patch to enable extra SelectionDAG checking
[Filing under new-bugs since there is no Blackfin codegen component.]
When applied to trunk and build in Debug+Checks mod, the attached patch causes
the Blackfin codegen to assert with an error about referencing a singular
iterator.
[x86_64-mod-par]: FAIL:
/ptmp/dag/llvm-project.modified/llvm/trunk/test/CodeGen/Blackfin/cmp64.ll
[x86_64-mod-par]: Failed with signal(SIGABRT) at line 1
[x86_64-mod-par]: while running: llc <
/ptmp/dag/llvm-project.modified/llvm/trunk/test/CodeGen/Blackfin/cmp64.ll
-march=bfin
[x86_64-mod-par]: /usr/include/c++/4.1.2/debug/safe_iterator.h:422:error:
attempt to compare
[x86_64-mod-par]: a singular iterator to a past-the-end iterator.
[x86_64-mod-par]:
[x86_64-mod-par]: Objects involved in the operation:
[x86_64-mod-par]: iterator "lhs" @ 0x0x7fff7dd0d988 {
[x86_64-mod-par]: type =
N11__gnu_debug14_Safe_iteratorIN10__gnu_norm20_List_const_iteratorIPN4llvm5SDUseEEEN15__gnu_debug_def4listIS5_SaIS5_EEEEE
(constant iterator);
[x86_64-mod-par]: state = singular;
[x86_64-mod-par]: references sequence with type
`N15__gnu_debug_def4listIPN4llvm5SDUseESaIS3_EEE' @ 0x0x7fff7dd0d988
[x86_64-mod-par]: }
[x86_64-mod-par]: iterator "rhs" @ 0x0x7fff7dd0d840 {
[x86_64-mod-par]: type =
N11__gnu_debug14_Safe_iteratorIN10__gnu_norm20_List_const_iteratorIPN4llvm5SDUseEEEN15__gnu_debug_def4listIS5_SaIS5_EEEEE
(constant iterator);
[x86_64-mod-par]: state = past-the-end;
[x86_64-mod-par]: references sequence with type
`N15__gnu_debug_def4listIPN4llvm5SDUseESaIS3_EEE' @ 0x0x7fff7dd0d840
[x86_64-mod-par]: }
[x86_64-mod-par]: 0 llc 0x0000000001c3025e
[x86_64-mod-par]: 1 llc 0x0000000001c3088e
[x86_64-mod-par]: 2 libc.so.6 0x00002b8e2d449c10
[x86_64-mod-par]: 3 libc.so.6 0x00002b8e2d449b95 gsignal + 53
[x86_64-mod-par]: 4 libc.so.6 0x00002b8e2d44af90 abort + 272
[x86_64-mod-par]: 5 libstdc++.so.6 0x00002b8e2d010dc7
__gnu_debug::_Error_formatter::_M_error() const + 471
[x86_64-mod-par]: 6 llc 0x0000000000eda007 bool
__gnu_debug::operator==<__gnu_norm::_List_const_iterator<llvm::SDUse*>,
__gnu_debug_def::list<llvm::SDUse*, std::allocator<llvm::SDUse*> >
>(__gnu_debug::_Safe_iterator<__gnu_norm::_List_const_iterator<llvm::SDUse*>,
__gnu_debug_def::list<llvm::SDUse*, std::allocator<llvm::SDUse*> > > const&,
__gnu_debug::_Safe_iterator<__gnu_norm::_List_const_iterator<llvm::SDUse*>,
__gnu_debug_def::list<llvm::SDUse*, std::allocator<llvm::SDUse*> > > const&) +
177
[x86_64-mod-par]: 7 llc 0x0000000000eda2c8
llvm::SDNode::use_iterator::atEnd() const + 46
[x86_64-mod-par]: 8 llc 0x0000000000eda2f3
llvm::SDNode::use_iterator::operator++() + 21
[x86_64-mod-par]: 9 llc 0x0000000000f51153 (anonymous
namespace)::BlackfinDAGToDAGISel::FixRegisterClasses(llvm::SelectionDAG&) + 969
[x86_64-mod-par]: 10 llc 0x0000000000f516c9 (anonymous
namespace)::BlackfinDAGToDAGISel::InstructionSelect() + 187
[x86_64-mod-par]: 11 llc 0x0000000001698b5f
llvm::SelectionDAGISel::CodeGenAndEmitDAG() + 3713
[x86_64-mod-par]: 12 llc 0x000000000169a886
llvm::SelectionDAGISel::SelectBasicBlock(llvm::BasicBlock*,
llvm::ilist_iterator<llvm::Instruction>,
llvm::ilist_iterator<llvm::Instruction>, bool&) + 686
[x86_64-mod-par]: 13 llc 0x000000000169b22b
llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function&,
llvm::MachineFunction&, llvm::MachineModuleInfo*, llvm::DwarfWriter*,
llvm::TargetInstrInfo const&) + 2419
[x86_64-mod-par]: 14 llc 0x000000000169bc85
llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) + 931
[x86_64-mod-par]: 15 llc 0x00000000017b889f
llvm::MachineFunctionPass::runOnFunction(llvm::Function&) + 85
[x86_64-mod-par]: 16 llc 0x0000000001b827ca
llvm::FPPassManager::runOnFunction(llvm::Function&) + 336
[x86_64-mod-par]: 17 llc 0x0000000001b839bb
llvm::FunctionPassManagerImpl::run(llvm::Function&) + 79
[x86_64-mod-par]: 18 llc 0x0000000001b83b5a
llvm::FunctionPassManager::run(llvm::Function&) + 110
[x86_64-mod-par]: 19 llc 0x0000000000e4c556 main + 2750
[x86_64-mod-par]: 20 libc.so.6 0x00002b8e2d437154 __libc_start_main + 244
[x86_64-mod-par]: 21 llc 0x0000000000e4ac69
[x86_64-mod-par]: Stack dump:
[x86_64-mod-par]: 0. Program arguments: llc -march=bfin
[x86_64-mod-par]: 1. Running pass 'Blackfin DAG->DAG Pattern Instruction
Selection' on function '@main'
--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
More information about the llvm-bugs
mailing list