Ask Your Question
1

What is the method to verify if gcc is optimizing tail-recursion?

asked 2021-05-05 11:00:00 +0000

pufferfish gravatar image

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
3

answered 2021-07-25 19:00:00 +0000

lakamha gravatar image

One method to verify if GCC is optimizing tail-recursion is to compile the code with the optimization flag "-O2" using the command "gcc -O2 filename.c -o outputfile". After that, use the command "objdump -d outputfile" to see the assembly code. If the tail-recursion has been optimized, there should be a "jmp" instruction instead of a "call" instruction at the end of the recursive function. Another method is to use the flag "-S" instead of "-c" while compiling, which will generate the assembly code in a separate file. You can then look at the assembly code to see if the tail-recursion has been optimized.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account. This space is reserved only for answers. If you would like to engage in a discussion, please instead post a comment under the question or an answer that you would like to discuss

Add Answer


Question Tools

Stats

Asked: 2021-05-05 11:00:00 +0000

Seen: 19 times

Last updated: Jul 25 '21