aboutsummaryrefslogtreecommitdiff
path: root/libjava/testsuite/libjava.loader/TestLeak.java
diff options
context:
space:
mode:
authorLulu Cheng <chenglulu@loongson.cn>2022-08-20 15:19:51 +0800
committerLulu Cheng <chenglulu@loongson.cn>2022-08-24 14:55:34 +0800
commitd1028c5773049bae4bb4261e3bbaae442455de83 (patch)
tree390c68a04268c24ddc6b6fe6a3167d30ad2f7d9e /libjava/testsuite/libjava.loader/TestLeak.java
parentb6864f4ee87fb56299fc82e1e0ced127b747d87a (diff)
downloadgcc-d1028c5773049bae4bb4261e3bbaae442455de83.zip
gcc-d1028c5773049bae4bb4261e3bbaae442455de83.tar.gz
gcc-d1028c5773049bae4bb4261e3bbaae442455de83.tar.bz2
LoongArch: Add new code model 'medium'.
The function jump instruction in normal mode is 'bl', so the scope of the function jump is +-128MB. Now we've added support for 'medium' mode, this mode is to complete the function jump through two instructions: pcalau12i + jirl So in this mode the function jump range is increased to +-2GB. Compared with 'normal' mode, 'medium' mode only affects the jump range of functions. gcc/ChangeLog: * config/loongarch/genopts/loongarch-strings: Support code model medium. * config/loongarch/genopts/loongarch.opt.in: Likewise. * config/loongarch/loongarch-def.c: Likewise. * config/loongarch/loongarch-def.h (CMODEL_LARGE): Likewise. (CMODEL_EXTREME): Likewise. (N_CMODEL_TYPES): Likewise. (CMODEL_MEDIUM): Likewise. * config/loongarch/loongarch-opts.cc: Likewise. * config/loongarch/loongarch-opts.h (TARGET_CMODEL_MEDIUM): Likewise. * config/loongarch/loongarch-str.h (STR_CMODEL_MEDIUM): Likewise. * config/loongarch/loongarch.cc (loongarch_call_tls_get_addr): Tls symbol Loading support medium mode. (loongarch_legitimize_call_address): When medium mode, make a symbolic jump with two instructions. (loongarch_option_override_internal): Support medium. * config/loongarch/loongarch.md (@pcalau12i<mode>): New template. (@sibcall_internal_1<mode>): New function call templates added to support medium mode. (@sibcall_value_internal_1<mode>): Likewise. (@sibcall_value_multiple_internal_1<mode>): Likewise. (@call_internal_1<mode>): Likewise. (@call_value_internal_1<mode>): Likewise. (@call_value_multiple_internal_1<mode>): Likewise. * config/loongarch/loongarch.opt: Support medium. * config/loongarch/predicates.md: Add processing about medium mode. * doc/invoke.texi: Document for '-mcmodel=medium'. gcc/testsuite/ChangeLog: * gcc.target/loongarch/func-call-medium-1.c: New test. * gcc.target/loongarch/func-call-medium-2.c: New test. * gcc.target/loongarch/func-call-medium-3.c: New test. * gcc.target/loongarch/func-call-medium-4.c: New test. * gcc.target/loongarch/func-call-medium-5.c: New test. * gcc.target/loongarch/func-call-medium-6.c: New test. * gcc.target/loongarch/func-call-medium-7.c: New test. * gcc.target/loongarch/func-call-medium-8.c: New test. * gcc.target/loongarch/tls-gd-noplt.c: Add compile parameter '-mexplicit-relocs'.
Diffstat (limited to 'libjava/testsuite/libjava.loader/TestLeak.java')
0 files changed, 0 insertions, 0 deletions