search for: symboltablelist

Displaying 10 results from an estimated 10 matches for "symboltablelist".

2016 Sep 04
2
LLVM 3.8.0 - Adding new instruction to a basic block
Hello, I'm trying to add a new instruction after a given instruction in a basic block. Until LLVM 3.7, I was using the following code: BB->getInstList().insertAfter(I, new_inst); [where both I and new_inst are Instruction*] In LLVM 3.8 however, the SymbolTableList was created as a wrapper over iplist. Could anyone please tell me how I can do the same type of insertion in LLVM 3.8? Thank you and Regards, Simona -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160904/d48...
2016 Feb 10
5
Question about an error we're now starting to get on LLVM 3.8.0rc2since
...type, so that isn’t the problem. But I discovered that an “ArgumentListType” has indeed changed. In 3.7, in /include/IR/Function.h, this was declared as: > > typedef iplist<Argument> ArgumentListType; > > whereas in LLVM 3.8.0rc2, this is changed to: > > typedef SymbolTableList<Argument> ArgumentListType; > > Rummaging around in the svn log for Function.h, I discovered that this change occurred at svn rev 249602, which you annotated as: > > IR: Create SymbolTableList wrapper around iplist, NFC > > Create `SymbolTableList`, a wrapper a...
2016 Sep 05
2
LLVM 3.8.0 - Adding new instruction to a basic block
...add a new instruction after a given instruction in a basic >> block. >> Until LLVM 3.7, I was using the following code: >> >> BB->getInstList().insertAfter(I, new_inst); >> [where both I and new_inst are Instruction*] >> >> In LLVM 3.8 however, the SymbolTableList was created as a wrapper over >> iplist. >> Could anyone please tell me how I can do the same type of insertion in >> LLVM 3.8? >> > > auto InsertPt = I->getIterator(); > BB->getInstList().insert(InsertPt, new_inst); > > Thanks, Daniel! In you...
2016 Nov 28
2
LLVM Pass for Instructions in Function (error
...back (std:make_tuple(new Value(threadId), AddrSpace, 0, new Value(AddrPointer))); } } I get following error (there are more, some visible here and some not. for eg, getAddressSpace not being for Instruction class.): error: cannot convert ‘llvm::inst_iterator {aka llvm::InstIterator<llvm::SymbolTableList<llvm::BasicBlock>, llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::BasicBlock, false, false, void>, false, false>, llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::Instruction, false, false, void>, false, false>, llvm::Instruction>}’ to ‘llvm:...
2016 Sep 05
2
LLVM 3.8.0 - Adding new instruction to a basic block
...;>>> basic block. >>>> Until LLVM 3.7, I was using the following code: >>>> >>>> BB->getInstList().insertAfter(I, new_inst); >>>> [where both I and new_inst are Instruction*] >>>> >>>> In LLVM 3.8 however, the SymbolTableList was created as a wrapper over >>>> iplist. >>>> Could anyone please tell me how I can do the same type of insertion in >>>> LLVM 3.8? >>>> >>> >>> auto InsertPt = I->getIterator(); >>> BB->getInstList().inser...
2016 Nov 28
2
LLVM Pass for Instructions in Function (error
...(threadId), AddrSpace, 0, new Value(AddrPointer))); > } > } > > I get following error (there are more, some visible here and some not. for eg, getAddressSpace not being for Instruction class.): > > error: cannot convert ‘llvm::inst_iterator {aka llvm::InstIterator<llvm::SymbolTableList<llvm::BasicBlock>, llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::BasicBlock, false, false, void>, false, false>, llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::Instruction, false, false, void>, false, false>, llvm::Instruction>}’ to ‘llvm:...
2016 Jul 27
2
help please: how to sort the contents of a "SymbolTableListTraits<GlobalVariable>"?
Dear all, In the process of trying to add optimization for better layout of global variables, I have run up against a roadblock: I don`t seem to be able to sort the contents of a "SymbolTableListTraits<GlobalVariable>" -- or even swap two elements in that list -- without causing LLVM to crash. I have tried writing a comparator class and then using "llvm::iplist< NodeTy, Traits >::sort(Compare comp)" [<http://llvm.org/docs/doxygen/html/classllvm_1_1iplist.h...
2016 Jun 21
3
function call replacement
...me/pierre/Desktop/llvm/lib/Support/Signals.cpp:44:0 #3 0x0000000002a953a8 SignalHandler(int) /home/pierre/Desktop/llvm/lib/Support/Unix/Signals.inc:254:0 #4 0x00007fe358d3dd10 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x10d10) #5 0x00000000011fe489 llvm::iplist<llvm::Instruction, llvm::SymbolTableListTraits<llvm::Instruction> >::insert(llvm::ilist_iterator<llvm::Instruction>, llvm::Instruction*) /home/pierre/Desktop/llvm/include/llvm/ADT/ilist.h:415:0 #6 0x0000000002abc20d llvm::ReI tried to clone the current instruction to not modify the iterator but the ReplaceInstWithInst will...
2016 Aug 25
2
InstList insert depreciated?
...ert(FirstI, TaintVar); // ERROR After migrating to 3.8.1, It gives me the following error: ERROR: /home/shehbaz/project/plugin/FSlice.cpp: In member function ‘void FSliceModulePass::allocaVSetArray()’: /home/shehbaz/project/plugin/FSlice.cpp:284:34: error: no matching function for call to ‘llvm::SymbolTableList<llvm::Instruction>::insert(llvm::I nstruction&, llvm::AllocaInst*&)’ IList.insert(FirstI, TaintVar); ^ In file included from /home/shehbaz/project/llvm/include/llvm/IR/BasicBlock.h:18:0, from /home/shehbaz/project/llvm/include/ll...
2016 Jun 20
3
function call replacement
Hi everyone, I am trying to replace the call of a certain function with a call to another function. It would for example replace the following: %call = tail call noalias i8* @func(i64 10) by %call = tail call noalias i8* @other_func(i64 10) I managed to declare other_func correctly but I am having troubles to understand how I should proceed to do the replacement. I tried to use