[llvm-commits] [PATCH] Fix NoFolder support

Frits van Bommel fvbommel at gmail.com
Wed Nov 17 15:19:09 PST 2010


The attached patch fixes IRBuilder and the NoFolder class so that when
NoFolder is used the instructions it generates are treated just like
the ones IRBuilder creates directly (insert into block, assign them a
name and debug info, as applicable).
It does this by
 1) having NoFolder return Instruction*s instead of Value*s,
 2) having IRBuilder call Insert(Value, Name) on values obtained from
the folder like it does on instructions it creates directly, and
 3) adding an Insert(Constant*, const Twine& = "") overload which just
returns the constant so that the other folders shouldn't have any
extra overhead as long as inlining is enabled.

While I was there, I also added some missing (CreateFNeg and various
Create*Cast) methods to NoFolder.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: fix-nofolder-support.patch
Type: text/x-patch
Size: 37826 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20101118/127ea2a8/attachment.bin>


More information about the llvm-commits mailing list