[LLVMdev] finding implicit casts
trimblej at gmail.com
Tue Apr 25 23:03:09 PDT 2006
Err.. Your right. What about just finding casts in general.
On 4/25/06, Chris Lattner <sabre at nondot.org> wrote:
> On Tue, 25 Apr 2006, John Trimble wrote:
> > I'm trying to find all the implicit casts in a program compiled with
> > llvm-gcc.
> I'm not sure exactly what you're trying to do here. In particular,
> llvm-gcc will turn any casts that are implicit in the C code into explicit
> casts in the LLVM... which means that there is no good way to tell the
> difference between an implicit or explicit cast.
> > What I've been doing is for each function taking all the
> > instruction and going through each of their operands (and the opreands
> > their operands etc...) and checking to see if any are an instance of
> > UnaryConstantExpr. When I encounter such an instance, I determine
> > the type of that value and its 0th operand differ, if they do its an
> > implicit cast. I do basically the same procedure for the the global
> > variables. Is this the best approach to take or is there a better way of
> > going about this?
> I'm not sure I follow here. It sounds like you are detecting things like:
> short A = ...
> int B = ...
> int C = (int)A + B;
> However, there isn't a way to tell if the "(int)" was implicit or
> > I've asked at least a few questions on this mailing-list and you haveall
> > been VERY helpful. Thank you all so much.
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
University of Arizona
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the llvm-dev