I have some code that has one function and if I use the-inline on it then these opts eliminate the entire function (which is the entire file). Bugpoint produces bugpoint-reduced-simplified.bc, but when I then run "opt bugpoint-reduced-simplified.bc -inline" I get nothing, file get emptied. It doesn't crash or assert. I have attached a test case. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20120210/f910ce66/attachment.html> -------------- next part -------------- A non-text attachment was scrubbed... Name: inline_test.ll Type: application/octet-stream Size: 13784 bytes Desc: not available URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20120210/f910ce66/attachment.obj>
On Fri, Feb 10, 2012 at 2:38 PM, Ryan Taylor <ryta1203 at gmail.com> wrote:> I have some code that has one function and if I use the-inline on it then > these opts eliminate the entire function (which is the entire file). > > Bugpoint produces bugpoint-reduced-simplified.bc, but when I then run "opt > bugpoint-reduced-simplified.bc -inline" I get nothing, file get emptied. > > It doesn't crash or assert. I have attached a test case.Your function has internal linkage and no uses; therefore, your .ll file is equivalent to the empty .ll file. -Eli
Seems like bad behavior to just decide to delete the function, no? Why not just ignore it then and output the input? On Fri, Feb 10, 2012 at 2:43 PM, Eli Friedman <eli.friedman at gmail.com>wrote:> On Fri, Feb 10, 2012 at 2:38 PM, Ryan Taylor <ryta1203 at gmail.com> wrote: > > I have some code that has one function and if I use the-inline on it then > > these opts eliminate the entire function (which is the entire file). > > > > Bugpoint produces bugpoint-reduced-simplified.bc, but when I then run > "opt > > bugpoint-reduced-simplified.bc -inline" I get nothing, file get emptied. > > > > It doesn't crash or assert. I have attached a test case. > > Your function has internal linkage and no uses; therefore, your .ll > file is equivalent to the empty .ll file. > > -Eli >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20120210/a71ee887/attachment.html>