i386: Insert ENDBR before the profiling counter call
ENDBR must be the first instruction of a function. This patch queues ENDBR if we need to put the profiling counter call before the prologue and generate ENDBR before the profiling counter call. gcc/ PR target/82699 * config/i386/i386.c (rest_of_insert_endbranch): Set endbr_queued_at_entrance to true and don't insert ENDBR if x86_function_profiler will be called. (x86_function_profiler): Insert ENDBR if endbr_queued_at_entrance is true. * config/i386/i386.h (machine_function): Add endbr_queued_at_entrance. gcc/testsuite/ PR target/82699 * gcc.target/i386/pr82699-1.c: New file. * gcc.target/i386/pr82699-2.c: Likewise. * gcc.target/i386/pr82699-3.c: Likewise. * gcc.target/i386/pr82699-4.c: Likewise. * gcc.target/i386/pr82699-5.c: Likewise. * gcc.target/i386/pr82699-6.c: Likewise. From-SVN: r264540
Showing
gcc/testsuite/gcc.target/i386/pr82699-1.c
0 → 100644
gcc/testsuite/gcc.target/i386/pr82699-2.c
0 → 100644
gcc/testsuite/gcc.target/i386/pr82699-3.c
0 → 100644
gcc/testsuite/gcc.target/i386/pr82699-4.c
0 → 100644
gcc/testsuite/gcc.target/i386/pr82699-5.c
0 → 100644
gcc/testsuite/gcc.target/i386/pr82699-6.c
0 → 100644
Please
register
or
sign in
to comment