[all-commits] [llvm/llvm-project] 8b9cb1: [Driver] -pg -mfentry should respect target specif...

Nick Desaulniers via All-commits all-commits at lists.llvm.org
Tue Feb 18 15:39:57 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 8b9cb120812449dbe67d2252ebf619c4c9cac816
      https://github.com/llvm/llvm-project/commit/8b9cb120812449dbe67d2252ebf619c4c9cac816
  Author: Nick Desaulniers <ndesaulniers at google.com>
  Date:   2020-02-18 (Tue, 18 Feb 2020)

  Changed paths:
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/Driver/mfentry.c

  Log Message:
  -----------
  [Driver] -pg -mfentry should respect target specific decisions for -mframe-pointer=all

Summary:
$ clang -O2 -pg -mfentry foo.c

was adding frame pointers to all functions. This was exposed via
compiling the Linux kernel for x86_64 with CONFIG_FUNCTION_TRACER
enabled.

-pg was unconditionally setting the equivalent of -fno-omit-frame-pointer,
regardless of the presence of -mfentry or optimization level.  After this
patch, frame pointers will only be omitted at -O0 or if
-fno-omit-frame-pointer is explicitly set for -pg -mfentry.

See also:
https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=3c5273a96ba8dbf98c40bc6d9d0a1587b4cfedb2;hp=c9d75a48c4ea63ab27ccdb40f993236289b243f2#patch2
(modification to ix86_frame_pointer_required())

Fixes: pr/44934

Reviewers: void, manojgupta, dberris, MaskRay, hfinkel

Reviewed By: MaskRay

Subscribers: cfe-commits, llozano, niravd, srhines

Tags: #clang

Differential Revision: https://reviews.llvm.org/D74698




More information about the All-commits mailing list