[gcc(refs/users/marxin/heads/slp-function-v2)] jit: implement BT_CONST_VOLATILE_PTR [PR 95306]
Martin Liska
marxin@gcc.gnu.org
Thu Jun 11 09:47:13 GMT 2020
https://gcc.gnu.org/g:6d36cc21b69d952967a4df6653954f572a101796
commit 6d36cc21b69d952967a4df6653954f572a101796
Author: David Malcolm <dmalcolm@redhat.com>
Date: Wed Jun 3 08:59:23 2020 -0400
jit: implement BT_CONST_VOLATILE_PTR [PR 95306]
gcc/jit/ChangeLog:
PR jit/95306
* jit-builtins.c (builtins_manager::make_primitive_type):
Implement BT_CONST_VOLATILE_PTR.
gcc/testsuite/ChangeLog:
PR jit/95306
* jit.dg/test-pr95306-builtin-types.c (create_code): Add
test of getting __atomic_load.
Diff:
---
gcc/jit/jit-builtins.c | 4 +++-
gcc/testsuite/jit.dg/test-pr95306-builtin-types.c | 1 +
2 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/gcc/jit/jit-builtins.c b/gcc/jit/jit-builtins.c
index 4842ff3ea96..56a79b4e249 100644
--- a/gcc/jit/jit-builtins.c
+++ b/gcc/jit/jit-builtins.c
@@ -513,7 +513,9 @@ builtins_manager::make_primitive_type (enum jit_builtin_type type_id)
case BT_VOLATILE_PTR:
return (m_ctxt->get_type (GCC_JIT_TYPE_VOID)->get_volatile ()
->get_pointer ());
- // case BT_CONST_VOLATILE_PTR:
+ case BT_CONST_VOLATILE_PTR:
+ return (m_ctxt->get_type (GCC_JIT_TYPE_VOID)->get_const ()
+ ->get_volatile ()->get_pointer ());
// case BT_PTRMODE:
case BT_INT_PTR:
return m_ctxt->get_type (GCC_JIT_TYPE_INT)->get_pointer ();
diff --git a/gcc/testsuite/jit.dg/test-pr95306-builtin-types.c b/gcc/testsuite/jit.dg/test-pr95306-builtin-types.c
index 6c3b087ab98..960163ed7d4 100644
--- a/gcc/testsuite/jit.dg/test-pr95306-builtin-types.c
+++ b/gcc/testsuite/jit.dg/test-pr95306-builtin-types.c
@@ -8,6 +8,7 @@ create_code (gcc_jit_context *ctxt, void *user_data)
#define CHECK_BUILTIN(NAME) \
CHECK_NON_NULL (gcc_jit_context_get_builtin_function (ctxt, NAME));
+ CHECK_BUILTIN ("__atomic_load");
CHECK_BUILTIN ("__builtin_memcpy");
CHECK_BUILTIN ("__builtin_sadd_overflow");
More information about the Gcc-cvs
mailing list