diff options
author | Jiong Wang <jiong.wang@arm.com> | 2015-07-08 20:18:00 +0000 |
---|---|---|
committer | Jiong Wang <jiwang@gcc.gnu.org> | 2015-07-08 20:18:00 +0000 |
commit | 7b841a1252c610d817f1ea0fba140834e5443e7f (patch) | |
tree | 6eb71504ffd7756850f22c4bdab8f7a99367519d /gcc | |
parent | a2eaa477193f5a408da6d7a3719477982dee850b (diff) | |
download | gcc-7b841a1252c610d817f1ea0fba140834e5443e7f.zip gcc-7b841a1252c610d817f1ea0fba140834e5443e7f.tar.gz gcc-7b841a1252c610d817f1ea0fba140834e5443e7f.tar.bz2 |
[AArch64] Define TARGET_UNSPEC_MAY_TRAP_P
gcc/
* config/aarch64/aarch64.c (aarch64_unspec_may_trap_p): New function.
(TARGET_UNSPEC_MAY_TRAP_P): Define as aarch64_unspec_may_trap_p.
From-SVN: r225581
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/aarch64/aarch64.c | 21 |
2 files changed, 26 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index bbab89b..3432adb 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2015-07-08 Jiong Wang <jiong.wang@arm.com> + + * config/aarch64/aarch64.c (aarch64_unspec_may_trap_p): New function. + (TARGET_UNSPEC_MAY_TRAP_P): Define as aarch64_unspec_may_trap_p. + 2015-07-08 H.J. Lu <hongjiu.lu@intel.com> PR target/66746 diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c index cb00ad3..6c13a078 100644 --- a/gcc/config/aarch64/aarch64.c +++ b/gcc/config/aarch64/aarch64.c @@ -11890,6 +11890,24 @@ aarch64_use_pseudo_pic_reg (void) return aarch64_cmodel == AARCH64_CMODEL_SMALL_SPIC; } +/* Implement TARGET_UNSPEC_MAY_TRAP_P. */ + +static int +aarch64_unspec_may_trap_p (const_rtx x, unsigned flags) +{ + switch (XINT (x, 1)) + { + case UNSPEC_GOTSMALLPIC: + case UNSPEC_GOTSMALLPIC28K: + case UNSPEC_GOTTINYPIC: + return 0; + default: + break; + } + + return default_unspec_may_trap_p (x, flags); +} + #undef TARGET_ADDRESS_COST #define TARGET_ADDRESS_COST aarch64_address_cost @@ -12168,6 +12186,9 @@ aarch64_use_pseudo_pic_reg (void) #undef TARGET_SCHED_FUSION_PRIORITY #define TARGET_SCHED_FUSION_PRIORITY aarch64_sched_fusion_priority +#undef TARGET_UNSPEC_MAY_TRAP_P +#define TARGET_UNSPEC_MAY_TRAP_P aarch64_unspec_may_trap_p + #undef TARGET_USE_PSEUDO_PIC_REG #define TARGET_USE_PSEUDO_PIC_REG aarch64_use_pseudo_pic_reg |