The unchecked assertion that the same register is not added multiple times to
the MBB::LiveIn list isn't being respected. Could we add an assertion to
check for it?
====
//dwarc/Tools/MetaWare/Toolset/main/dev/llvm/include/llvm/CodeGen/MachineBasicBlock.h#6
- /remote/arctools/marksl/marksl_1/llvm/include/llvm/CodeGen/MachineBasicBlock.h
===295,298d294
< /// addLiveIn - Add the specified register as a live in. Note that it
< /// is an error to add the same register to the same set more than once.
< void addLiveIn(unsigned Reg) { LiveIns.push_back(Reg); }
<
306a303,310> /// addLiveIn - Add the specified register as a live in. Note that it
> /// is an error to add the same register to the same set more than once.
> void addLiveIn(unsigned Reg) {
> assert(!isLiveIn(Reg));
> LiveIns.push_back(Reg);
> }
>
>
====
//dwarc/Tools/MetaWare/Toolset/main/dev/llvm/lib/CodeGen/BranchFolding.cpp#8 -
/remote/arctools/marksl/marksl_1/llvm/lib/CodeGen/BranchFolding.cpp ===386c386
< if (RegsLiveAtExit[i])
---> if (RegsLiveAtExit[i] && !NewMBB->isLiveIn(i))
1718,1719c1718,1721
< TBB->addLiveIn(Def);
< FBB->addLiveIn(Def);
---> if (!TBB->isLiveIn(Def)) //SYNOPSYS
> TBB->addLiveIn(Def);
> if (!FBB->isLiveIn(Def)) //SYNOPSYS
> FBB->addLiveIn(Def);
====
//dwarc/Tools/MetaWare/Toolset/main/dev/llvm/lib/CodeGen/TailDuplication.cpp#6 -
/remote/arctools/marksl/marksl_1/llvm/lib/CodeGen/TailDuplication.cpp ===798c798
< if (!RegsLiveAtExit[*I])
---> if (!RegsLiveAtExit[*I] && !PredBB->isLiveIn(*I))
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://lists.llvm.org/pipermail/llvm-dev/attachments/20130604/8aee9038/attachment.html>