Please also explain the need for backpointer section.

David


http://codereview.appspot.com/5416043/diff/1/gcc/config/i386/i386.c
File gcc/config/i386/i386.c (right):

http://codereview.appspot.com/5416043/diff/1/gcc/config/i386/i386.c#newcode10801
gcc/config/i386/i386.c:10801: +static bool
Add an empty line between comment and function.

http://codereview.appspot.com/5416043/diff/1/gcc/config/i386/i386.c#newcode10811
gcc/config/i386/i386.c:10811: +  if (!patch_functions_ignore_loops)
What exactly does this option try to do here?

http://codereview.appspot.com/5416043/diff/1/gcc/config/i386/i386.c#newcode10822
gcc/config/i386/i386.c:10822: +            return true;
should it have a an else return false here?

http://codereview.appspot.com/5416043/diff/1/gcc/config/i386/i386.c#newcode10841
gcc/config/i386/i386.c:10841: +            ++num_insns;
NON_DEBUG_INSN_P (insn)

http://codereview.appspot.com/5416043/diff/1/gcc/config/i386/i386.c#newcode10859
gcc/config/i386/i386.c:10859: +      patch_current_function_p =
check_should_patch_current_function();
Why do you need a static variable for this?

http://codereview.appspot.com/5416043/diff/1/gcc/config/i386/i386.c#newcode10874
gcc/config/i386/i386.c:10874: +   '_function_patch_epilogue'.
Explain why a backpointer section is needed.

http://codereview.appspot.com/5416043/diff/1/gcc/config/i386/i386.c#newcode10888
gcc/config/i386/i386.c:10888: +  unsigned int num_actual_nops =
num_remaining_nops - 8;
hard code of 8?

http://codereview.appspot.com/5416043/diff/1/gcc/config/i386/i386.c#newcode10897
gcc/config/i386/i386.c:10897: +    return false;
Can this be guarded in the caller of this function?

http://codereview.appspot.com/5416043/diff/1/gcc/config/i386/i386.c#newcode10927
gcc/config/i386/i386.c:10927: +     is later renamed to '<section_name>'
by ix86_elf_asm_named_section().  */
Explain more on the comdat handling.

http://codereview.appspot.com/5416043/diff/1/gcc/config/i386/i386.opt
File gcc/config/i386/i386.opt (right):

http://codereview.appspot.com/5416043/diff/1/gcc/config/i386/i386.opt#newcode570
gcc/config/i386/i386.opt:570: Minimum number of instructions in the
function without loop before the function is qualified for patching for
instrumentation (for use with -mpatch-functions-for-instrumentation)
It may be better to define PARAM for it.

http://codereview.appspot.com/5416043/diff/1/gcc/config/i386/i386.opt#newcode574
gcc/config/i386/i386.opt:574: Ignore loops when deciding whether to
patch a function for instrumentation (for use with
-mpatch-functions-for-instrumentation).
What is the motivation for this option?

http://codereview.appspot.com/5416043/diff/1/gcc/config/i386/i386.opt#newcode578
gcc/config/i386/i386.opt:578: Treat 'main' as any other function and
only patch it if it meets the criteria for loops and minimum number of
instructions (for use with -mpatch-functions-for-instrumentation).
What is the motivation for this option?

http://codereview.appspot.com/5416043/

Reply via email to