Delta Between Two Patch Sets: gcc/testsuite/gcc.target/i386/patch-functions-4.c
Issue 7301068 :
[google] Port revisions for -mpatch-functions-for-instrumentation option back to google-main.
Left Patch Set:
Right Patch Set: [google] Port revisions for -mpatch-functions-for-instrumentation option back to google-main.
Use n/p to move between diff chunks;
N/P to move between comments.
Please Sign in to add in-line comments.
Jump to:
gcc/c-family/c-common.c
gcc/config/i386/i386.c
gcc/config/i386/i386.md
gcc/config/i386/i386.opt
gcc/config/i386/i386-protos.h
gcc/params.def
gcc/testsuite/gcc.target/i386/patch-functions-1.c
gcc/testsuite/gcc.target/i386/patch-functions-2.c
gcc/testsuite/gcc.target/i386/patch-functions-3.c
gcc/testsuite/gcc.target/i386/patch-functions-4.c
gcc/testsuite/gcc.target/i386/patch-functions-5.c
gcc/testsuite/gcc.target/i386/patch-functions-6.c
gcc/testsuite/gcc.target/i386/patch-functions-7.c
gcc/testsuite/gcc.target/i386/patch-functions-8.c
gcc/testsuite/gcc.target/i386/patch-functions-force-no-patching.c
gcc/testsuite/gcc.target/i386/patch-functions-force-patching.c
gcc/testsuite/gcc.target/i386/patch-functions-sibling-call.c
LEFT RIGHT
(no file at all) 1 /* { dg-do compile } */
2 /* { dg-require-effective-target lp64 } */
3 /* { dg-options "-mpatch-functions-for-instrumentation -mpatch-functions-ignore-
loops -mno-patch-functions-main-always" } */
4
5 /* Function is too small to be patched when ignoring the loop.
6 Check there aren't any nop-bytes at beginning and end of function. */
7
8 /* { dg-final { scan-assembler-not ".byte\t0xeb,0x09(.*).byte\t0x90" } } */
9 /* { dg-final { scan-assembler-not "ret(.*).byte\t0x90(.*).byte\t0x90" } } */
10
11 __attribute__ ((noinline))
12 void foo()
13 {
14 int x = 0;
15 while (++x);
16 }
17
18 int main()
19 {
20 foo();
21 return 0;
22 }
LEFT RIGHT