[LLVMdev] Preventing IR instruction duplication
Matt Arsenault
Matthew.Arsenault at amd.com
Thu Jul 17 12:44:06 PDT 2014
On 07/17/2014 11:32 AM, Jan Hoogerbrugge wrote:
> Hi Matt,
> Thanks for the answer. Unfortunately it does not seem to work.
> Putting the NoDuplicate on the CallInst of an inline assembly gives
> the message:
> Attribute 'noduplicate' only applies to functions!
> Putting the NoDuplicate on the function in which the inline assembly
> resides has not effect. Also adding
> the MinSize or OptimizeForSize attribute does not stop tail
> duplication. Another suggestion?
> Regards,
> Jan.
>
That seems like a bug. I would expect noduplicate to work on asm calls
>
> On Thu, Jul 17, 2014 at 6:33 PM, Matt Arsenault <arsenm2 at gmail.com
> <mailto:arsenm2 at gmail.com>> wrote:
>
>
> On Jul 17, 2014, at 8:41 AM, Jan Hoogerbrugge
> <jan.hoogerbrugge at gmail.com <mailto:jan.hoogerbrugge at gmail.com>>
> wrote:
>
> > Hi,
> >
> > For a certain type of analysis I generate inline assembly which
> I insert into the LLVM IR code. This
> > inline assembly code contains labels that should not be
> duplicated. Problem is that the tail
> > duplication pass duplicates code. It checks isNotDuplicatable on
> a machine instruction however
> > there is no such a flag on an IR instruction that I could set.
> Is there a way to tell in an IR pass
> > that code should not be duplicated?
> >
> > Jan
>
> There is the noduplicate attribute you can place on the function
> definition / the asm call site which should work
>
> -Matt
>
>
>
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140717/f555633a/attachment.html>
More information about the llvm-dev
mailing list