Sebastian Blessing via llvm-dev
2015-Sep-12 13:39 UTC
[llvm-dev] Optimizer issues on Windows
This got me into thinking. Indeed the problem is related to Windows exceptions, so I am not sure whether the bug reported<https://llvm.org/bugs/show_bug.cgi?id=24374> is actually fixed. Compiling Pony code (helloworld) that includes no exceptions does work fine (with optimizations). As soon as exceptions on windows come into play, writing the object file dies with the mentioned error in MCStreamer.cpp. Here<http://releases.ponylang.org/winexcept/> are two minimal IR examples (helloworld.ll works, try.ll doesn’t - both verify with llc). The relevant method is @Main_create. Can anyone of you guys confirm the issue with llvm 3.7.0–final, or whether said bug has actually been fixed? From: Reid Kleckner Date: Friday 11 September 2015 17:07 To: Sebastian Blessing Cc: "llvm-dev at lists.llvm.org<mailto:llvm-dev at lists.llvm.org>" Subject: Re: [llvm-dev] Optimizer issues on Windows The bug https://llvm.org/bugs/show_bug.cgi?id=24374 has to do with exceptions on Windows, so it is unrelated unless you are using them. On Fri, Sep 11, 2015 at 4:37 AM, Sebastian Blessing via llvm-dev <llvm-dev at lists.llvm.org<mailto:llvm-dev at lists.llvm.org>> wrote: Dear Community, The ponyc<https://github.com/CausalityLtd/ponyc/tree/llvm37> (llvm37 branch) project is facing an issue on Windows: When optimizations are turned on (llvm 3.7.0-final and more specifically<https://github.com/CausalityLtd/ponyc/blob/llvm37/src/libponyc/codegen/genopt.cc>, opt-level 3, BBVectorize, LoopVectorize, SLPVectorize, RerollLoops, LoadCombine + a custom heap to stack pass) writing an object file aborts (on Windows only) with the following fatal error: “Starting a function before ending the previous one!” at MCStreamer.cpp:407 during LLVMTargetMachineEmitToFile. Verifying the IR with llc raises no errors. What exact problem is being detected here and how can we get more details on the location in the IR that is causing the problem? Turning off optimizations successfully writes the object file. This only occurs on Windows, writing object files works fine on Linux and OS X. Is this a know issue with LLVM 3.7.0-final and how can this be fixed? Is a patch required? This might be related to https://llvm.org/bugs/show_bug.cgi?id=24374. Kind regards Sebastian _______________________________________________ LLVM Developers mailing list llvm-dev at lists.llvm.org<mailto:llvm-dev at lists.llvm.org> http://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/20150912/a29102a1/attachment.html>
$ ~/llvm/Debug+Asserts/bin/llc try.ll $ echo $? 0 On Sat, Sep 12, 2015 at 6:39 AM, Sebastian Blessing via llvm-dev < llvm-dev at lists.llvm.org> wrote:> This got me into thinking. Indeed the problem is related to Windows > exceptions, so I am not sure whether the bug reported > <https://llvm.org/bugs/show_bug.cgi?id=24374> is actually fixed. > > Compiling Pony code (helloworld) that includes no exceptions does work > fine (with optimizations). As soon as exceptions on windows come into play, > writing the object file dies with the mentioned error in MCStreamer.cpp. > > Here <http://releases.ponylang.org/winexcept/> are two minimal IR > examples (helloworld.ll works, try.ll doesn’t - both verify with llc). The > relevant method is *@Main_create*. Can anyone of you guys confirm the > issue with llvm 3.7.0–final, or whether said bug has actually been fixed? > > From: Reid Kleckner > Date: Friday 11 September 2015 17:07 > To: Sebastian Blessing > Cc: "llvm-dev at lists.llvm.org" > Subject: Re: [llvm-dev] Optimizer issues on Windows > > The bug https://llvm.org/bugs/show_bug.cgi?id=24374 has to do with > exceptions on Windows, so it is unrelated unless you are using them. > > On Fri, Sep 11, 2015 at 4:37 AM, Sebastian Blessing via llvm-dev < > llvm-dev at lists.llvm.org> wrote: > >> Dear Community, >> >> The ponyc <https://github.com/CausalityLtd/ponyc/tree/llvm37> (llvm37 >> branch) project is facing an issue on Windows: >> >> When optimizations are turned on (llvm 3.7.0-final and more specifically >> <https://github.com/CausalityLtd/ponyc/blob/llvm37/src/libponyc/codegen/genopt.cc>, >> opt-level 3, BBVectorize, LoopVectorize, SLPVectorize, RerollLoops, >> LoadCombine + a custom heap to stack pass) writing an object file aborts >> (on Windows only) with the following fatal error: >> >> “Starting a function before ending the previous one!” at >> MCStreamer.cpp:407 during LLVMTargetMachineEmitToFile. Verifying the IR >> with llc raises no errors. >> >> What exact problem is being detected here and how can we get more details >> on the location in the IR that is causing the problem? >> >> Turning off optimizations successfully writes the object file. This only >> occurs on Windows, writing object files works fine on Linux and OS X. >> >> Is this a know issue with LLVM 3.7.0-final and how can this be fixed? Is >> a patch required? >> >> This might be related to https://llvm.org/bugs/show_bug.cgi?id=24374. >> >> Kind regards >> Sebastian >> >> >> >> _______________________________________________ >> LLVM Developers mailing list >> llvm-dev at lists.llvm.org >> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev >> >> > > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > http://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/20150912/7bf7fbce/attachment.html>
Sebastian Blessing via llvm-dev
2015-Sep-12 17:34 UTC
[llvm-dev] Optimizer issues on Windows
Are you running on llvm 3.7.0 or ^HEAD? From: David Majnemer Date: Saturday 12 September 2015 18:31 To: Sebastian Blessing Cc: Reid Kleckner, "llvm-dev at lists.llvm.org<mailto:llvm-dev at lists.llvm.org>" Subject: Re: [llvm-dev] Optimizer issues on Windows $ ~/llvm/Debug+Asserts/bin/llc try.ll $ echo $? 0 On Sat, Sep 12, 2015 at 6:39 AM, Sebastian Blessing via llvm-dev <llvm-dev at lists.llvm.org<mailto:llvm-dev at lists.llvm.org>> wrote: This got me into thinking. Indeed the problem is related to Windows exceptions, so I am not sure whether the bug reported<https://llvm.org/bugs/show_bug.cgi?id=24374> is actually fixed. Compiling Pony code (helloworld) that includes no exceptions does work fine (with optimizations). As soon as exceptions on windows come into play, writing the object file dies with the mentioned error in MCStreamer.cpp. Here<http://releases.ponylang.org/winexcept/> are two minimal IR examples (helloworld.ll works, try.ll doesn’t - both verify with llc). The relevant method is @Main_create. Can anyone of you guys confirm the issue with llvm 3.7.0–final, or whether said bug has actually been fixed? From: Reid Kleckner Date: Friday 11 September 2015 17:07 To: Sebastian Blessing Cc: "llvm-dev at lists.llvm.org<mailto:llvm-dev at lists.llvm.org>" Subject: Re: [llvm-dev] Optimizer issues on Windows The bug https://llvm.org/bugs/show_bug.cgi?id=24374 has to do with exceptions on Windows, so it is unrelated unless you are using them. On Fri, Sep 11, 2015 at 4:37 AM, Sebastian Blessing via llvm-dev <llvm-dev at lists.llvm.org<mailto:llvm-dev at lists.llvm.org>> wrote: Dear Community, The ponyc<https://github.com/CausalityLtd/ponyc/tree/llvm37> (llvm37 branch) project is facing an issue on Windows: When optimizations are turned on (llvm 3.7.0-final and more specifically<https://github.com/CausalityLtd/ponyc/blob/llvm37/src/libponyc/codegen/genopt.cc>, opt-level 3, BBVectorize, LoopVectorize, SLPVectorize, RerollLoops, LoadCombine + a custom heap to stack pass) writing an object file aborts (on Windows only) with the following fatal error: “Starting a function before ending the previous one!” at MCStreamer.cpp:407 during LLVMTargetMachineEmitToFile. Verifying the IR with llc raises no errors. What exact problem is being detected here and how can we get more details on the location in the IR that is causing the problem? Turning off optimizations successfully writes the object file. This only occurs on Windows, writing object files works fine on Linux and OS X. Is this a know issue with LLVM 3.7.0-final and how can this be fixed? Is a patch required? This might be related to https://llvm.org/bugs/show_bug.cgi?id=24374. Kind regards Sebastian _______________________________________________ LLVM Developers mailing list llvm-dev at lists.llvm.org<mailto:llvm-dev at lists.llvm.org> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev _______________________________________________ LLVM Developers mailing list llvm-dev at lists.llvm.org<mailto:llvm-dev at lists.llvm.org> http://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/20150912/e7eb7de1/attachment.html>
Sebastian Blessing via llvm-dev
2015-Sep-12 17:35 UTC
[llvm-dev] Optimizer issues on Windows
… Also, it doesn’t appear that you are running on windows… From: David Majnemer Date: Saturday 12 September 2015 18:31 To: Sebastian Blessing Cc: Reid Kleckner, "llvm-dev at lists.llvm.org<mailto:llvm-dev at lists.llvm.org>" Subject: Re: [llvm-dev] Optimizer issues on Windows $ ~/llvm/Debug+Asserts/bin/llc try.ll $ echo $? 0 On Sat, Sep 12, 2015 at 6:39 AM, Sebastian Blessing via llvm-dev <llvm-dev at lists.llvm.org<mailto:llvm-dev at lists.llvm.org>> wrote: This got me into thinking. Indeed the problem is related to Windows exceptions, so I am not sure whether the bug reported<https://llvm.org/bugs/show_bug.cgi?id=24374> is actually fixed. Compiling Pony code (helloworld) that includes no exceptions does work fine (with optimizations). As soon as exceptions on windows come into play, writing the object file dies with the mentioned error in MCStreamer.cpp. Here<http://releases.ponylang.org/winexcept/> are two minimal IR examples (helloworld.ll works, try.ll doesn’t - both verify with llc). The relevant method is @Main_create. Can anyone of you guys confirm the issue with llvm 3.7.0–final, or whether said bug has actually been fixed? From: Reid Kleckner Date: Friday 11 September 2015 17:07 To: Sebastian Blessing Cc: "llvm-dev at lists.llvm.org<mailto:llvm-dev at lists.llvm.org>" Subject: Re: [llvm-dev] Optimizer issues on Windows The bug https://llvm.org/bugs/show_bug.cgi?id=24374 has to do with exceptions on Windows, so it is unrelated unless you are using them. On Fri, Sep 11, 2015 at 4:37 AM, Sebastian Blessing via llvm-dev <llvm-dev at lists.llvm.org<mailto:llvm-dev at lists.llvm.org>> wrote: Dear Community, The ponyc<https://github.com/CausalityLtd/ponyc/tree/llvm37> (llvm37 branch) project is facing an issue on Windows: When optimizations are turned on (llvm 3.7.0-final and more specifically<https://github.com/CausalityLtd/ponyc/blob/llvm37/src/libponyc/codegen/genopt.cc>, opt-level 3, BBVectorize, LoopVectorize, SLPVectorize, RerollLoops, LoadCombine + a custom heap to stack pass) writing an object file aborts (on Windows only) with the following fatal error: “Starting a function before ending the previous one!” at MCStreamer.cpp:407 during LLVMTargetMachineEmitToFile. Verifying the IR with llc raises no errors. What exact problem is being detected here and how can we get more details on the location in the IR that is causing the problem? Turning off optimizations successfully writes the object file. This only occurs on Windows, writing object files works fine on Linux and OS X. Is this a know issue with LLVM 3.7.0-final and how can this be fixed? Is a patch required? This might be related to https://llvm.org/bugs/show_bug.cgi?id=24374. Kind regards Sebastian _______________________________________________ LLVM Developers mailing list llvm-dev at lists.llvm.org<mailto:llvm-dev at lists.llvm.org> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev _______________________________________________ LLVM Developers mailing list llvm-dev at lists.llvm.org<mailto:llvm-dev at lists.llvm.org> http://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/20150912/0ad081b5/attachment-0001.html>