[LLVMdev] Question About the LLVM IR unnamed values!
grosbach at apple.com
Tue Jan 14 10:12:53 PST 2014
On Jan 14, 2014, at 12:41 AM, Tim Northover <t.p.northover at gmail.com> wrote:
> Hi Jin,
>> is that means the unnamed instructions like "%0 %1" all created by the
>> "load" instructions? is there any other type instructions can create unnamed
> The names are chosen in clang rather than LLVM. When it's creating an
> instruction there's an optional "Name" field, which seems to mostly be
> filled in. So to answer that question, you'd have to look at all
> places in Clang that create instructions.
> I strongly suspect there are other cases that don't give a name, but
> the only ones I can think of at the moment are expansions of certain
> compiler builtins (e.g. SIMD intrinsics, probably va_arg and similar).
> Also, in release builds, the name is completely ignored and all
> instructions are anonymous.
> So you certainly shouldn't be relying on the fact that everything
> except loads are named. But I can't see any particular reason we'd
> turn down patches that added useful names in more cases.
Also, you can get names on the rest by running the instuction-namer pass (“opt -instnamer”) on the IR.
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
More information about the llvm-dev