aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorKwok Cheung Yeung <kcy@codesourcery.com>2019-11-15 14:56:41 +0000
committerKwok Cheung Yeung <kcy@gcc.gnu.org>2019-11-15 14:56:41 +0000
commit3ed8f692900b356996cdcf0f88746018fbda57ff (patch)
tree3972cc0a3f40e5e0ee40ddb8a39da2be5935665c /gcc
parent9b41ebbcdf9e33285a0eebeb7c841afe20e4a7c1 (diff)
downloadgcc-3ed8f692900b356996cdcf0f88746018fbda57ff.zip
gcc-3ed8f692900b356996cdcf0f88746018fbda57ff.tar.gz
gcc-3ed8f692900b356996cdcf0f88746018fbda57ff.tar.bz2
[amdgcn] Reinitialize registers for every function
gcn_conditional_register_usage needs to be called for every function to set the fixed registers depending on the kernel args currently requested. 2019-11-15 Kwok Cheung Yeung <kcy@codesourcery.com> gcc/ * config/gcn/gcn.c (gcn_init_cumulative_args): Call reinit_regs. From-SVN: r278299
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/gcn/gcn.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 1e32d49..7c963cd 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,6 +1,9 @@
2019-11-15 Kwok Cheung Yeung <kcy@codesourcery.com>
- gcc/
+ * config/gcn/gcn.c (gcn_init_cumulative_args): Call reinit_regs.
+
+2019-11-15 Kwok Cheung Yeung <kcy@codesourcery.com>
+
* config/gcn/gcn.c (gcn_expand_prologue): Remove initialization and
prologue use of v0.
(print_operand_address): Use v1 for zero vector offset.
diff --git a/gcc/config/gcn/gcn.c b/gcc/config/gcn/gcn.c
index 4f72758..d2ec6e1 100644
--- a/gcc/config/gcn/gcn.c
+++ b/gcc/config/gcn/gcn.c
@@ -2438,6 +2438,8 @@ gcn_init_cumulative_args (CUMULATIVE_ARGS *cum /* Argument info to init */ ,
cfun->machine->args = cum->args;
if (!caller && cfun->machine->normal_function)
gcn_detect_incoming_pointer_arg (fndecl);
+
+ reinit_regs ();
}
static bool