[llvm-dev] Optimizer issues on Windows

Martin J. O'Riordan via llvm-dev llvm-dev at lists.llvm.org
Fri Sep 11 06:11:55 PDT 2015


I have found that failures such as this (especially given the nature of diagnostic, and the fact that it only crashes on Windows), have often had to do with the a bug in using the C++ Standard collections and iterators.  It is worth building this in Debug mode using MSVC++ and using the debug instrumented STL collections and iterators.  The implementation of these in MSVC++ is more rigorous than the version provided with G++ and using this in debug mode often diagnoses an iteration error in the code that appears to be harmless in the G++ implementation, but which represents a logical failure in the code that is still wrong, but does not crash.

 

            MartinO

 

From: llvm-dev [mailto:llvm-dev-bounces at lists.llvm.org] On Behalf Of Sebastian Blessing via llvm-dev
Sent: 11 September 2015 12:38
To: llvm-dev at lists.llvm.org
Subject: [llvm-dev] Optimizer issues on Windows

 

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

 



 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150911/2e73cf3b/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image001.jpg
Type: image/jpeg
Size: 332 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150911/2e73cf3b/attachment.jpg>


More information about the llvm-dev mailing list