gimple.h (remove_pointer): New trait.
authorRichard Biener <rguenther@suse.de>
Wed, 12 Aug 2015 07:42:31 +0000 (07:42 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Wed, 12 Aug 2015 07:42:31 +0000 (07:42 +0000)
commitbde351d539b33d5723a60835cf4b663afdcd821d
treefd22296b386f2d75e390a2b202de287caaa900c6
parentd27139850b789dbfc7c9c5604432c5d16114528d
gimple.h (remove_pointer): New trait.

2015-08-12  Richard Biener  <rguenther@suse.de>

* gimple.h (remove_pointer): New trait.
(GIMPLE_CHECK2): New inline template function.
(gassign::code_): New constant static member.
(is_a_helper<const gassign *>): Add.
(gimple_assign_lhs): Use GIMPLE_CHECK2 in the gimple overload
and forward to a new gassign overload with less checking and a
cheaper way to access the operand.
(gimple_assign_lhs_ptr): Likewise.
(gimple_assign_set_lhs): Likewise.
(gimple_assign_rhs1, gimple_assign_rhs1_ptr, gimple_assign_set_rhs1):
Likewise.
(gimple_assign_rhs2, gimple_assign_rhs2_ptr, gimple_assign_set_rhs2):
Likewise.
(gimple_assign_rhs3, gimple_assign_rhs3_ptr, gimple_assign_set_rhs3):
Likewise.
(gimple_assign_rhs_code): Likewise.
* gimple.c (gassign::code_): Define.

From-SVN: r226802
gcc/ChangeLog
gcc/gimple.c
gcc/gimple.h