Zhang via llvm-dev
2019-Aug-13 08:05 UTC
[llvm-dev] Why this piece of LLVM IR isn't optimized out at O3
``` %218 = call %struct._object* @PyObject_GetAttr(%struct._object* %216, %struct._object* %217) store %struct._object* %218, %struct._object** %26, align 8 %219 = load %struct._object*, %struct._object** %26, align 8 ``` It seems to me that %219 should't exist at all. For that %store, there is only one instruction loading from it later on (although in a different succeeding block) so I'd assume it should get optimized too, leaving an empty unreferenced alloca at the beginning of the Entry Block. But running opt src.bc -S -o opt.ll -O3 didn't change them. What did I misunderstand here? -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190813/97b1c2d0/attachment.html>
David Blaikie via llvm-dev
2019-Aug-13 19:21 UTC
[llvm-dev] Why this piece of LLVM IR isn't optimized out at O3
Hard to say without the complete IR (though minimizing it first before sharing would be helpful - and might show you what's important along the way). On Tue, Aug 13, 2019 at 1:05 AM Zhang via llvm-dev <llvm-dev at lists.llvm.org> wrote:> ``` > %218 = call %struct._object* @PyObject_GetAttr(%struct._object* %216, > %struct._object* %217) > store %struct._object* %218, %struct._object** %26, align 8 > %219 = load %struct._object*, %struct._object** %26, align 8 > ``` > It seems to me that %219 should't exist at all. > For that %store, there is only one instruction loading from it later on > (although in a different succeeding block) so I'd assume it should get > optimized too, leaving an empty unreferenced alloca at the beginning of the > Entry Block. But running opt src.bc -S -o opt.ll -O3 didn't change them. > > What did I misunderstand here? > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190813/29a5da69/attachment.html>