search for: sethasaddresstaken

Displaying 2 results from an estimated 2 matches for "sethasaddresstaken".

2011 Nov 30
2
[LLVMdev] Problem using a label to a MachineBasicBlock
...MachineBasicBlock 10) After splitting MBB10 at the call instruction, we get : BB1 -> 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...
2016 Apr 27
2
[Sparc] builtin setjmp / longjmp - need help to get past last problem
...etBasicBlock(); + MachineFunction::iterator It = ++MBB->getIterator(); + MachineBasicBlock *thisMBB = MBB; + const BasicBlock* mainBB = BasicBlock::Create(BB->getContext(), "setjmp.main"); + MachineBasicBlock *mainMBB = MF->CreateMachineBasicBlock(mainBB); + mainMBB->setHasAddressTaken(); + const BasicBlock* sinkBB = BasicBlock::Create(BB->getContext(), "setjmp.sink"); + MachineBasicBlock *sinkMBB = MF->CreateMachineBasicBlock(sinkBB); + sinkMBB->setHasAddressTaken(); + + MF->insert(It, mainMBB); + MF->insert(It, sinkMBB); + + // Transfer the...