Displaying 2 results from an estimated 2 matches for "mmiaddrlabelmap".
2010 Mar 19
2
[LLVMdev] Use of blockadress() crashes llc in some cases
...ile the files with
# llvm-as test_crash.ll -o - | llc -f -o temp.s -
and get
0 llc 0x0000000000c6ab6f
1 llc 0x0000000000c6b38d
2 libpthread.so.0 0x00007feccd2270f0
3 llc 0x00000000009a270f llvm::DenseMap<llvm::AssertingVH<llvm::BasicBlock>, llvm::MMIAddrLabelMap::AddrLabelSymEntry, llvm::DenseMapInfo<llvm::AssertingVH<llvm::BasicBlock> >, llvm::DenseMapInfo<llvm::MMIAddrLabelMap::AddrLabelSymEntry> >::operator[](llvm::AssertingVH<llvm::BasicBlock> const&) + 31
4 llc 0x000000000099f5d0 llvm::MMIAddrLabelMap::Updat...
2011 Nov 30
2
[LLVMdev] Problem using a label to a MachineBasicBlock
...-> MBB10, MBB11
Because I need the address of MBB11, I found that I need to ensure
that 'MBB11->hasAddressTaken()' returns true. Otherwise it can be optimized
away.
This can be done by:
MBB11->setHasAddressTaken();
But this is not sufficient: an assertion failure in
llvm::MMIAddrLabelMap::getAddrLabelSymbolToEmit(..)
is triggered:
'BB->hasAddressTaken()' should also be set.
The only way I found to do this (although it does not look clean to me)
is the following:
(void)llvm::BlockAddress::get(const_cast<BasicBlock*>(MBB11->getBasicBlock()))
In this way, BB1...