Commit 3069b421 by Richard Biener Committed by Richard Biener

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
parent 1966fd99
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.
2014-02-14 Richard Biener <rguenther@suse.de>
PR lto/60179
* lto-streamer-out.c (DFS_write_tree_body): Do not follow
DECL_FUNCTION_SPECIFIC_TARGET.
......
......@@ -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;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment