[Driver] -pg -mfentry should respect target specific decisions for -mframe…

Authored by nickdesaulniers on Feb 18 2020, 3:33 PM.


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

$ 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

-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:
(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