aboutsummaryrefslogtreecommitdiff
path: root/gcc/c-common.c
diff options
context:
space:
mode:
authorJeff Law <law@gcc.gnu.org>1994-11-10 21:53:33 -0700
committerJeff Law <law@gcc.gnu.org>1994-11-10 21:53:33 -0700
commit279c9bde625781e47709a2a5900c3c56966e67e7 (patch)
treef47e4f49d247da38fa20c4e200c92e0ecdfdb123 /gcc/c-common.c
parentba25ac36a7b77df8d3021f270fa28d64997d3d65 (diff)
downloadgcc-279c9bde625781e47709a2a5900c3c56966e67e7.zip
gcc-279c9bde625781e47709a2a5900c3c56966e67e7.tar.gz
gcc-279c9bde625781e47709a2a5900c3c56966e67e7.tar.bz2
* Automatic generation of inline long call sequences when needed.
* pa.h (TARGET_LONG_CALLS): Delete. Replace all uses of with TARGET_PORTABLE_RUNTIME. (TARGET_MILLICODE_LONG_CALLS): New target flag. * pa.c (output_function_prologue): Keep track of the total number of code bytes emitted for each source file. (output_call): Handle TARGET_PORTABLE_RUNTIME and millicode calls for TARGET_MILLICODE_LONG_CALLS. Emit an inline long-call if needed. If emitting an inline long-call, perform argument relocations before the call if they are needed, unfill the delay slot of the call if necessary. * pa.md (define_delay for millicode): Disable the delay slot if TARGET_MILLICODE_LONG_CALLS. (millicode insns and indirect calls): Properly compute length for both TARGET_PORTABLE_RUNTIME and TARGET_MILLICODE_LONG_CALLS. (call_internal_symref): Properly compute the length when more than 240000 bytes of code have already been output. Take TARGET_MILLICODE_LONG_CALLS into account in the length computation. From-SVN: r8422
Diffstat (limited to 'gcc/c-common.c')
0 files changed, 0 insertions, 0 deletions