[llvm-dev] no-frame-pointer-elim & optimized (original) (raw)

Carlo Kok via llvm-dev llvm-dev at lists.llvm.org
Wed Apr 26 11:31:53 PDT 2017


On 2017-04-26 19:56, Eric Christopher wrote:

That's really weird. I'm quite surprised that the entry block was moved so much later in the function but haven't had a chance to look more at it. Probably want to take a look and find out where that's happening and why.

From irc, thegameg helped me find the -enable-shrink-wrap=false, which "fixes" this, although this option doesn't seem to have a switch from code, only from the llc command line.

Unless I'm missing something obvious, this will always screw up debug info on Windows 32bits.

The check in code to enable this calls:

bool usesWindowsCFI() const { return ExceptionsType == ExceptionHandling::WinEH && (WinEHEncodingType != WinEH::EncodingType::Invalid && WinEHEncodingType != WinEH::EncodingType::X86); }

Where EncodingType::X86: //Windows x86, uses no CFI, just EH tables

The comment seems to imply there are EH tables for i386 Windows, however I can't find them.

-- Carlo Kok RemObjects Software



More information about the llvm-dev mailing list