On Thu, May 23, 2019 at 10:21:44AM -0500, Bill Schmidt wrote: > Functions using PC-relative addressing do not use a TOC, so there is no need > for > a global entry point for TOC setup. Ensure we never generate a global entry > point, and use a .localentry directive that sets the upper st_other bits to 1. > Also change a function name for clarity, and move a var decl off of paths > where it will not be executed, per previous comments by Segher. > > Bootstrapped and tested on powerpc64le-unknown-linux-gnu with no regressions. > Is this okay for trunk?
Yes please. Thanks, Segher > 2019-05-23 Bill Schmidt <wschm...@linux.ibm.com> > > * config/rs6000/rs6000.c (rs6000_global_entry_point_needed_p): > Rename to rs6000_global_entry_point_prologue_needed_p. Return > false for PC-relative functions. > (rs6000_output_function_prologue): Change called function name to > rs6000_global_entry_point_prologue_needed_p. Emit ".localentry > name,1" for PC-relative functions. > (rs6000_elf_declare_function_name): Change called function name to > rs6000_global_entry_point_prologue_needed_p. > > [gcc/testsuite] > > 2019-05-23 Bill Schmidt <wschm...@linux.ibm.com> > > * gcc.target/powerpc/localentry-1.c: New file.