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?
Date: Thu, 26 Sep 2002 10:50:00 -0500
From: "Vikram S. Adve" <firstname.lastname@example.org>
Subject: RE: [LLVMdev] modify instructions
To: <email@example.com>, <firstname.lastname@example.org>
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).
Behalf Of email@example.com
Sent: Thursday, September 26, 2002 9:24 AM
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