[LLVMdev] modify instructions

xli3 at uiuc.edu xli3 at uiuc.edu
Sun Sep 29 12:07:01 PDT 2002


I think since we use the replaceAllUsesWith to replace all
uses of old one, the old one should already be a instruction
with # of uses equals 0. So it should be Ok to directly delete
it. Can you let me know if there is anything wrong with simple
deletion? Why can we create illegal LLVM?

Thanks,
xiaodong

---- Original message ----
>Date: Thu, 26 Sep 2002 10:50:00 -0500
>From: "Vikram S. Adve" <vadve at cs.uiuc.edu>  
>Subject: RE: [LLVMdev] modify instructions  
>To: <xli3 at uiuc.edu>, <llvmdev at cs.uiuc.edu>
>
>The simplest way is to create a new instruction and use
replaceAllUsesWith
>on the old one.
>
>Think about a simple way to get rid of the old one (without
producing
>illegal LLVM as the output of your phase).
>
>--Vikram
>
>
>> -----Original Message-----
>> From: llvmdev-admin at cs.uiuc.edu
[mailto:llvmdev-admin at cs.uiuc.edu]On
>> Behalf Of xli3 at uiuc.edu
>> Sent: Thursday, September 26, 2002 9:24 AM
>> To: llvmdev at cs.uiuc.edu
>> Subject: [LLVMdev] modify instructions
>>
>>
>> Hi, I have a question about the modify of instruction:
>> Say I want to modify
>> %a = getelementptr %struct %S, long 0, ubyte 1
>> into
>> %a.f0 = getelementptr int* %S.f0, long 0
>>
>> There are 3 ways I can think of to implement, but I'm not
sure
>> what should I do.
>>
>> 1. I can use new GetElementPtr to create a new instruction
and
>> use ReplaceInstWithInst() function to replace the old one.
>>
>> 2. I can use new GetElementPtr to create a new instruction
and
>> then insert it into the code, then delete the old
instruction,
>> but the problem is the program will automatically change
the
>> name of the new instruction if you give it the same name
with
>> the old one?
>>
>> 3. Just modify the operand 0 and delete the operand 2. But
I
>> didn't see an command to delete an operand.
>>
>> Please let me know in LLVM, what's the best way to handle
>> this? Thanks,
>>
>> xiaodong
>> _______________________________________________
>> LLVM Developers mailing list
>> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>> http://mail.cs.uiuc.edu/mailman/listinfo/llvmdev
>>
>



More information about the llvm-dev mailing list