[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?
---- 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
>on the old one.
>Think about a simple way to get rid of the old one (without
>illegal LLVM as the output of your phase).
>> -----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
>> %a.f0 = getelementptr int* %S.f0, long 0
>> There are 3 ways I can think of to implement, but I'm not
>> what should I do.
>> 1. I can use new GetElementPtr to create a new instruction
>> use ReplaceInstWithInst() function to replace the old one.
>> 2. I can use new GetElementPtr to create a new instruction
>> then insert it into the code, then delete the old
>> but the problem is the program will automatically change
>> name of the new instruction if you give it the same name
>> the old one?
>> 3. Just modify the operand 0 and delete the operand 2. But
>> didn't see an command to delete an operand.
>> Please let me know in LLVM, what's the best way to handle
>> this? Thanks,
>> LLVM Developers mailing list
>> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
More information about the llvm-dev