[llvm-dev] InstList insert depreciated?
Shehbaz Jaffer via llvm-dev
llvm-dev at lists.llvm.org
Thu Aug 25 10:17:14 PDT 2016
More specifically,
- FirstI->insertAfter(TaintVar);
+ auto t = dyn_cast<Instruction>(TaintVar);
+ t->insertBefore(&FirstI);
worked for me.
since TaintVar is of type AllocaInst, it does not have an insertAfter
insertBefore defined, so I had to dynamically cast it to Instruction.
Also, making t->insertAfter(&FirstI) causes some errors of type
"llvm-instruction-does-not-dominate-all-uses", since I want alloca to
appear before FirstI, I had to make insertAfter => insertBefore.
On Thu, Aug 25, 2016 at 10:12 AM, Shehbaz Jaffer
<shehbazjaffer007 at gmail.com> wrote:
> Jon,
>
>> You want:
>> TaintVar->insertAfter(FirstI);
>
> This worked! Thank you.
>
> On Thu, Aug 25, 2016 at 9:38 AM, Jonathan Roelofs
> <jonathan at codesourcery.com> wrote:
>>
>>
>> On 8/25/16 7:01 AM, Shehbaz Jaffer via llvm-dev wrote:
>>>
>>> I tried an alternative way of adding instruction by first getting the
>>> first instruction of the basic block, and then calling insertAfter()
>>> on it as follows:
>>>
>>> auto &B = F->getEntryBlock();
>>> auto &IList = B.getInstList();
>>> auto &FirstI = *IList.begin();
>>> auto TaintVar = new AllocaInst(IntPtrTy);
>>> // IList.insert(FirstI, TaintVar); // OLD
>>> FirstI.insertAfter(TaintVar); // NEW
>>
>>
>> You want:
>>
>> TaintVar->insertAfter(FirstI);
>>
>>
>> Jon
>>
>> --
>> Jon Roelofs
>> jonathan at codesourcery.com
>> CodeSourcery / Mentor Embedded
>
>
>
> --
> Shehbaz Jaffer
> First Year Graduate Student
> Sir Edward S Rogers Sr Department of Electrical and Computer Engineering
> University of Toronto
--
Shehbaz Jaffer
First Year Graduate Student
Sir Edward S Rogers Sr Department of Electrical and Computer Engineering
University of Toronto
More information about the llvm-dev
mailing list