aboutsummaryrefslogtreecommitdiff
path: root/gcc/cilk-common.c
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2014-02-14 14:07:30 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2014-02-14 14:07:30 +0000
commit3069b4210a4330c9bb570a1e65bb68144aea1761 (patch)
treeaa5f0b15f66120c3faaea0084413e5c79de357b8 /gcc/cilk-common.c
parent1966fd99d822c06cbfb667806ba8bcf1fecaef58 (diff)
downloadgcc-3069b4210a4330c9bb570a1e65bb68144aea1761.zip
gcc-3069b4210a4330c9bb570a1e65bb68144aea1761.tar.gz
gcc-3069b4210a4330c9bb570a1e65bb68144aea1761.tar.bz2
cilk-common.c (cilk_arrow): Build a MEM_REF, not an INDIRECT_REF.
2014-02-14 Richard Biener <rguenther@suse.de> * cilk-common.c (cilk_arrow): Build a MEM_REF, not an INDIRECT_REF. (get_frame_arg): Drop the assert with langhook types_compatible_p. Do not strip INDIRECT_REFs. From-SVN: r207784
Diffstat (limited to 'gcc/cilk-common.c')
-rw-r--r--gcc/cilk-common.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/gcc/cilk-common.c b/gcc/cilk-common.c
index f2a3b75..a6a1aa2 100644
--- a/gcc/cilk-common.c
+++ b/gcc/cilk-common.c
@@ -66,8 +66,7 @@ cilk_dot (tree frame, int field_number, bool volatil)
tree
cilk_arrow (tree frame_ptr, int field_number, bool volatil)
{
- return cilk_dot (fold_build1 (INDIRECT_REF,
- TREE_TYPE (TREE_TYPE (frame_ptr)), frame_ptr),
+ return cilk_dot (build_simple_mem_ref (frame_ptr),
field_number, volatil);
}
@@ -287,12 +286,9 @@ get_frame_arg (tree call)
argtype = TREE_TYPE (argtype);
- gcc_assert (!lang_hooks.types_compatible_p
- || lang_hooks.types_compatible_p (argtype, cilk_frame_type_decl));
-
/* If it is passed in as an address, then just use the value directly
since the function is inlined. */
- if (TREE_CODE (arg) == INDIRECT_REF || TREE_CODE (arg) == ADDR_EXPR)
+ if (TREE_CODE (arg) == ADDR_EXPR)
return TREE_OPERAND (arg, 0);
return arg;
}