search for: getunwinddest

Displaying 4 results from an estimated 4 matches for "getunwinddest".

2011 Dec 29
2
[LLVMdev] Taking invoke instructions' labels
Hello everybody, I am writing a pass, that does something on strings. It's a long story, so I will write shortly. If I have an iterator on invoke instruction, how can I take its label parameters? For example, invoke void @_ZNSsC1EPKcRKSaIcE(%"class.std::basic_string"* %str, i8* getelementptr inbounds ([6 x i8]* @.str, i32 0, i32 0), %"class.std::allocator"* %2) to
2011 Sep 16
2
[LLVMdev] How to duplicate a function?
...any remaining varargs for (; AI != AE; ++AI) { Args.push_back(*AI); } Instruction *New; Instruction *Before = Call; if ( InvokeInst *II = dyn_cast<InvokeInst>(Call) ) { New = InvokeInst::Create(NF, II->getNormalDest(), II->getUnwindDest(), Args, "", Before); cast<InvokeInst>(New)->setCallingConv(CS.getCallingConv()); // cast<InvokeInst>(New)->setParamAttrs(CS.getParamAttrs()); cast<InvokeInst>(New)->setAttributes(CS.getAttributes()); } else {...
2011 Sep 16
0
[LLVMdev] How to duplicate a function?
...any remaining varargs for (; AI != AE; ++AI) { Args.push_back(*AI); } Instruction *New; Instruction *Before = Call; if ( InvokeInst *II = dyn_cast<InvokeInst>(Call) ) { New = InvokeInst::Create(NF, II->getNormalDest(), II->getUnwindDest(), Args, "", Before); cast<InvokeInst>(New)->setCallingConv(CS.getCallingConv()); // cast<InvokeInst>(New)->setParamAttrs(CS.getParamAttrs()); cast<InvokeInst>(New)->setAttributes(CS.getAttributes()); } else {...
2008 Sep 13
3
[LLVMdev] Duplicate Function with duplicated Arguments
I'm now writing a pass and I wanna ask a question about how to duplicate the function and add duplicated arguments in llvm, for example: func(int a, char *b) -> func(int a, char *b, int a1, char *b1) I'm now stuck at using "getOrInsertFunction" and how to handle "getArgumentList", please share your opinion, thanks a lot! James