[llvm-commits] [llvm] r108568 - in /llvm/trunk: lib/CodeGen/AsmPrinter/AsmPrinter.cpp test/CodeGen/PowerPC/2008-01-25-EmptyFunction.ll test/CodeGen/PowerPC/empty-functions.ll test/CodeGen/X86/2008-01-25-EmptyFunction.ll test/CodeGen/X86/empty-functions.ll

Chris Lattner clattner at apple.com
Sat Jul 17 10:18:51 PDT 2010


On Jul 16, 2010, at 3:51 PM, Bill Wendling wrote:

> Author: void
> Date: Fri Jul 16 17:51:10 2010
> New Revision: 108568
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=108568&view=rev
> Log:
> Consider this function:
> 
>  void foo() { __builtin_unreachable(); }

Great solution Bill!  One minor tweak:

> 
> +  // If the last instruction was a prolog label, then we have a situation where
> +  // we emitted a prolog but no function body. This results in the ending prolog
> +  // label equaling the end of function label and an invalid "row" in the
> +  // FDE. We need to emit a noop in this situation so that the FDE's rows are
> +  // valid.
> +  bool RequiresNoop = LastMI && LastMI->getOpcode()==TargetOpcode::PROLOG_LABEL;

Please use LastMI->isPrologLabel()

Thanks!

-Chris



More information about the llvm-commits mailing list