compiler: Define immutability for numeric, constant, type info, type conversion, and addressof expressions.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209493 138bc75d-0d04-0410-961f-82ee72b054a4
	PR go/60870

compiler: Don't convert function type for an interface method.

For an interface method the function type is the type without
the receiver, which is wrong since we are passing a receiver.
The interface method will always have the correct type in this
case, so no type conversion is necessary.

Also don't do the type conversion when calling a named
function, since in that case the type is also always correct.

The type can be wrong, and the conversion required, when the
function type refers to itself recursively.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209494 138bc75d-0d04-0410-961f-82ee72b054a4
compiler: Use backend interface for constant expressions.

	* go-gcc.cc (Gcc_backend::named_constant_expression): New
	function.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209495 138bc75d-0d04-0410-961f-82ee72b054a4
2014-04-17  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/60876
	* config/rs6000/rs6000.c (rs6000_setup_reg_addr_masks): Make sure
	GET_MODE_SIZE gets passed an enum machine_mode type and not
	integer.
	(rs6000_init_hard_regno_mode_ok): Likewise.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209498 138bc75d-0d04-0410-961f-82ee72b054a4
2014-04-17  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/59200
	* g++.dg/cpp0x/alias-decl-42.C: New.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209499 138bc75d-0d04-0410-961f-82ee72b054a4
gofrontend: avoid use of unsafe.Sizeof extension

Avoid the use of a gccgo language extension which allows unsafe.Sizeof
to accept a type by passing an expression of the relevant type.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209503 138bc75d-0d04-0410-961f-82ee72b054a4
runtime: remove use of obsolete map deletion syntax

The use of this syntax was eliminated upstream in Go 992248b2adc2,
but this particular use slipped through somehow.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209506 138bc75d-0d04-0410-961f-82ee72b054a4
gofrontend: deduplicate C syscall function declarations

A gccgo language extension allows a function to be declared multiple
times. Avoid the use of this extension by dedeplicating declarations
in mksyscall.awk.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209508 138bc75d-0d04-0410-961f-82ee72b054a4
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209513 138bc75d-0d04-0410-961f-82ee72b054a4
[gcc]

2014-04-18  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* config/rs6000/vsx.md (vsx_xxmrghw_<mode>): Adjust for
	little-endian.
	(vsx_xxmrglw_<mode>): Likewise.

[gcc/testsuite]

2014-04-18  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* gcc.dg/vmx/merge-vsx.c: Add V4SI and V4SF tests.
	* gcc.dg/vmx/merge-vsx-be-order.c: Likewise.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209516 138bc75d-0d04-0410-961f-82ee72b054a4
aarch64: Fix build error in aarch64_register_move_cost

        * config/aarch64/aarch64.c (aarch64_register_move_cost): Pass a mode
        to GET_MODE_SIZE, not a reg_class_t.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209517 138bc75d-0d04-0410-961f-82ee72b054a4
	PR c++/60872
	* call.c (standard_conversion): Don't try to apply restrict to void.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209520 138bc75d-0d04-0410-961f-82ee72b054a4
	DR 1571
	* call.c (reference_binding): Recurse on user-defined conversion.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209521 138bc75d-0d04-0410-961f-82ee72b054a4
	* ipa-inline.c (spec_rem): New static variable.
	(dump_overall_stats): New function.
	(dump_inline_stats): New function.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209522 138bc75d-0d04-0410-961f-82ee72b054a4
	* ipa-inline.h (INLINE_HINT_known_hot): New hint.
	* ipa-inline-analysis.c (dump_inline_hints): Dump it.
	(do_estimate_edge_time): Compute it.
	* ipa-inline.c (want_inline_small_function_p): Bypass
	INLINE_INSNS_AUTO/SINGLE limits for calls that are known
	to be hot.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209523 138bc75d-0d04-0410-961f-82ee72b054a4
2014-04-18  Cong Hou  <congh@google.com>

        * tree-vect-patterns.c (vect_recog_widen_mult_pattern): Enhance
        the widen-mult pattern by handling two operands with different
        sizes.
        * tree-vect-stmts.c (vectorizable_conversion): Allow multi-steps
        conversions after widening mult operation.
        (supportable_widening_operation): Likewise.

2014-04-18  Cong Hou  <congh@google.com>

        * gcc.dg/vect/vect-widen-mult-u8-s16-s32.c: New test.
        * gcc.dg/vect/vect-widen-mult-u8-u32.c: New test.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209524 138bc75d-0d04-0410-961f-82ee72b054a4
Correct the discription in ChangLog:

2014-04-18  Cong Hou  <congh@google.com>

        * tree-vect-patterns.c (vect_recog_widen_mult_pattern): Enhance
        the widen-mult pattern by handling two operands with different
        sizes, and operands whose size is smaller than half of the result
        type.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209525 138bc75d-0d04-0410-961f-82ee72b054a4
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209530 138bc75d-0d04-0410-961f-82ee72b054a4
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209534 138bc75d-0d04-0410-961f-82ee72b054a4
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209542 138bc75d-0d04-0410-961f-82ee72b054a4