platform/upstream/linaro-gcc.git
9 years agoAdd -B support to gcc-ar/ranlib/nm
ak [Mon, 1 Sep 2014 16:41:17 +0000 (16:41 +0000)]
Add -B support to gcc-ar/ranlib/nm

To use gcc-{ar,ranlib} for boot strap we need to add a -B option
to the tool. Since ar has weird and unusual argument conventions
implement the code by hand instead of using any libraries.

gcc/:

2014-09-01  Andi Kleen  <ak@linux.intel.com>

* file-find.c (add_prefix_begin): Add.
(do_add_prefix): Rename from add_prefix with first argument.
(add_prefix): Add new wrapper.
* file-find.h (add_prefix_begin): Add.
* gcc-ar.c (main): Support -B option.

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

9 years ago * gcc.dg/tree-ssa/loop-19.c: Exclude classic FPU Power targets.
macro [Mon, 1 Sep 2014 14:54:13 +0000 (14:54 +0000)]
* gcc.dg/tree-ssa/loop-19.c: Exclude classic FPU Power targets.

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

9 years ago * lib/target-supports.exp (check_effective_target_arm_cortex_m):
macro [Mon, 1 Sep 2014 14:43:13 +0000 (14:43 +0000)]
* lib/target-supports.exp (check_effective_target_arm_cortex_m):
Return right away if !arm*-*-*.

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

9 years ago2014-09-01 Segher Boessenkool <segher@kernel.crashing.org>
segher [Mon, 1 Sep 2014 14:30:00 +0000 (14:30 +0000)]
2014-09-01  Segher Boessenkool  <segher@kernel.crashing.org>

* genemit.c: Include dumpfile.h.
(gen_split): Print name of splitter function to dump file.

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

9 years ago2014-09-01 Richard Biener <rguenther@suse.de>
rguenth [Mon, 1 Sep 2014 13:38:31 +0000 (13:38 +0000)]
2014-09-01  Richard Biener  <rguenther@suse.de>

* tree-ssa-struct-aliases.c (find_func_aliases_for_builtin_call):
Use stack auto_vecs for constraint expressions.
(find_func_aliases_for_call): Likewise.
(find_func_aliases): Likewise.
(find_func_clobbers): Likewise.

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

9 years ago2014-09-01 Richard Biener <rguenther@suse.de>
rguenth [Mon, 1 Sep 2014 13:37:53 +0000 (13:37 +0000)]
2014-09-01  Richard Biener  <rguenther@suse.de>

* tree-ssa-pre.c (phi_translate_1): Avoid re-allocating the
operands vector in most cases.  Remove redundant code.

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

9 years agoMove almost all unsorted c-torture tests to compile.
bernds [Mon, 1 Sep 2014 13:30:41 +0000 (13:30 +0000)]
Move almost all unsorted c-torture tests to compile.

* gcc.c-torture/unsorted/386.c: Move to ...
* gcc.c-torture/compile/386.c: ... here.
* gcc.c-torture/unsorted/86.c: Move to ...
* gcc.c-torture/compile/86.c: ... here.
* gcc.c-torture/unsorted/a1.c: Move to ...
* gcc.c-torture/compile/a1.c: ... here.
* gcc.c-torture/unsorted/a3.c: Move to ...
* gcc.c-torture/compile/a3.c: ... here.
* gcc.c-torture/unsorted/aaa.c: Move to ...
* gcc.c-torture/compile/aaa.c: ... here.
* gcc.c-torture/unsorted/aa.c: Move to ...
* gcc.c-torture/compile/aa.c: ... here.
* gcc.c-torture/unsorted/abs.c: Move to ...
* gcc.c-torture/compile/abs.c: ... here.
* gcc.c-torture/unsorted/a.c: Move to ...
* gcc.c-torture/compile/a.c: ... here.
* gcc.c-torture/unsorted/ac.c: Move to ...
* gcc.c-torture/compile/ac.c: ... here.
* gcc.c-torture/unsorted/acc.c: Move to ...
* gcc.c-torture/compile/acc.c: ... here.
* gcc.c-torture/unsorted/add386.c: Move to ...
* gcc.c-torture/compile/add386.c: ... here.
* gcc.c-torture/unsorted/add.c: Move to ...
* gcc.c-torture/compile/add.c: ... here.
* gcc.c-torture/unsorted/addcc.c: Move to ...
* gcc.c-torture/compile/addcc.c: ... here.
* gcc.c-torture/unsorted/andm.c: Move to ...
* gcc.c-torture/compile/andm.c: ... here.
* gcc.c-torture/unsorted/andmem.c: Move to ...
* gcc.c-torture/compile/andmem.c: ... here.
* gcc.c-torture/unsorted/andn.c: Move to ...
* gcc.c-torture/compile/andn.c: ... here.
* gcc.c-torture/unsorted/andok.c: Move to ...
* gcc.c-torture/compile/andok.c: ... here.
* gcc.c-torture/unsorted/andsi.c: Move to ...
* gcc.c-torture/compile/andsi.c: ... here.
* gcc.c-torture/unsorted/andsparc.c: Move to ...
* gcc.c-torture/compile/andsparc.c: ... here.
* gcc.c-torture/unsorted/aos.c: Move to ...
* gcc.c-torture/compile/aos.c: ... here.
* gcc.c-torture/unsorted/arr.c: Move to ...
* gcc.c-torture/compile/arr.c: ... here.
* gcc.c-torture/unsorted/as.c: Move to ...
* gcc.c-torture/compile/as.c: ... here.
* gcc.c-torture/unsorted/ase.c: Move to ...
* gcc.c-torture/compile/ase.c: ... here.
* gcc.c-torture/unsorted/b1.c: Move to ...
* gcc.c-torture/compile/b1.c: ... here.
* gcc.c-torture/unsorted/b2.c: Move to ...
* gcc.c-torture/compile/b2.c: ... here.
* gcc.c-torture/unsorted/b3.c: Move to ...
* gcc.c-torture/compile/b3.c: ... here.
* gcc.c-torture/unsorted/b88.c: Move to ...
* gcc.c-torture/compile/b88.c: ... here.
* gcc.c-torture/unsorted/bad.c: Move to ...
* gcc.c-torture/compile/bad.c: ... here.
* gcc.c-torture/unsorted/band.c: Move to ...
* gcc.c-torture/compile/band.c: ... here.
* gcc.c-torture/unsorted/bb0.c: Move to ...
* gcc.c-torture/compile/bb0.c: ... here.
* gcc.c-torture/unsorted/bb1.c: Move to ...
* gcc.c-torture/compile/bb1.c: ... here.
* gcc.c-torture/unsorted/bbb.c: Move to ...
* gcc.c-torture/compile/bbb.c: ... here.
* gcc.c-torture/unsorted/b.c: Move to ...
* gcc.c-torture/compile/b.c: ... here.
* gcc.c-torture/unsorted/bc.c: Move to ...
* gcc.c-torture/compile/bc.c: ... here.
* gcc.c-torture/unsorted/bcopy.c: Move to ...
* gcc.c-torture/compile/bcopy.c: ... here.
* gcc.c-torture/unsorted/bf.c: Move to ...
* gcc.c-torture/compile/bf.c: ... here.
* gcc.c-torture/unsorted/bfins.c: Move to ...
* gcc.c-torture/compile/bfins.c: ... here.
* gcc.c-torture/unsorted/bfx.c: Move to ...
* gcc.c-torture/compile/bfx.c: ... here.
* gcc.c-torture/unsorted/bge.c: Move to ...
* gcc.c-torture/compile/bge.c: ... here.
* gcc.c-torture/unsorted/bit.c: Move to ...
* gcc.c-torture/compile/bit.c: ... here.
* gcc.c-torture/unsorted/bitf.c: Move to ...
* gcc.c-torture/compile/bitf.c: ... here.
* gcc.c-torture/unsorted/bitw.c: Move to ...
* gcc.c-torture/compile/bitw.c: ... here.
* gcc.c-torture/unsorted/blk.c: Move to ...
* gcc.c-torture/compile/blk.c: ... here.
* gcc.c-torture/unsorted/bt386.c: Move to ...
* gcc.c-torture/compile/bt386.c: ... here.
* gcc.c-torture/unsorted/bt.c: Move to ...
* gcc.c-torture/compile/bt.c: ... here.
* gcc.c-torture/unsorted/BUG11.c: Move to ...
* gcc.c-torture/compile/BUG11.c: ... here.
* gcc.c-torture/unsorted/BUG12.c: Move to ...
* gcc.c-torture/compile/BUG12.c: ... here.
* gcc.c-torture/unsorted/BUG13.c: Move to ...
* gcc.c-torture/compile/BUG13.c: ... here.
* gcc.c-torture/unsorted/BUG16.c: Move to ...
* gcc.c-torture/compile/BUG16.c: ... here.
* gcc.c-torture/unsorted/BUG17.c: Move to ...
* gcc.c-torture/compile/BUG17.c: ... here.
* gcc.c-torture/unsorted/BUG18.c: Move to ...
* gcc.c-torture/compile/BUG18.c: ... here.
* gcc.c-torture/unsorted/BUG1.c: Move to ...
* gcc.c-torture/compile/BUG1.c: ... here.
* gcc.c-torture/unsorted/BUG21.c: Move to ...
* gcc.c-torture/compile/BUG21.c: ... here.
* gcc.c-torture/unsorted/BUG22.c: Move to ...
* gcc.c-torture/compile/BUG22.c: ... here.
* gcc.c-torture/unsorted/BUG23.c: Move to ...
* gcc.c-torture/compile/BUG23.c: ... here.
* gcc.c-torture/unsorted/BUG24.c: Move to ...
* gcc.c-torture/compile/BUG24.c: ... here.
* gcc.c-torture/unsorted/BUG25.c: Move to ...
* gcc.c-torture/compile/BUG25.c: ... here.
* gcc.c-torture/unsorted/BUG2.c: Move to ...
* gcc.c-torture/compile/BUG2.c: ... here.
* gcc.c-torture/unsorted/BUG3.c: Move to ...
* gcc.c-torture/compile/BUG3.c: ... here.
* gcc.c-torture/unsorted/BUG4.c: Move to ...
* gcc.c-torture/compile/BUG4.c: ... here.
* gcc.c-torture/unsorted/BUG5.c: Move to ...
* gcc.c-torture/compile/BUG5.c: ... here.
* gcc.c-torture/unsorted/BUG6.c: Move to ...
* gcc.c-torture/compile/BUG6.c: ... here.
* gcc.c-torture/unsorted/bug.c: Move to ...
* gcc.c-torture/compile/bug.c: ... here.
* gcc.c-torture/unsorted/bugc.c: Move to ...
* gcc.c-torture/compile/bugc.c: ... here.
* gcc.c-torture/unsorted/buns.c: Move to ...
* gcc.c-torture/compile/buns.c: ... here.
* gcc.c-torture/unsorted/bx.c: Move to ...
* gcc.c-torture/compile/bx.c: ... here.
* gcc.c-torture/unsorted/c1.c: Move to ...
* gcc.c-torture/compile/c1.c: ... here.
* gcc.c-torture/unsorted/c2.c: Move to ...
* gcc.c-torture/compile/c2.c: ... here.
* gcc.c-torture/unsorted/call386.c: Move to ...
* gcc.c-torture/compile/call386.c: ... here.
* gcc.c-torture/unsorted/call.c: Move to ...
* gcc.c-torture/compile/call.c: ... here.
* gcc.c-torture/unsorted/callind.c: Move to ...
* gcc.c-torture/compile/callind.c: ... here.
* gcc.c-torture/unsorted/c.c: Move to ...
* gcc.c-torture/compile/c.c: ... here.
* gcc.c-torture/unsorted/cc.c: Move to ...
* gcc.c-torture/compile/cc.c: ... here.
* gcc.c-torture/unsorted/charmtst.c: Move to ...
* gcc.c-torture/compile/charmtst.c: ... here.
* gcc.c-torture/unsorted/cmb.c: Move to ...
* gcc.c-torture/compile/cmb.c: ... here.
* gcc.c-torture/unsorted/cmp.c: Move to ...
* gcc.c-torture/compile/cmp.c: ... here.
* gcc.c-torture/unsorted/cmphi.c: Move to ...
* gcc.c-torture/compile/cmphi.c: ... here.
* gcc.c-torture/unsorted/cmpsi386.c: Move to ...
* gcc.c-torture/compile/cmpsi386.c: ... here.
* gcc.c-torture/unsorted/cmul.c: Move to ...
* gcc.c-torture/compile/cmul.c: ... here.
* gcc.c-torture/unsorted/cn1.c: Move to ...
* gcc.c-torture/compile/cn1.c: ... here.
* gcc.c-torture/unsorted/comb.c: Move to ...
* gcc.c-torture/compile/comb.c: ... here.
* gcc.c-torture/unsorted/consec.c: Move to ...
* gcc.c-torture/compile/consec.c: ... here.
* gcc.c-torture/unsorted/const.c: Move to ...
* gcc.c-torture/compile/const.c: ... here.
* gcc.c-torture/unsorted/conv.c: Move to ...
* gcc.c-torture/compile/conv.c: ... here.
* gcc.c-torture/unsorted/conv_tst.c: Move to ...
* gcc.c-torture/compile/conv_tst.c: ... here.
* gcc.c-torture/unsorted/cp.c: Move to ...
* gcc.c-torture/compile/cp.c: ... here.
* gcc.c-torture/unsorted/csebug.c: Move to ...
* gcc.c-torture/compile/csebug.c: ... here.
* gcc.c-torture/unsorted/cvt.c: Move to ...
* gcc.c-torture/compile/cvt.c: ... here.
* gcc.c-torture/unsorted/dblbug.c: Move to ...
* gcc.c-torture/compile/dblbug.c: ... here.
* gcc.c-torture/unsorted/dbl_parm.c: Move to ...
* gcc.c-torture/compile/dbl_parm.c: ... here.
* gcc.c-torture/unsorted/d.c: Move to ...
* gcc.c-torture/compile/d.c: ... here.
* gcc.c-torture/unsorted/ddd.c: Move to ...
* gcc.c-torture/compile/ddd.c: ... here.
* gcc.c-torture/unsorted/dead.c: Move to ...
* gcc.c-torture/compile/dead.c: ... here.
* gcc.c-torture/unsorted/delay.c: Move to ...
* gcc.c-torture/compile/delay.c: ... here.
* gcc.c-torture/unsorted/DFcmp.c: Move to ...
* gcc.c-torture/compile/DFcmp.c: ... here.  Require int32plus.
* gcc.c-torture/unsorted/di.c: Move to ...
* gcc.c-torture/compile/di.c: ... here.
* gcc.c-torture/unsorted/dic.c: Move to ...
* gcc.c-torture/compile/dic.c: ... here.
* gcc.c-torture/unsorted/dilayout.c: Move to ...
* gcc.c-torture/compile/dilayout.c: ... here.
* gcc.c-torture/unsorted/dimove.c: Move to ...
* gcc.c-torture/compile/dimove.c: ... here.
* gcc.c-torture/unsorted/dimul.c: Move to ...
* gcc.c-torture/compile/dimul.c: ... here.
* gcc.c-torture/unsorted/div.c: Move to ...
* gcc.c-torture/compile/div.c: ... here.
* gcc.c-torture/unsorted/divdf.c: Move to ...
* gcc.c-torture/compile/divdf.c: ... here.
* gcc.c-torture/unsorted/dm.c: Move to ...
* gcc.c-torture/compile/dm.c: ... here.
* gcc.c-torture/unsorted/dshift.c: Move to ...
* gcc.c-torture/compile/dshift.c: ... here.
* gcc.c-torture/unsorted/e.c: Move to ...
* gcc.c-torture/compile/e.c: ... here.
* gcc.c-torture/unsorted/ex.c: Move to ...
* gcc.c-torture/compile/ex.c: ... here.
* gcc.c-torture/unsorted/ext.c: Move to ...
* gcc.c-torture/compile/ext.c: ... here.
* gcc.c-torture/unsorted/f1.c: Move to ...
* gcc.c-torture/compile/f1.c: ... here.
* gcc.c-torture/unsorted/f2.c: Move to ...
* gcc.c-torture/compile/f2.c: ... here.
* gcc.c-torture/unsorted/fdmul.c: Move to ...
* gcc.c-torture/compile/fdmul.c: ... here.
* gcc.c-torture/unsorted/float.c: Move to ...
* gcc.c-torture/compile/float.c: ... here.
* gcc.c-torture/unsorted/flo.c: Move to ...
* gcc.c-torture/compile/flo.c: ... here.
* gcc.c-torture/unsorted/flt_const.c: Move to ...
* gcc.c-torture/compile/flt_const.c: ... here.
* gcc.c-torture/unsorted/fnul.c: Move to ...
* gcc.c-torture/compile/fnul.c: ... here.
* gcc.c-torture/unsorted/foo.c: Move to ...
* gcc.c-torture/compile/foo.c: ... here.
* gcc.c-torture/unsorted/forgetcc.c: Move to ...
* gcc.c-torture/compile/forgetcc.c: ... here.
* gcc.c-torture/unsorted/fq.c: Move to ...
* gcc.c-torture/compile/fq.c: ... here.
* gcc.c-torture/unsorted/g.c: Move to ...
* gcc.c-torture/compile/g.c: ... here.
* gcc.c-torture/unsorted/gen_tst.c: Move to ...
* gcc.c-torture/compile/gen_tst.c: ... here.
* gcc.c-torture/unsorted/glob.c: Move to ...
* gcc.c-torture/compile/glob.c: ... here.
* gcc.c-torture/unsorted/gronk.c: Move to ...
* gcc.c-torture/compile/gronk.c: ... here.
* gcc.c-torture/unsorted/hibug.c: Move to ...
* gcc.c-torture/compile/hibug.c: ... here.
* gcc.c-torture/unsorted/hi.c: Move to ...
* gcc.c-torture/compile/hi.c: ... here.
* gcc.c-torture/unsorted/HIcmp.c: Move to ...
* gcc.c-torture/compile/HIcmp.c: ... here.
* gcc.c-torture/unsorted/HIset.c: Move to ...
* gcc.c-torture/compile/HIset.c: ... here.
* gcc.c-torture/unsorted/i.c: Move to ...
* gcc.c-torture/compile/i.c: ... here.
* gcc.c-torture/unsorted/i++.c: Move to ...
* gcc.c-torture/compile/i++.c: ... here.
* gcc.c-torture/unsorted/ic.c: Move to ...
* gcc.c-torture/compile/ic.c: ... here.
* gcc.c-torture/unsorted/icmp.c: Move to ...
* gcc.c-torture/compile/icmp.c: ... here.
* gcc.c-torture/unsorted/ifreg.c: Move to ...
* gcc.c-torture/compile/ifreg.c: ... here.
* gcc.c-torture/unsorted/imm.c: Move to ...
* gcc.c-torture/compile/imm.c: ... here.
* gcc.c-torture/unsorted/isinf.c: Move to ...
* gcc.c-torture/compile/isinf.c: ... here.
* gcc.c-torture/unsorted/jmp.c: Move to ...
* gcc.c-torture/compile/jmp.c: ... here.
* gcc.c-torture/unsorted/jumptab.c: Move to ...
* gcc.c-torture/compile/jumptab.c: ... here.
* gcc.c-torture/unsorted/layout.c: Move to ...
* gcc.c-torture/compile/layout.c: ... here.
* gcc.c-torture/unsorted/lbug.c: Move to ...
* gcc.c-torture/compile/lbug.c: ... here.
* gcc.c-torture/unsorted/l.c: Move to ...
* gcc.c-torture/compile/l.c: ... here.
* gcc.c-torture/unsorted/ll1.c: Move to ...
* gcc.c-torture/compile/ll1.c: ... here.
* gcc.c-torture/unsorted/llbug.c: Move to ...
* gcc.c-torture/compile/llbug.c: ... here.
* gcc.c-torture/unsorted/lll.c: Move to ...
* gcc.c-torture/compile/lll.c: ... here.
* gcc.c-torture/unsorted/load8.c: Move to ...
* gcc.c-torture/compile/load8.c: ... here.
* gcc.c-torture/unsorted/loadhicc.c: Move to ...
* gcc.c-torture/compile/loadhicc.c: ... here.
* gcc.c-torture/unsorted/log2.c: Move to ...
* gcc.c-torture/compile/log2.c: ... here.
* gcc.c-torture/unsorted/logic.c: Move to ...
* gcc.c-torture/compile/logic.c: ... here.
* gcc.c-torture/unsorted/loop-1.c: Move to ...
* gcc.c-torture/compile/loop-1.c: ... here.
* gcc.c-torture/unsorted/loop386.c: Move to ...
* gcc.c-torture/compile/loop386.c: ... here.
* gcc.c-torture/unsorted/lop.c: Move to ...
* gcc.c-torture/compile/lop.c: ... here.
* gcc.c-torture/unsorted/m1.c: Move to ...
* gcc.c-torture/compile/m1.c: ... here.
* gcc.c-torture/unsorted/m2.c: Move to ...
* gcc.c-torture/compile/m2.c: ... here.
* gcc.c-torture/unsorted/m5.c: Move to ...
* gcc.c-torture/compile/m5.c: ... here.
* gcc.c-torture/unsorted/m68.c: Move to ...
* gcc.c-torture/compile/m68.c: ... here.
* gcc.c-torture/unsorted/mbyte.c: Move to ...
* gcc.c-torture/compile/mbyte.c: ... here.
* gcc.c-torture/unsorted/mchar.c: Move to ...
* gcc.c-torture/compile/mchar.c: ... here.
* gcc.c-torture/unsorted/mcmp.c: Move to ...
* gcc.c-torture/compile/mcmp.c: ... here.
* gcc.c-torture/unsorted/mdouble.c: Move to ...
* gcc.c-torture/compile/mdouble.c: ... here.
* gcc.c-torture/unsorted/memtst.c: Move to ...
* gcc.c-torture/compile/memtst.c: ... here.
* gcc.c-torture/unsorted/miscomp.c: Move to ...
* gcc.c-torture/compile/miscomp.c: ... here.
* gcc.c-torture/unsorted/mm.c: Move to ...
* gcc.c-torture/compile/mm.c: ... here.
* gcc.c-torture/unsorted/mod.c: Move to ...
* gcc.c-torture/compile/mod.c: ... here.
* gcc.c-torture/unsorted/modcc.c: Move to ...
* gcc.c-torture/compile/modcc.c: ... here.
* gcc.c-torture/unsorted/move.c: Move to ...
* gcc.c-torture/compile/move.c: ... here.
* gcc.c-torture/unsorted/move_qhi.c: Move to ...
* gcc.c-torture/compile/move_qhi.c: ... here.
* gcc.c-torture/unsorted/mregtst.c: Move to ...
* gcc.c-torture/compile/mregtst.c: ... here.
* gcc.c-torture/unsorted/msp.c: Move to ...
* gcc.c-torture/compile/msp.c: ... here.
* gcc.c-torture/unsorted/mtst.c: Move to ...
* gcc.c-torture/compile/mtst.c: ... here.
* gcc.c-torture/unsorted/mu.c: Move to ...
* gcc.c-torture/compile/mu.c: ... here.
* gcc.c-torture/unsorted/mul.c: Move to ...
* gcc.c-torture/compile/mul.c: ... here.
* gcc.c-torture/unsorted/mword1.c: Move to ...
* gcc.c-torture/compile/mword1.c: ... here.
* gcc.c-torture/unsorted/mword.c: Move to ...
* gcc.c-torture/compile/mword.c: ... here.
* gcc.c-torture/unsorted/n1.c: Move to ...
* gcc.c-torture/compile/n1.c: ... here.
* gcc.c-torture/unsorted/nand.c: Move to ...
* gcc.c-torture/compile/nand.c: ... here.
* gcc.c-torture/unsorted/n.c: Move to ...
* gcc.c-torture/compile/n.c: ... here.
* gcc.c-torture/unsorted/neg.c: Move to ...
* gcc.c-torture/compile/neg.c: ... here.
* gcc.c-torture/unsorted/o.c: Move to ...
* gcc.c-torture/compile/o.c: ... here.
* gcc.c-torture/unsorted/omit.c: Move to ...
* gcc.c-torture/compile/omit.c: ... here.
* gcc.c-torture/unsorted/opout.c: Move to ...
* gcc.c-torture/compile/opout.c: ... here.
* gcc.c-torture/unsorted/opt.c: Move to ...
* gcc.c-torture/compile/opt.c: ... here.
* gcc.c-torture/unsorted/or386.c: Move to ...
* gcc.c-torture/compile/or386.c: ... here.
* gcc.c-torture/unsorted/or.c: Move to ...
* gcc.c-torture/compile/or.c: ... here.
* gcc.c-torture/unsorted/parms.c: Move to ...
* gcc.c-torture/compile/parms.c: ... here.
* gcc.c-torture/unsorted/pass.c: Move to ...
* gcc.c-torture/compile/pass.c: ... here.
* gcc.c-torture/unsorted/p.c: Move to ...
* gcc.c-torture/compile/p.c: ... here.
* gcc.c-torture/unsorted/pmt.c: Move to ...
* gcc.c-torture/compile/pmt.c: ... here.
* gcc.c-torture/unsorted/poor.c: Move to ...
* gcc.c-torture/compile/poor.c: ... here.
* gcc.c-torture/unsorted/pp.c: Move to ...
* gcc.c-torture/compile/pp.c: ... here.
* gcc.c-torture/unsorted/pret-arg.c: Move to ...
* gcc.c-torture/compile/pret-arg.c: ... here.
* gcc.c-torture/unsorted/pyr2.c: Move to ...
* gcc.c-torture/compile/pyr2.c: ... here.
* gcc.c-torture/unsorted/PYRBUG.c: Move to ...
* gcc.c-torture/compile/PYRBUG.c: ... here.
* gcc.c-torture/unsorted/pyr.c: Move to ...
* gcc.c-torture/compile/pyr.c: ... here.
* gcc.c-torture/unsorted/q.c: Move to ...
* gcc.c-torture/compile/q.c: ... here.
* gcc.c-torture/unsorted/QIcmp.c: Move to ...
* gcc.c-torture/compile/QIcmp.c: ... here.
* gcc.c-torture/unsorted/QIset.c: Move to ...
* gcc.c-torture/compile/QIset.c: ... here.
* gcc.c-torture/unsorted/r1.c: Move to ...
* gcc.c-torture/compile/r1.c: ... here.
* gcc.c-torture/unsorted/r.c: Move to ...
* gcc.c-torture/compile/r.c: ... here.
* gcc.c-torture/unsorted/rel.c: Move to ...
* gcc.c-torture/compile/rel.c: ... here.
* gcc.c-torture/unsorted/rmsc.c: Move to ...
* gcc.c-torture/compile/rmsc.c: ... here.
* gcc.c-torture/unsorted/round.c: Move to ...
* gcc.c-torture/compile/round.c: ... here.
* gcc.c-torture/unsorted/run.c: Move to ...
* gcc.c-torture/compile/run.c: ... here.
* gcc.c-torture/unsorted/sar.c: Move to ...
* gcc.c-torture/compile/sar.c: ... here.
* gcc.c-torture/unsorted/s.c: Move to ...
* gcc.c-torture/compile/s.c: ... here.
* gcc.c-torture/unsorted/scal.c: Move to ...
* gcc.c-torture/compile/scal.c: ... here.
* gcc.c-torture/unsorted/sc.c: Move to ...
* gcc.c-torture/compile/sc.c: ... here.
* gcc.c-torture/unsorted/scc.c: Move to ...
* gcc.c-torture/compile/scc.c: ... here.
* gcc.c-torture/unsorted/scond.c: Move to ...
* gcc.c-torture/compile/scond.c: ... here.
* gcc.c-torture/unsorted/selfrec.c: Move to ...
* gcc.c-torture/compile/selfrec.c: ... here.
* gcc.c-torture/unsorted/seq.c: Move to ...
* gcc.c-torture/compile/seq.c: ... here.
* gcc.c-torture/unsorted/set386.c: Move to ...
* gcc.c-torture/compile/set386.c: ... here.
* gcc.c-torture/unsorted/set88.c: Move to ...
* gcc.c-torture/compile/set88.c: ... here.
* gcc.c-torture/unsorted/SFset.c: Move to ...
* gcc.c-torture/compile/SFset.c: ... here.  Require int32plus.
* gcc.c-torture/unsorted/shand.c: Move to ...
* gcc.c-torture/compile/shand.c: ... here.
* gcc.c-torture/unsorted/sh.c: Move to ...
* gcc.c-torture/compile/sh.c: ... here.
* gcc.c-torture/unsorted/shft.c: Move to ...
* gcc.c-torture/compile/shft.c: ... here.
* gcc.c-torture/unsorted/shift.c: Move to ...
* gcc.c-torture/compile/shift.c: ... here.
* gcc.c-torture/unsorted/shloop.c: Move to ...
* gcc.c-torture/compile/shloop.c: ... here.
* gcc.c-torture/unsorted/shm.c: Move to ...
* gcc.c-torture/compile/shm.c: ... here.
* gcc.c-torture/unsorted/SIcmp.c: Move to ...
* gcc.c-torture/compile/SIcmp.c: ... here.
* gcc.c-torture/unsorted/signext2.c: Move to ...
* gcc.c-torture/compile/signext2.c: ... here.
* gcc.c-torture/unsorted/signext.c: Move to ...
* gcc.c-torture/compile/signext.c: ... here.
* gcc.c-torture/unsorted/sim.c: Move to ...
* gcc.c-torture/compile/sim.c: ... here.
* gcc.c-torture/unsorted/simple.c: Move to ...
* gcc.c-torture/compile/simple.c: ... here.
* gcc.c-torture/unsorted/SIset.c: Move to ...
* gcc.c-torture/compile/SIset.c: ... here.
* gcc.c-torture/unsorted/sne.c: Move to ...
* gcc.c-torture/compile/sne.c: ... here.
* gcc.c-torture/unsorted/sound.c: Move to ...
* gcc.c-torture/compile/sound.c: ... here.
* gcc.c-torture/unsorted/sparcbug.c: Move to ...
* gcc.c-torture/compile/sparcbug.c: ... here.
* gcc.c-torture/unsorted/speed.c: Move to ...
* gcc.c-torture/compile/speed.c: ... here.
* gcc.c-torture/unsorted/stor.c: Move to ...
* gcc.c-torture/compile/stor.c: ... here.
* gcc.c-torture/unsorted/store0.c: Move to ...
* gcc.c-torture/compile/store0.c: ... here.
* gcc.c-torture/unsorted/storecc.c: Move to ...
* gcc.c-torture/compile/storecc.c: ... here.
* gcc.c-torture/unsorted/str.c: Move to ...
* gcc.c-torture/compile/str.c: ... here.
* gcc.c-torture/unsorted/stru.c: Move to ...
* gcc.c-torture/compile/stru.c: ... here.
* gcc.c-torture/unsorted/structret.c: Move to ...
* gcc.c-torture/compile/structret.c: ... here.
* gcc.c-torture/unsorted/stuct.c: Move to ...
* gcc.c-torture/compile/stuct.c: ... here.
* gcc.c-torture/unsorted/sub32.c: Move to ...
* gcc.c-torture/compile/sub32.c: ... here.
* gcc.c-torture/unsorted/subcc.c: Move to ...
* gcc.c-torture/compile/subcc.c: ... here.
* gcc.c-torture/unsorted/subcse.c: Move to ...
* gcc.c-torture/compile/subcse.c: ... here.
* gcc.c-torture/unsorted/sym.c: Move to ...
* gcc.c-torture/compile/sym.c: ... here.
* gcc.c-torture/unsorted/symconst.c: Move to ...
* gcc.c-torture/compile/symconst.c: ... here.
* gcc.c-torture/unsorted/t.c: Move to ...
* gcc.c-torture/compile/t.c: ... here.
* gcc.c-torture/unsorted/test.c: Move to ...
* gcc.c-torture/compile/test.c: ... here.
* gcc.c-torture/unsorted/test-flow.c: Move to ...
* gcc.c-torture/compile/test-flow.c: ... here.
* gcc.c-torture/unsorted/test-loop.c: Move to ...
* gcc.c-torture/compile/test-loop.c: ... here.
* gcc.c-torture/unsorted/time.c: Move to ...
* gcc.c-torture/compile/time.c: ... here.
* gcc.c-torture/unsorted/tmp.c: Move to ...
* gcc.c-torture/compile/tmp.c: ... here.
* gcc.c-torture/unsorted/trivial.c: Move to ...
* gcc.c-torture/compile/trivial.c: ... here.
* gcc.c-torture/unsorted/trunc.c: Move to ...
* gcc.c-torture/compile/trunc.c: ... here.
* gcc.c-torture/unsorted/u.c: Move to ...
* gcc.c-torture/compile/u.c: ... here.
* gcc.c-torture/unsorted/udconvert.c: Move to ...
* gcc.c-torture/compile/udconvert.c: ... here.
* gcc.c-torture/unsorted/udivmod4.c: Move to ...
* gcc.c-torture/compile/udivmod4.c: ... here.
* gcc.c-torture/unsorted/UHIcmp.c: Move to ...
* gcc.c-torture/compile/UHIcmp.c: ... here.
* gcc.c-torture/unsorted/uns.c: Move to ...
* gcc.c-torture/compile/uns.c: ... here.
* gcc.c-torture/unsorted/uns_tst.c: Move to ...
* gcc.c-torture/compile/uns_tst.c: ... here.
* gcc.c-torture/unsorted/UQIcmp.c: Move to ...
* gcc.c-torture/compile/UQIcmp.c: ... here.
* gcc.c-torture/unsorted/USIcmp.c: Move to ...
* gcc.c-torture/compile/USIcmp.c: ... here.
* gcc.c-torture/unsorted/uuarg.c: Move to ...
* gcc.c-torture/compile/uuarg.c: ... here.
* gcc.c-torture/unsorted/v.c: Move to ...
* gcc.c-torture/compile/v.c: ... here.
* gcc.c-torture/unsorted/w.c: Move to ...
* gcc.c-torture/compile/w.c: ... here.
* gcc.c-torture/unsorted/ww.c: Move to ...
* gcc.c-torture/compile/ww.c: ... here.
* gcc.c-torture/unsorted/xb.c: Move to ...
* gcc.c-torture/compile/xb.c: ... here.
* gcc.c-torture/unsorted/xbg.c: Move to ...
* gcc.c-torture/compile/xbg.c: ... here.
* gcc.c-torture/unsorted/x.c: Move to ...
* gcc.c-torture/compile/x.c: ... here.
* gcc.c-torture/unsorted/xc.c: Move to ...
* gcc.c-torture/compile/xc.c: ... here.
* gcc.c-torture/unsorted/xcsebug.c: Move to ...
* gcc.c-torture/compile/xcsebug.c: ... here.
* gcc.c-torture/unsorted/xdi.c: Move to ...
* gcc.c-torture/compile/xdi.c: ... here.
* gcc.c-torture/unsorted/xfoo.c: Move to ...
* gcc.c-torture/compile/xfoo.c: ... here.
* gcc.c-torture/unsorted/xi.c: Move to ...
* gcc.c-torture/compile/xi.c: ... here.
* gcc.c-torture/unsorted/xlop.c: Move to ...
* gcc.c-torture/compile/xlop.c: ... here.
* gcc.c-torture/unsorted/xmtst.c: Move to ...
* gcc.c-torture/compile/xmtst.c: ... here.
* gcc.c-torture/unsorted/xneg.c: Move to ...
* gcc.c-torture/compile/xneg.c: ... here.
* gcc.c-torture/unsorted/xopt.c: Move to ...
* gcc.c-torture/compile/xopt.c: ... here.
* gcc.c-torture/unsorted/xor.c: Move to ...
* gcc.c-torture/compile/xor.c: ... here.
* gcc.c-torture/unsorted/xorn.c: Move to ...
* gcc.c-torture/compile/xorn.c: ... here.
* gcc.c-torture/unsorted/xp.c: Move to ...
* gcc.c-torture/compile/xp.c: ... here.
* gcc.c-torture/unsorted/xpp.c: Move to ...
* gcc.c-torture/compile/xpp.c: ... here.
* gcc.c-torture/unsorted/xs.c: Move to ...
* gcc.c-torture/compile/xs.c: ... here.
* gcc.c-torture/unsorted/xsh.c: Move to ...
* gcc.c-torture/compile/xsh.c: ... here.
* gcc.c-torture/unsorted/xz.c: Move to ...
* gcc.c-torture/compile/xz.c: ... here.
* gcc.c-torture/unsorted/xzz.c: Move to ...
* gcc.c-torture/compile/xzz.c: ... here.

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

9 years ago * config/vxworksae.h (VXWORKSAE_TARGET_DIR): Rely on
hainque [Mon, 1 Sep 2014 13:00:56 +0000 (13:00 +0000)]
    * config/vxworksae.h (VXWORKSAE_TARGET_DIR): Rely on
        $WIND_BASE instead of designating a harcoded arbitrary home dir.
        (VXWORKS_ADDITIONAL_CPP_SPEC): Adjust callers.

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

9 years agoFix typo in gcc.c-torture/execute/20010129-1.c
ro [Mon, 1 Sep 2014 12:55:30 +0000 (12:55 +0000)]
Fix typo in gcc.c-torture/execute/20010129-1.c

* gcc.c-torture/execute/20010129-1.c: Fix typo in -mtune.
(abort, exit): Declare.

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

9 years ago2014-09-01 Richard Biener <rguenther@suse.de>
rguenth [Mon, 1 Sep 2014 11:35:10 +0000 (11:35 +0000)]
2014-09-01  Richard Biener  <rguenther@suse.de>

* tree-ssa-sccvn.h (copy_reference_ops_from_ref,
copy_reference_ops_from_call, vn_nary_op_compute_hash,
vn_reference_compute_hash, vn_reference_insert): Remove.
(vn_reference_lookup_call): New function.
* tree-ssa-sccvn.c (vn_reference_compute_hash,
copy_reference_ops_from_ref, copy_reference_ops_from_call,
vn_reference_insert, vn_nary_op_compute_hash): Make static.
(create_reference_ops_from_call): Remove.
(vn_reference_lookup_3): Properly update shared_lookup_references.
(vn_reference_lookup_pieces): Assert that we updated
shared_lookup_references properly.
(vn_reference_lookup): Likewise.
(vn_reference_lookup_call): New function.
(visit_reference_op_call): Use it.  Avoid re-building the
reference ops.
(visit_reference_op_load): Remove redundant lookup.
(visit_reference_op_store): Perform special tail-merging work
only when possibly doing tail-merging.
(visit_use): Likewise.
* tree-ssa-pre.c (compute_avail): Use vn_reference_lookup_call.

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

9 years ago PR target/62025
jakub [Mon, 1 Sep 2014 11:15:41 +0000 (11:15 +0000)]
PR target/62025
* sched-deps.c (add_or_update_dep_1): If ask_dependency_caches
returned DEP_PRESENT, make sure to set DEP_MULTIPLE on present_dep.
(find_inc): Revert 2014-08-13 change.

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

9 years ago PR middle-end/61903
mpolacek [Mon, 1 Sep 2014 09:18:43 +0000 (09:18 +0000)]
PR middle-end/61903
* expmed.c (store_fixed_bit_field_1): Shift UHWI 1 instead of HWI 1.
Change the type of V to unsigned HOST_WIDE_INT.

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

9 years ago2014-09-01 Thomas Preud'homme <thomas.preudhomme@arm.com>
thopre01 [Mon, 1 Sep 2014 09:07:00 +0000 (09:07 +0000)]
2014-09-01  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    * tree-ssa-math-opts.c (struct symbolic_number): Clarify comment about
    the size of byte markers.
    (do_shift_rotate): Fix confusion between host, target and marker byte
    size.
    (verify_symbolic_number_p): Likewise.
    (find_bswap_or_nop_1): Likewise.
    (find_bswap_or_nop): Likewise.

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

9 years ago gcc/
hainque [Mon, 1 Sep 2014 08:43:47 +0000 (08:43 +0000)]
    gcc/
        * Makefile.in (FLAGS_TO_PASS): Propagate INSTALL, INSTALL_DATA,
        INSTALL_SCRIPT and INSTALL_PROGRAM as well.

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

9 years ago * config/gnu-user.h (LIBLSAN_EARLY_SPEC): Define.
jakub [Mon, 1 Sep 2014 08:26:51 +0000 (08:26 +0000)]
* config/gnu-user.h (LIBLSAN_EARLY_SPEC): Define.
* gcc.c (LIBLSAN_SPEC, LIBLSAN_EARLY_SPEC): Follow LIBTSAN*_SPEC.
(SANITIZER_EARLY_SPEC): Include LIBLSAN_EARLY_SPEC for -fsanitize=leak.

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

9 years ago2014-09-01 Yury Gribov <y.gribov@samsung.com>
ygribov [Mon, 1 Sep 2014 07:47:37 +0000 (07:47 +0000)]
2014-09-01  Yury Gribov  <y.gribov@samsung.com>

PR sanitizer/61897
PR sanitizer/62140

gcc/
* asan.c (asan_mem_ref_get_end): Handle non-ptroff_t lengths.
(build_check_stmt): Likewise.
(instrument_strlen_call): Likewise.
(asan_expand_check_ifn): Likewise and fix types.
(maybe_cast_to_ptrmode): New function.

gcc/testsuite/
* c-c++-common/asan/pr62140-1.c: New test.
* c-c++-common/asan/pr62140-2.c: New test.

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

9 years agoDaily bump.
gccadmin [Mon, 1 Sep 2014 00:16:50 +0000 (00:16 +0000)]
Daily bump.

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

9 years agoCommit missing patch part
jbglaw [Sun, 31 Aug 2014 22:48:22 +0000 (22:48 +0000)]
Commit missing patch part

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

9 years agoFix build error with Debian's 4.8.1-2 due to wrong declaration
jbglaw [Sun, 31 Aug 2014 22:42:47 +0000 (22:42 +0000)]
Fix build error with Debian's 4.8.1-2 due to wrong declaration

This patch fixes a non-matching declaration, which lets G++ 4.8.1 (as of
Debian's g++ package) barf:

g++ -c   -g -O2 -DIN_GCC  -DCROSS_DIRECTORY_STRUCTURE  -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -fno-common  -DHAVE_CONFIG_H -I. -I. -I/home/vaxbuild/repos/gcc/gcc -I/home/vaxbuild/repos/gcc/gcc/. -I/home/vaxbuild/repos/gcc/gcc/../include -I/home/vaxbuild/repos/gcc/gcc/../libcpp/include  -I/home/vaxbuild/repos/gcc/gcc/../libdecnumber -I/home/vaxbuild/repos/gcc/gcc/../libdecnumber/dpd -I../libdecnumber -I/home/vaxbuild/repos/gcc/gcc/../libbacktrace    -o mcore.o -MT mcore.o -MMD -MP -MF ./.deps/mcore.TPo /home/vaxbuild/repos/gcc/gcc/config/mcore/mcore.c
/home/vaxbuild/repos/gcc/gcc/config/mcore/mcore.c: In function â€˜const char* output_inline_const(machine_mode, rtx_def**)’:
/home/vaxbuild/repos/gcc/gcc/config/mcore/mcore.c:1216:82: warning: format â€˜%ld’ expects argument of type â€˜long int’, but argument 5 has type â€˜long long int’ [-Wformat=]
       sprintf (buf, "%s\n\tnot\t%s\t// %ld 0x%lx", load_op, dst_fmt, value, value);
                                                                                  ^
/home/vaxbuild/repos/gcc/gcc/config/mcore/mcore.c:1216:82: warning: format â€˜%lx’ expects argument of type â€˜long unsigned int’, but argument 6 has type â€˜long long int’ [-Wformat=]
/home/vaxbuild/repos/gcc/gcc/config/mcore/mcore.c:1219:87: warning: format â€˜%ld’ expects argument of type â€˜long int’, but argument 5 has type â€˜long long int’ [-Wformat=]
       sprintf (buf, "%s\n\taddi\t%s,%%2\t// %ld 0x%lx", load_op, dst_fmt, value, value);
                                                                                       ^
/home/vaxbuild/repos/gcc/gcc/config/mcore/mcore.c:1219:87: warning: format â€˜%lx’ expects argument of type â€˜long unsigned int’, but argument 6 has type â€˜long long int’ [-Wformat=]
/home/vaxbuild/repos/gcc/gcc/config/mcore/mcore.c:1222:87: warning: format â€˜%ld’ expects argument of type â€˜long int’, but argument 5 has type â€˜long long int’ [-Wformat=]
       sprintf (buf, "%s\n\tsubi\t%s,%%2\t// %ld 0x%lx", load_op, dst_fmt, value, value);
                                                                                       ^
/home/vaxbuild/repos/gcc/gcc/config/mcore/mcore.c:1222:87: warning: format â€˜%lx’ expects argument of type â€˜long unsigned int’, but argument 6 has type â€˜long long int’ [-Wformat=]
/home/vaxbuild/repos/gcc/gcc/config/mcore/mcore.c:1226:88: warning: format â€˜%ld’ expects argument of type â€˜long int’, but argument 5 has type â€˜long long int’ [-Wformat=]
       sprintf (buf, "%s\n\trsubi\t%s,%%2\t// %ld 0x%lx", load_op, dst_fmt, value, value);
                                                                                        ^
/home/vaxbuild/repos/gcc/gcc/config/mcore/mcore.c:1226:88: warning: format â€˜%lx’ expects argument of type â€˜long unsigned int’, but argument 6 has type â€˜long long int’ [-Wformat=]
/home/vaxbuild/repos/gcc/gcc/config/mcore/mcore.c:1229:89: warning: format â€˜%ld’ expects argument of type â€˜long int’, but argument 5 has type â€˜long long int’ [-Wformat=]
       sprintf (buf, "%s\n\tbseti\t%s,%%P2\t// %ld 0x%lx", load_op, dst_fmt, value, value);
                                                                                         ^
/home/vaxbuild/repos/gcc/gcc/config/mcore/mcore.c:1229:89: warning: format â€˜%lx’ expects argument of type â€˜long unsigned int’, but argument 6 has type â€˜long long int’ [-Wformat=]
/home/vaxbuild/repos/gcc/gcc/config/mcore/mcore.c:1232:89: warning: format â€˜%ld’ expects argument of type â€˜long int’, but argument 5 has type â€˜long long int’ [-Wformat=]
       sprintf (buf, "%s\n\tbclri\t%s,%%Q2\t// %ld 0x%lx", load_op, dst_fmt, value, value);
                                                                                         ^
/home/vaxbuild/repos/gcc/gcc/config/mcore/mcore.c:1232:89: warning: format â€˜%lx’ expects argument of type â€˜long unsigned int’, but argument 6 has type â€˜long long int’ [-Wformat=]
/home/vaxbuild/repos/gcc/gcc/config/mcore/mcore.c:1235:88: warning: format â€˜%ld’ expects argument of type â€˜long int’, but argument 5 has type â€˜long long int’ [-Wformat=]
       sprintf (buf, "%s\n\trotli\t%s,%%2\t// %ld 0x%lx", load_op, dst_fmt, value, value);
                                                                                        ^
/home/vaxbuild/repos/gcc/gcc/config/mcore/mcore.c:1235:88: warning: format â€˜%lx’ expects argument of type â€˜long unsigned int’, but argument 6 has type â€˜long long int’ [-Wformat=]
/home/vaxbuild/repos/gcc/gcc/config/mcore/mcore.c:1238:87: warning: format â€˜%ld’ expects argument of type â€˜long int’, but argument 5 has type â€˜long long int’ [-Wformat=]
       sprintf (buf, "%s\n\tlsli\t%s,%%2\t// %ld 0x%lx", load_op, dst_fmt, value, value);
                                                                                       ^
/home/vaxbuild/repos/gcc/gcc/config/mcore/mcore.c:1238:87: warning: format â€˜%lx’ expects argument of type â€˜long unsigned int’, but argument 6 has type â€˜long long int’ [-Wformat=]
/home/vaxbuild/repos/gcc/gcc/config/mcore/mcore.c:1241:94: warning: format â€˜%ld’ expects argument of type â€˜long int’, but argument 6 has type â€˜long long int’ [-Wformat=]
       sprintf (buf, "%s\n\tixh\t%s,%s\t// %ld 0x%lx", load_op, dst_fmt, dst_fmt, value, value);
                                                                                              ^
/home/vaxbuild/repos/gcc/gcc/config/mcore/mcore.c:1241:94: warning: format â€˜%lx’ expects argument of type â€˜long unsigned int’, but argument 7 has type â€˜long long int’ [-Wformat=]
/home/vaxbuild/repos/gcc/gcc/config/mcore/mcore.c:1244:94: warning: format â€˜%ld’ expects argument of type â€˜long int’, but argument 6 has type â€˜long long int’ [-Wformat=]
       sprintf (buf, "%s\n\tixw\t%s,%s\t// %ld 0x%lx", load_op, dst_fmt, dst_fmt, value, value);
                                                                                              ^
/home/vaxbuild/repos/gcc/gcc/config/mcore/mcore.c:1244:94: warning: format â€˜%lx’ expects argument of type â€˜long unsigned int’, but argument 7 has type â€˜long long int’ [-Wformat=]
/home/vaxbuild/repos/gcc/gcc/config/mcore/mcore.c: At global scope:
/home/vaxbuild/repos/gcc/gcc/config/mcore/mcore.c:100:19: warning: â€˜int try_constant_tricks(long int, long long int*, long long int*)’ used but never defined [enabled by default]
 static int        try_constant_tricks           (long, HOST_WIDE_INT *, HOST_WIDE_INT *);
                   ^
[...]
g++   -g -O2 -DIN_GCC  -DCROSS_DIRECTORY_STRUCTURE  -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -fno-common  -DHAVE_CONFIG_H -static-libstdc++ -static-libgcc  -o cc1 c/c-lang.o c-family/stub-objc.o attribs.o c/c-errors.o c/c-decl.o c/c-typeck.o c/c-convert.o c/c-aux-info.o c/c-objc-common.o c/c-parser.o c/c-array-notation.o c-family/c-common.o c-family/c-cppbuiltin.o c-family/c-dump.o c-family/c-format.o c-family/c-gimplify.o c-family/c-lex.o c-family/c-omp.o c-family/c-opts.o c-family/c-pch.o c-family/c-ppoutput.o c-family/c-pragma.o c-family/c-pretty-print.o c-family/c-semantics.o c-family/c-ada-spec.o c-family/c-cilkplus.o c-family/array-notation-common.o c-family/cilk.o c-family/c-ubsan.o default-c.o \
  cc1-checksum.o libbackend.a main.o tree-browser.o libcommon-target.a libcommon.a ../libcpp/libcpp.a ../libdecnumber/libdecnumber.a libcommon.a ../libcpp/libcpp.a   ../libbacktrace/.libs/libbacktrace.a ../libiberty/libiberty.a ../libdecnumber/libdecnumber.a    -lmpc -lmpfr -lgmp -rdynamic -ldl  -L../zlib -lz
libbackend.a(mcore.o): In function `mcore_const_ok_for_inline':
/home/vaxbuild/repos/gcc/gcc/config/mcore/mcore.c:751: undefined reference to `try_constant_tricks(long, long long*, long long*)'
libbackend.a(mcore.o): In function `mcore_const_ok_for_inline(long long)':
/home/vaxbuild/repos/gcc/gcc/config/mcore/mcore.c:751: undefined reference to `try_constant_tricks(long, long long*, long long*)'
libbackend.a(mcore.o): In function `mcore_const_trick_uses_not(long long)':
/home/vaxbuild/repos/gcc/gcc/config/mcore/mcore.c:761: undefined reference to `try_constant_tricks(long, long long*, long long*)'
libbackend.a(mcore.o): In function `mcore_const_ok_for_inline':
/home/vaxbuild/repos/gcc/gcc/config/mcore/mcore.c:751: undefined reference to `try_constant_tricks(long, long long*, long long*)'
collect2: error: ld returned 1 exit status
make[1]: *** [cc1] Error 1
make[1]: Leaving directory `/home/vaxbuild/build/mcore-elf/build-gcc/gcc'
make: *** [all-gcc] Error 2

This patch fixes only the wrong declaration of try_constant_tricks().

2014-09-01  Jan-Benedict Glaw  <jbglaw@lug-owl.de>

* config/mcore/mcore.c (try_constant_tricks): Fix declaration.

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

9 years ago2014-08-31 Fritz Reese <Reese-Fritz@zai.com>
burnus [Sun, 31 Aug 2014 22:28:30 +0000 (22:28 +0000)]
2014-08-31  Fritz Reese  <Reese-Fritz@zai.com>

        PR fortran/62309
        * resolve.c (apply_default_init_local): Don't treat variables
        in RECURSIVE procedures as saved.

2014-08-31  Fritz Reese  <Reese-Fritz@zai.com>
            Tobias Burnus  <burnus@net-b.de>

        PR fortran/62309
        * gcc/testsuite/gfortran.dg/auto_save_2.f90: New.

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

9 years ago PR c++/62302
jason [Sun, 31 Aug 2014 21:06:08 +0000 (21:06 +0000)]
PR c++/62302
* optimize.c (cdtor_comdat_group): Just look at the
DECL_ASSEMBLER_NAME of the 'tors.

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

9 years agoFix typo.
gerald [Sun, 31 Aug 2014 19:29:13 +0000 (19:29 +0000)]
Fix typo.

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

9 years ago * doc/generic.texi (Deficiencies): Add note on exemplary mistakes.
gerald [Sun, 31 Aug 2014 19:28:04 +0000 (19:28 +0000)]
* doc/generic.texi (Deficiencies): Add note on exemplary mistakes.

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

9 years ago2014-08-31 Tobias Burnus <burnus@net-b.de>
burnus [Sun, 31 Aug 2014 06:32:06 +0000 (06:32 +0000)]
2014-08-31  Tobias Burnus  <burnus@net-b.de>

gcc/fortran/
        * trans-decl.c (gfc_build_builtin_function_decls): Add
        may_require_tmp dummy argument.
        * trans-intrinsic.c (gfc_conv_intrinsic_caf_get,
        conv_caf_send): Handle may_require_tmp argument.
        (gfc_conv_intrinsic_function): Update call.
        * gfortran.texi (_gfortran_caf_send, _gfortran_caf_get,
        _gfortran_caf_sendget): Update interface description.

gcc/testsuite/
        * gfortran.dg/coarray_lib_comm_1.f90: New.

libgfortran/
        * caf/libcaf.h (_gfortran_caf_send, _gfortran_caf_get,
        _gfortran_caf_sendget): Update prototype.
        * caf/single.c (_gfortran_caf_send, _gfortran_caf_get,
        _gfortran_caf_sendget): Handle may_require_tmp.

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

9 years agoDaily bump.
gccadmin [Sun, 31 Aug 2014 00:17:14 +0000 (00:17 +0000)]
Daily bump.

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

9 years ago2014-08-30 Andrew Pinski <apinski@cavium.com>
pinskia [Sat, 30 Aug 2014 22:35:43 +0000 (22:35 +0000)]
2014-08-30  Andrew Pinski  <apinski@cavium.com>

        * gcc.c-torture/execute/20140828-1.c: New testcase.

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

9 years agoAdd missing ChangeLog items for Rev. 214758.
burnus [Sat, 30 Aug 2014 18:48:42 +0000 (18:48 +0000)]
Add missing ChangeLog items for Rev. 214758.

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

9 years ago2014-08-30 Tobias Burnus <burnus@net-b.de>
burnus [Sat, 30 Aug 2014 18:47:40 +0000 (18:47 +0000)]
2014-08-30  Tobias Burnus  <burnus@net-b.de>

        * trans.h (gfc_caf_get_image_index,
        gfc_get_caf_token_offset): New prototypes.
        * trans-expr.c (gfc_caf_get_image_index): Moved from
        trans-intrinsic.c and renamed.
        (gfc_get_caf_token_offset) Ditto; support offset = NULL
        with early return.
        * trans-intrinsic.c (get_caf_token_offset, caf_get_image_index):
        Moved to trans-expr.
        (gfc_conv_intrinsic_caf_get, conv_caf_send,
        conv_intrinsic_atomic_op, conv_intrinsic_atomic_ref,
        conv_intrinsic_atomic_cas): Update callers.

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

9 years ago2014-08-30 Tobias Burnus <burnus@net-b.de>
burnus [Sat, 30 Aug 2014 18:47:04 +0000 (18:47 +0000)]
2014-08-30  Tobias Burnus  <burnus@net-b.de>

        PR fortran/62278
        PR fortran/44735
        PR fortran/60593
        * dependency.c (gfc_check_dependency): Allow for optimizations
        in the pointer-alias check.

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

9 years ago * config/pa/pa.c (pa_assemble_integer): Don't add PLABEL relocation
danglin [Sat, 30 Aug 2014 15:24:59 +0000 (15:24 +0000)]
* config/pa/pa.c (pa_assemble_integer): Don't add PLABEL relocation
prefix to function labels when generating fast indirect calls.

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

9 years ago * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
danglin [Sat, 30 Aug 2014 15:10:20 +0000 (15:10 +0000)]
* config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.

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

9 years ago PR bootstrap/62304
dmalcolm [Sat, 30 Aug 2014 14:34:02 +0000 (14:34 +0000)]
PR bootstrap/62304

* gcc/reorg.c (skip_consecutive_labels): Convert return type and
param back from rtx_insn * to rtx.  Rename param from "label" to
"label_or_return", reintroducing "label" as an rtx_insn * after
we've ensured it's not a RETURN.
(first_active_target_insn): Likewise for return type and param;
add a checked cast to rtx_insn * once we've ensured "insn" is not
a RETURN.
(steal_delay_list_from_target): Convert param "pnew_thread" back
from rtx_insn ** to rtx *.  Replace use of JUMP_LABEL_AS_INSN
with JUMP_LABEL.
(own_thread_p): Convert param "thread" back from an rtx_insn * to
an rtx.  Introduce local rtx_insn * "thread_insn" with a checked
cast once we've established we're not dealing with a RETURN,
renaming subsequent uses of "thread" to "thread_insn".
(fill_simple_delay_slots): Convert uses of JUMP_LABEL_AS_INSN back
to JUMP_LABEL.
(follow_jumps): Convert return type and param "label" from
rtx_insn * back to rtx.  Move initialization of "value" to after
the handling for ANY_RETURN_P, adding a checked cast there to
rtx_insn *.  Convert local rtx_insn * "this_label" to an rtx and
rename to "this_label_or_return", reintroducing "this_label" as
an rtx_insn * once we've handled the case where it could be an
ANY_RETURN_P.
(fill_slots_from_thread): Rename param "thread" to
"thread_or_return", converting from an rtx_insn * back to an rtx.
Reintroduce name "thread" as an rtx_insn * local with a checked
cast once we've handled the case of it being an ANY_RETURN_P.
Convert local "new_thread" from an rtx_insn * back to an rtx.
Add a checked cast when assigning to "trial" from "new_thread".
Convert use of JUMP_LABEL_AS_INSN back to JUMP_LABEL.  Add a
checked cast to rtx_insn * from "new_thread" when invoking
get_label_before.
(fill_eager_delay_slots): Convert locals "target_label",
"insn_at_target" from rtx_insn * back to rtx.
Convert uses of JUMP_LABEL_AS_INSN back to JUMP_LABEL.
(relax_delay_slots): Convert locals "trial", "target_label" from
rtx_insn * back to rtx.  Convert uses of JUMP_LABEL_AS_INSN back
to JUMP_LABEL.  Add a checked cast to rtx_insn * on "trial" when
invoking update_block.
(dbr_schedule): Convert use of JUMP_LABEL_AS_INSN back to
JUMP_LABEL; this removes all JUMP_LABEL_AS_INSN from reorg.c.

* resource.h (mark_target_live_regs): Undo erroneous conversion
of second param of r214693, converting it back from rtx_insn * to
rtx, since it could be a RETURN.

* resource.c (find_dead_or_set_registers): Similarly, convert
param "jump_target" back from an rtx_insn ** to an rtx *, as we
could be writing back a RETURN.  Rename local rtx_insn * "next" to
"next_insn", and introduce "lab_or_return" as a local rtx,
handling the case where JUMP_LABEL (this_jump_insn) is a RETURN.
(mark_target_live_regs): Undo erroneous conversion
of second param of r214693, converting it back from rtx_insn * to
rtx, since it could be a RETURN.  Rename it from "target" to
"target_maybe_return", reintroducing the name "target" as a local
rtx_insn * with a checked cast, after we've handled the case of
ANY_RETURN_P.

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

9 years agoDaily bump.
gccadmin [Sat, 30 Aug 2014 00:16:50 +0000 (00:16 +0000)]
Daily bump.

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

9 years ago* cppbuiltin.c (define_builtin_macros_for_type_sizes): Round
dj [Fri, 29 Aug 2014 23:35:12 +0000 (23:35 +0000)]
* cppbuiltin.c (define_builtin_macros_for_type_sizes): Round
pointer size up to a power of two.
* defaults.h (DWARF2_ADDR_SIZE): Round up.
(POINTER_SIZE_UNITS): New, rounded up value.
* dwarf2asm.c (size_of_encoded_value): Use it.
(dw2_output_indirect_constant_1): Likewise.
* expmed.c (init_expmed_one_conv): We now know the sizes of
partial int modes.
* loop-iv.c (iv_number_of_iterations): Use precision, not size.
* optabs.c (expand_float): Use precision, not size.
(expand_fix): Likewise.
* simplify-rtx (simplify_unary_operation_1): Likewise.
* tree-dfa.c (get_ref_base_and_extent): Likewise.
* varasm.c (assemble_addr_to_section): Round up pointer sizes.
(default_assemble_integer) Likewise.
(dump_tm_clone_pairs): Likewise.
* dwarf2out.c (mem_loc_descriptor): Allow partial-int modes also.
* var-tracking.c (adjust_mems): Allow partial-int modes also.
(prepare_call_arguments): Likewise.
* stor-layout.c (finalize_type_size): Preserve precision.
(layout_type): Use precision, not size.

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

9 years ago* expr.c (convert_move): If the target has an explicit converter,
dj [Fri, 29 Aug 2014 23:19:42 +0000 (23:19 +0000)]
* expr.c (convert_move): If the target has an explicit converter,
use it.

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

9 years ago* lib/target-supports.exp (check_effective_target_size32plus):
dj [Fri, 29 Aug 2014 23:16:29 +0000 (23:16 +0000)]
* lib/target-supports.exp (check_effective_target_size32plus):
Increase size to avoid false positives on 24-bit address spaces.
* gcc.c-torture/compile/limits-stringlit.c: Skip if msp430.
* gcc.dg/lto/pr54709_1.c: Fix memcpy prototype.
* gcc.dg/torture/pta-ptrarith-3.c: Use __SIZE_TYPE__ instead of "int".
* gcc.dg/torture/pr36373-10.c: Use __SIZE_TYPE__ if present.
* gcc.dg/torture/pr57864.c: Use __SIZE_TYPE__.
* gcc.dg/torture/pr26763-2.c: Use __SIZE_TYPE__ instead of "int".
* gcc.dg/tree-ssa/isolate-3.c: Use __SIZE_TYPE__ instead of "long unsigned int".
* gcc.dg/pr52549.c: Use __SIZE_TYPE__ if present.

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

9 years agoUse ISO C remove() instead of POSIX unlink()
jb [Fri, 29 Aug 2014 21:17:34 +0000 (21:17 +0000)]
Use ISO C remove() instead of POSIX unlink()

2014-08-30  Janne Blomqvist  <jb@gcc.gnu.org>

* module.c (gfc_dump_module): Use ISO C remove() instead of POSIX
unlink().

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

9 years agoPR 62215 Reinstate unlinking old module file before renaming.
jb [Fri, 29 Aug 2014 20:46:15 +0000 (20:46 +0000)]
PR 62215 Reinstate unlinking old module file before renaming.

2014-08-29  Jeffrey Armstrong  <jeffrey.armstrong@approximatrix.com>

PR fortran/62215
* module.c (gfc_dump_module): Unlink old module file before
renaming new one.

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

9 years agogdbinit.in: Skip various inline functions in rtl.h when stepping
dmalcolm [Fri, 29 Aug 2014 20:20:17 +0000 (20:20 +0000)]
gdbinit.in: Skip various inline functions in rtl.h when stepping

gcc/
2014-08-29  David Malcolm  <dmalcolm@redhat.com>

* gdbinit.in: Skip various inline functions in rtl.h when
stepping.

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

9 years ago * cp-demangle.c (d_dump): Only access field from s_fixed part of
jason [Fri, 29 Aug 2014 19:30:10 +0000 (19:30 +0000)]
* cp-demangle.c (d_dump): Only access field from s_fixed part of
the union for DEMANGLE_COMPONENT_FIXED_TYPE.
(d_count_templates_scopes): Likewise.

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

9 years ago * include/std/complex (complex): Define copy constructor and
redi [Fri, 29 Aug 2014 16:28:19 +0000 (16:28 +0000)]
* include/std/complex (complex): Define copy constructor and
assignment operator as defaulted. Improve Doxygen comments.

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

9 years agolibcpp/ChangeLog:
manu [Fri, 29 Aug 2014 16:06:19 +0000 (16:06 +0000)]
libcpp/ChangeLog:

2014-08-29  Manuel López-Ibáñez  <manu@gcc.gnu.org>

* directives.c (check_eol_1): New.
(check_eol_endif_labels): New.
(check_eol): Call check_eol_1.
(do_else,do_endif): Call check_eol_endif_labels.

gcc/c-family/ChangeLog:

2014-08-29  Manuel López-Ibáñez  <manu@gcc.gnu.org>

* c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels,
Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs,
Wundef): Use CPP, Var and Init.
* c-opts.c (c_common_handle_option): Do not handle the above flags here.

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

9 years ago2014-08-29 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Fri, 29 Aug 2014 15:58:26 +0000 (15:58 +0000)]
2014-08-29  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/54002
* g++.dg/cpp0x/constexpr-54002.C: New.

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

9 years agogcc/
rsandifo [Fri, 29 Aug 2014 15:51:13 +0000 (15:51 +0000)]
gcc/
PR bootstrap/62301
* rtlanal.c (rtx_referenced_p): Fix typo in LABEL_P call.

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

9 years agolibcpp/ChangeLog:
manu [Fri, 29 Aug 2014 15:28:45 +0000 (15:28 +0000)]
libcpp/ChangeLog:

2014-08-29  Manuel López-Ibáñez  <manu@gcc.gnu.org>

* macro.c (warn_of_redefinition): Suppress warnings for builtins
that lack the NODE_WARN flag, unless Wbuiltin-macro-redefined.
(_cpp_create_definition): Use Wbuiltin-macro-redefined for
builtins that lack the NODE_WARN flag.
* directives.c (do_undef): Likewise.
* init.c (cpp_init_special_builtins): Do not change flags
depending on Wbuiltin-macro-redefined.

gcc/c-family/ChangeLog:

2014-08-29  Manuel López-Ibáñez  <manu@gcc.gnu.org>

* c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init.
* c-opts.c (c_common_handle_option): Do not handle here.

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

9 years ago2014-08-29 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Fri, 29 Aug 2014 13:12:02 +0000 (13:12 +0000)]
2014-08-29  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/56991
* g++.dg/cpp0x/constexpr-56991.C: New.

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

9 years ago2014-08-29 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Fri, 29 Aug 2014 12:47:19 +0000 (12:47 +0000)]
2014-08-29  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/57764
* g++.dg/cpp0x/constexpr-57764.C: New.

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

9 years ago2014-08-29 Richard Biener <rguenther@suse.de>
rguenth [Fri, 29 Aug 2014 12:39:50 +0000 (12:39 +0000)]
2014-08-29  Richard Biener  <rguenther@suse.de>

PR tree-optimization/62291
* tree-ssa-pre.c (sorted_array_from_bitmap_set): Reserve
exactly the vector size needed and use quick_push.
(phi_translate_1): Adjust comment.
(valid_in_sets): Remove block argument and remove pointless
checking of NAMEs.
(dependent_clean): Adjust for removal of block argument.
(clean): Likewise.
(compute_antic_aux): Likewise.
(compute_partial_antic_aux): Likewise.

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

9 years agoAVX-512. Add SI/DI masked interleave.
kyukhin [Fri, 29 Aug 2014 12:32:39 +0000 (12:32 +0000)]
AVX-512. Add SI/DI masked interleave.

gcc/
* config/i386/sse.md
(define_insn "avx2_interleave_highv4di<mask_name>"): Add masking.
(define_insn "vec_interleave_highv2di<mask_name>"): Ditto.
(define_insn "avx2_interleave_lowv4di<mask_name>"): Ditto.
(define_insn "vec_interleave_lowv2di<mask_name>"): Ditto.

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

9 years agoAVX-512. Add narrowing vpmov.
kyukhin [Fri, 29 Aug 2014 12:31:18 +0000 (12:31 +0000)]
AVX-512. Add narrowing vpmov.

gcc/
* config/i386/i386-modes.def: Add V12QI, V14QI, V6HI modes.
* config/i386/sse.md
(define_mode_iterator VI4_128_8_256): New.
(define_mode_iterator VI2_128_4_256): Ditto.
(define_mode_iterator PMOV_DST_MODE): Rename into
(define_mode_iterator PMOV_DST_MODE_1): this.
(define_insn "*avx512f_<code><pmov_src_lower><mode>2"):
Use PMOV_DST_MODE_1 mode iterator.
(define_insn "avx512f_<code><pmov_src_lower><mode>2_mask"):
Ditto.
(define_insn "avx512f_<code><pmov_src_lower><mode>2_mask"):
Ditto.
(define_insn "*avx512bw_<code>v32hiv32qi2"): New.
(define_insn "avx512bw_<code>v32hiv32qi2_mask"): Ditto.
(define_expand "avx512bw_<code>v32hiv32qi2_store_mask"): Ditto.
(define_mode_iterator PMOV_DST_MODE_2): New.
(define_insn "*avx512vl_<code><ssedoublemodelower><mode>2"): Ditto.
(define_insn "<avx512>_<code><ssedoublemodelower><mode>2_mask"): Ditto.
(define_expand "<avx512>_<code><ssedoublemodelower><mode>2_store_mask"):
Ditto.
(define_mode_iterator PMOV_SRC_MODE_3): Ditto.
(define_mode_attr pmov_dst_3): Ditto.
(define_mode_attr pmov_dst_zeroed_3): Ditto.
(define_mode_attr pmov_suff_3): Ditto.
(define_insn "*avx512vl_<code><mode>v<ssescalarnum>qi2"): Ditto.
(define_insn "*avx512vl_<code>v2div2qi2_store"): Ditto.
(define_insn "avx512vl_<code>v2div2qi2_mask"): Ditto.
(define_insn "avx512vl_<code>v2div2qi2_store_mask"): Ditto.
(define_insn "*avx512vl_<code><mode>v4qi2_store"): Ditto.
(define_insn "avx512vl_<code><mode>v4qi2_mask"): Ditto.
(define_insn "avx512vl_<code><mode>v4qi2_store_mask"): Ditto.
(define_insn "*avx512vl_<code><mode>v8qi2_store"): Ditto.
(define_insn "avx512vl_<code><mode>v8qi2_mask"): Ditto.
(define_insn "avx512vl_<code><mode>v8qi2_store_mask"): Ditto.
(define_mode_iterator PMOV_SRC_MODE_4): Ditto.
(define_mode_attr pmov_dst_4): Ditto.
(define_mode_attr pmov_dst_zeroed_4): Ditto.
(define_mode_attr pmov_suff_4): Ditto.
(define_insn "*avx512vl_<code><mode>v<ssescalarnum>hi2"): Ditto.
(define_insn "*avx512vl_<code><mode>v4hi2_store"): Ditto.
(define_insn "avx512vl_<code><mode>v4hi2_mask"): Ditto.
(define_insn "avx512vl_<code><mode>v4hi2_store_mask"): Ditto.
(define_insn "*avx512vl_<code>v2div2hi2_store"): Ditto.
(define_insn "avx512vl_<code>v2div2hi2_mask"): Ditto.
(define_insn "avx512vl_<code>v2div2hi2_store_mask"): Ditto.
(define_insn "*avx512vl_<code>v2div2si2"): Ditto.
(define_insn "*avx512vl_<code>v2div2si2_store"): Ditto.
(define_insn "avx512vl_<code>v2div2si2_mask"): Ditto.
(define_insn "avx512vl_<code>v2div2si2_store_mask"): Ditto.

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

9 years ago2014-08-29 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Fri, 29 Aug 2014 12:24:17 +0000 (12:24 +0000)]
2014-08-29  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/59938
* g++.dg/cpp0x/constexpr-59938.C: New.

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

9 years ago2014-08-29 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Fri, 29 Aug 2014 08:41:16 +0000 (08:41 +0000)]
2014-08-29  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/61484
* g++.dg/cpp0x/constexpr-61484.C: New.

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

9 years ago2014-08-29 Richard Biener <rguenther@suse.de>
rguenth [Fri, 29 Aug 2014 08:13:21 +0000 (08:13 +0000)]
2014-08-29  Richard Biener  <rguenther@suse.de>

* tree-cfg.c (verify_gimple_assign_unary): Do not allow
NON_LVALUE_EXPR in gimple.

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

9 years ago2014-08-29 Richard Biener <rguenther@suse.de>
rguenth [Fri, 29 Aug 2014 08:11:57 +0000 (08:11 +0000)]
2014-08-29  Richard Biener  <rguenther@suse.de>

PR middle-end/62292
* gimple-fold.c (gimple_fold_builtin_strcpy): Fix error
from previous refactoring.
(gimple_fold_builtin_strncpy): Likewise.

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

9 years ago PR bootstrap/62300
dmalcolm [Fri, 29 Aug 2014 03:12:01 +0000 (03:12 +0000)]
PR bootstrap/62300
* function.c (assign_parm_setup_reg): Remove erroneous checked
cast to rtx_insn * on result of gen_extend_insn in favor of
introducing a new local rtx "pat".

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

9 years agocompiler: Fix comparison of struct/array with interface.
ian [Fri, 29 Aug 2014 03:06:15 +0000 (03:06 +0000)]
compiler: Fix comparison of struct/array with interface.

The compiler used to crash when the struct/array was not
addressable.

The test case is https://codereview.appspot.com/135170043 .

This fixes http://golang.org/issue/8612 .

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

9 years agoThis patch silences two warnings in the mep-elf target, fixing the config-list.mk...
jbglaw [Fri, 29 Aug 2014 01:44:42 +0000 (01:44 +0000)]
This patch silences two warnings in the mep-elf target, fixing the config-list.mk build

First one:
~~~~~~~~~~
g++ -c  -DIN_GCC_FRONTEND -DIN_GCC_FRONTEND -g -O2 -DIN_GCC  -DCROSS_DIRECTORY_STRUCTURE  -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror -fno-common  -DHAVE_CONFIG_H -I. -I. -I../../../gcc/gcc -I../../../gcc/gcc/. -I../../../gcc/gcc/../include -I../../../gcc/gcc/../libcpp/include -I/opt/cfarm/mpc/include  -I../../../gcc/gcc/../libdecnumber -I../../../gcc/gcc/../libdecnumber/dpd -I../libdecnumber -I../../../gcc/gcc/../libbacktrace -DCLOOG_INT_GMP  -DCLOOG_INT_GMP   -I. -I. -I../../../gcc/gcc -I../../../gcc/gcc/. -I../../../gcc/gcc/../include -I../../../gcc/gcc/../libcpp/include -I/opt/cfarm/mpc/include  -I../../../gcc/gcc/../libdecnumber -I../../../gcc/gcc/../libdecnumber/dpd -I../libdecnumber -I../../../gcc/gcc/../libbacktrace -DCLOOG_INT_GMP  -DCLOOG_INT_GMP  ../../../gcc/gcc/config/mep/mep-pragma.c
../../../gcc/gcc/config/mep/mep-pragma.c: In function â€˜void mep_pragma_coprocessor(cpp_reader*)’:
../../../gcc/gcc/config/mep/mep-pragma.c:271:18: error: â€˜rclass’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
   enum reg_class rclass;
                  ^
cc1plus: all warnings being treated as errors
make[2]: *** [mep-pragma.o] Error 1

This is actually a misbehavior of current GCC, the code itself looks 100% okay
to me.  Shall I report that as a bug, too?

Second one:
~~~~~~~~~~~
g++ -c   -g -O2 -DIN_GCC  -DCROSS_DIRECTORY_STRUCTURE  -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror -fno-common  -DHAVE_CONFIG_H -I. -I. -I../../../gcc/gcc -I../../../gcc/gcc/. -I../../../gcc/gcc/../include -I../../../gcc/gcc/../libcpp/include -I/opt/cfarm/mpc/include  -I../../../gcc/gcc/../libdecnumber -I../../../gcc/gcc/../libdecnumber/dpd -I../libdecnumber -I../../../gcc/gcc/../libbacktrace    -o mep.o -MT mep.o -MMD -MP -MF ./.deps/mep.TPo ../../../gcc/gcc/config/mep/mep.c
../../../gcc/gcc/config/mep/mep.c:3448:0: error: "VECTOR_TYPE_P" redefined [-Werror]
 #define VECTOR_TYPE_P(t) (TREE_CODE(t) == VECTOR_TYPE)
 ^
In file included from ../../../gcc/gcc/config/mep/mep.c:26:0:
../../../gcc/gcc/tree.h:474:0: note: this is the location of the previous definition
 #define VECTOR_TYPE_P(TYPE) (TREE_CODE (TYPE) == VECTOR_TYPE)
 ^
cc1plus: all warnings being treated as errors
make[2]: *** [mep.o] Error 1

2014-08-28  Jan-Benedict Glaw  <jbglaw@lug-owl.de>

* config/mep/mep-pragma.c (mep_pragma_coprocessor_subclass): Rework
to silence warning.
* config/mep/mep.c (VECTOR_TYPE_P): Remove duplicate definition.

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

9 years agoEND OF PATCHES: Delete rtx-classes-status.txt
dmalcolm [Fri, 29 Aug 2014 00:20:28 +0000 (00:20 +0000)]
END OF PATCHES: Delete rtx-classes-status.txt

/
2014-08-28  David Malcolm  <dmalcolm@redhat.com>

* rtx-classes-status.txt: Delete.

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

9 years agoMake next_insn and previous_insn require an rtx_insn *
dmalcolm [Fri, 29 Aug 2014 00:17:58 +0000 (00:17 +0000)]
Make next_insn and previous_insn require an rtx_insn *

gcc/
2014-08-28  David Malcolm  <dmalcolm@redhat.com>

* rtl.h (previous_insn): Strengthen param from rtx to rtx_insn *.
(next_insn): Likewise.
* emit-rtl.c (next_insn): Likewise.
(previous_insn): Likewise.
* config/pa/pa.c (remove_useless_addtr_insns): Strenghten locals
"insn" and "next" from rtx to rtx_insn *.
* config/picochip/picochip.c (picochip_reorg): Likewise for locals
"insn", "insn1", "vliw_start",  "prologue_end_note",
"last_insn_in_packet".

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

9 years agoDaily bump.
gccadmin [Fri, 29 Aug 2014 00:16:27 +0000 (00:16 +0000)]
Daily bump.

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

9 years agoStrengthen params to active_insn_between
dmalcolm [Fri, 29 Aug 2014 00:14:43 +0000 (00:14 +0000)]
Strengthen params to active_insn_between

gcc/
2014-08-28  David Malcolm  <dmalcolm@redhat.com>

* shrink-wrap.h (active_insn_between): Strengthen both params from
rtx to rtx_insn *.
* function.c (active_insn_between): Likewise.

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

9 years agodfa_clear_single_insn_cache takes an rtx_insn
dmalcolm [Fri, 29 Aug 2014 00:12:44 +0000 (00:12 +0000)]
dfa_clear_single_insn_cache takes an rtx_insn

gcc/
2014-08-28  David Malcolm  <dmalcolm@redhat.com>

* genattr.c (main): When writing out insn-attr.h, strengthen param
of dfa_clear_single_insn_cache from rtx to rtx_insn *.
* genautomata.c (output_dfa_clean_insn_cache_func): Likewise when
writing out the definition of dfa_clear_single_insn_cache to the
generated insn-automata.c

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

9 years agoUse rtx_insn in various places in resource.[ch]
dmalcolm [Fri, 29 Aug 2014 00:09:39 +0000 (00:09 +0000)]
Use rtx_insn in various places in resource.[ch]

gcc/
2014-08-28  David Malcolm  <dmalcolm@redhat.com>

* resource.h (clear_hashed_info_for_insn): Strengthen param from
rtx to rtx_insn *.
(incr_ticks_for_insn): Likewise.
(init_resource_info): Likewise.

* resource.c (init_resource_info): Likewise.
(clear_hashed_info_for_insn): Likewise.
(incr_ticks_for_insn): Likewise.

* reorg.c (delete_scheduled_jump): Strengthen param "insn" from
rtx to rtx_insn *.
(steal_delay_list_from_target): Use methods of "seq".
(try_merge_delay_insns): Use methods of "merged_insns".
(update_block): Strengthen param "insn" from rtx to rtx_insn *.
(reorg_redirect_jump): Likewise for param "jump".

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

9 years agoMake insn_addresses_new require an rtx_insn
dmalcolm [Fri, 29 Aug 2014 00:07:51 +0000 (00:07 +0000)]
Make insn_addresses_new require an rtx_insn

gcc/
2014-08-28  David Malcolm  <dmalcolm@redhat.com>

* insn-addr.h (insn_addresses_new): Strengthen param "insn" from
rtx to rtx_insn *.
* config/s390/s390.c (s390_split_branches): Eliminate top-level
local rtx "tmp", in favor of new local rtx "mem" and rtx_insn *
"set_insn".
(s390_mainpool_finish): In three places, split out a local rtx
"insn" into a local rtx - "set" or "pat" - and a rtx_insn *
"insn".  Strengthen local "pool_end" from rtx to rtx_code_label *
 and split another local rtx "insn" out into rtx "pat" and
rtx_insn * "insn".
* config/sh/sh.c (output_branchy_insn): Rather than working
directly on operands[9], introduce local rtx_code_label *
variables named "lab" in two places, working on them, and then
assigning them to operands[9], so that the intervening operations
are known by the type system to be on insns.

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

9 years agoMake INSN_HAS_LOCATION require an rtx_insn
dmalcolm [Fri, 29 Aug 2014 00:02:25 +0000 (00:02 +0000)]
Make INSN_HAS_LOCATION require an rtx_insn

gcc/
2014-08-28  David Malcolm  <dmalcolm@redhat.com>

* rtl.h (INSN_HAS_LOCATION): Strengthen param from const_rtx to
const rtx_insn *.

* print-rtl.c (print_rtx): Add checked cast to const rtx_insn *
in invocation of INSN_HAS_LOCATION.

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

9 years ago[gcc]
wschmidt [Thu, 28 Aug 2014 21:50:51 +0000 (21:50 +0000)]
[gcc]

2014-08-28  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* config/rs6000/altivec.h (vec_xl): New #define.
(vec_xst): Likewise.
* config/rs6000/rs6000-builtin.def (XXSPLTD_V2DF): New built-in.
(XXSPLTD_V2DI): Likewise.
(DIV_V2DI): Likewise.
(UDIV_V2DI): Likewise.
(MUL_V2DI): Likewise.
* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
entries for VSX_BUILTIN_XVRDPI, VSX_BUILTIN_DIV_V2DI,
VSX_BUILTIN_UDIV_V2DI, VSX_BUILTIN_MUL_V2DI,
VSX_BUILTIN_XXSPLTD_V2DF, and VSX_BUILTIN_XXSPLTD_V2DI).
* config/rs6000/vsx.md (UNSPEC_VSX_XXSPLTD): New unspec.
(UNSPEC_VSX_DIVSD): Likewise.
(UNSPEC_VSX_DIVUD): Likewise.
(UNSPEC_VSX_MULSD): Likewise.
(vsx_mul_v2di): New insn-and-split.
(vsx_div_v2di): Likewise.
(vsx_udiv_v2di): Likewise.
(vsx_xxspltd_<mode>): New insn.

[gcc/testsuite]

2014-08-28  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* gcc.target/powerpc/builtins-1.c: Add tests for vec_xl, vec_xst,
vec_round, vec_splat, vec_div, and vec_mul.
* gcc.target/powerpc/builtins-2.c: New test.

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

9 years agoNEXT_INSN and PREV_INSN take a const rtx_insn
dmalcolm [Thu, 28 Aug 2014 21:29:38 +0000 (21:29 +0000)]
NEXT_INSN and PREV_INSN take a const rtx_insn

gcc/
2014-08-28  David Malcolm  <dmalcolm@redhat.com>

* rtl.h (RTX_PREV): Added checked casts to uses of PREV_INSN and
NEXT_INSN.
(PREV_INSN): Strengthen param from const_rtx to const rtx_insn *.
(NEXT_INSN): Likewise.
(JUMP_LABEL_AS_INSN): Add a "const" modifier to param.
(reg_used_between_p): Strengthen params 2 and 3 from const_rtx to
const rtx_insn *.
(no_labels_between_p): Likewise for both params.

* config/aarch64/aarch64.c (aarch64_output_casesi): Add a checked
cast when using NEXT_INSN on operands[2].
* config/alpha/alpha.c (alpha_set_memflags): Strengthen local
"insn" from rtx to rtx_insn *, adding a checked cast.
(alpha_handle_trap_shadows): Strengthen locals "i", "n" from rtx to
rtx_insn *.
* config/arc/arc-protos.h (arc_ccfsm_record_condition): Likewise
for third param.
(arc_text_label): Likewise for param "insn".
* config/arc/arc.c (arc_expand_epilogue): Likewise for local
"insn".
(arc_ccfsm_record_condition): Likewise for param "jump".
(arc_text_label): Likewise for local "label".
* config/arc/arc.md (doloop_begin_i): Likewise for local "scan".
Introduce a local "seq" via a dyn_cast to rtx_sequence *, and use
a method for typesafety.  Add a checked cast.
* config/arc/constraints.md (Clb): Add a checked cast when getting
the CODE_LABEL from a LABEL_REF.
* config/arm/arm.c (require_pic_register): Strengthen locals
"seq", "insn" from rtx to rtx_insn *.
(create_fix_barrier): Likewise for locals "selected", "next".
(thumb1_reorg): Likewise for locals "prev", "insn".
(arm_expand_prologue): Likewise for local "last".
(thumb1_output_casesi): Add a checked cast when using NEXT_INSN on
operands[0].
(thumb2_output_casesi): Likewise for operands[2].
* config/avr/avr-log.c (avr_log_vadump): Within 'L' case,
strengthen local "insn" from rtx to rtx_insn *.
* config/bfin/bfin.c (find_next_insn_start): Likewise for return
type and param "insn".
(find_prev_insn_start): Likewise.
(hwloop_optimize): Likewise for locals "insn", "last_insn",
"prev".
(gen_one_bundle): Likewise for loal "t".
(find_load): Likewise for param "insn".
(workaround_speculation): Likewise for locals "insn", "next",
"target", "next_tgt".
* config/c6x/c6x.c (assign_reservations): Likewise for both params
and for locals "insn", "within", "last".
(count_unit_reqs): Likewise for params "head", "tail" and local
"insn".
(try_rename_operands): Likewise for params "head", "tail".
(reshuffle_units): Likewise for locals "head", "tail", "insn".
(struct c6x_sched_context): Likewise for fields
"last_scheduled_insn", "last_scheduled_iter0".
(init_sched_state): Replace NULL_RTX with NULL.
(reorg_split_calls): Strengthen local "new_cycle_first" from rtx
to rtx_insn *.
(undo_split_delayed_nonbranch): Likewise for param and for local
"prev".
(conditionalize_after_sched): Likewise for local "insn".
(bb_earliest_end_cycle): Likewise.
(filter_insns_above): Likewise for locals "insn", "next".
(hwloop_optimize): Remove redundant checked cast.
(hwloop_fail): Strengthen local "t" from rtx to rtx_insn *.
* config/cris/cris.c (cris_initial_frame_pointer_offset): Replace
NULL_RTX with NULL.
(cris_simple_epilogue): Likewise.
(cris_expand_prologue): Likewise.
(cris_expand_epilogue): Likewise.
* config/frv/frv.c (frv_function_contains_far_jump): Strengthen
local "insn" from rtx to rtx_insn *.
(frv_ifcvt_modify_tests): Likewise for locals "last_insn", "insn".
(struct frv_packet_group): Likewise for the elements within array
fields "insns", "sorted", and for field "nop".
(frv_packet): Likewise for the elements within array field
"insns".
(frv_add_insn_to_packet): Likewise for param "insn".
(frv_insert_nop_in_packet): Likewise for param "insn" and local
"last".
(frv_for_each_packet): Likewise for locals "insn", "next_insn".
(frv_sort_insn_group_1): Likewise for local "insn".
(frv_optimize_membar_local): Likewise.
(frv_align_label): Likewise for locals "x", "last", "barrier",
"label".
* config/ia64/ia64.c (last_scheduled_insn): Likewise for this
local.
(ia64_sched_init): Likewise for local "insn".
(scheduled_good_insn): Likewise for param "last".
(struct _ia64_sched_context): Likewise for field
"last_scheduled_insn".
(ia64_init_sched_context): Replace NULL_RTX with NULL.
(struct bundle_state): Likewise for field "insn".
(issue_nops_and_insn): Likewise for param "insn".
(get_next_important_insn): Likewise for return type and both
params.
(ia64_add_bundle_selector_before): Likewise for param "insn".
(bundling): Likewise for params "prev_head_insn", "tail" and
locals "insn", "next_insn", "b".  Eliminate top-level local rtx
"nop" in favor of new locals rtx "nop_pat" and rtx_insn *nop;
* config/iq2000/iq2000-protos.h (iq2000_fill_delay_slot):
Strengthen final param from rtx to rtx_insn *.
(iq2000_move_1word): Likewise for second param.
* config/iq2000/iq2000.c (iq2000_fill_delay_slot): Likewise for
param "cur_insn" and local "next_insn".
(iq2000_move_1word): Likewise for param "insn".
* config/iq2000/iq2000.md (insn before ADDR_DIFF_VEC): Add checked
casts when using NEXT_INSN on operands[1].
* config/m32c/m32c.c (m32c_function_needs_enter): Strengthen local
"insn" from rtx to rtx_insn *.
* config/m68k/m68k.c (m68k_jump_table_ref_p): Split out uses of
"x", introducing local rtx_insn * "insn" for when working with the
CODE_LABEL of the LABEL_REF.
(m68k_sched_md_init_global): Strengthen local "insn" from rtx to
rtx_insn *.
* config/mcore/mcore-protos.h (mcore_is_dead): Likewise for first
param.
* config/mcore/mcore.c (emit_new_cond_insn): Likewise for return
type.
(conditionalize_block): Likewise for return type and param.
(mcore_is_dead): Likewise for param "first" and local "insn".
(emit_new_cond_insn): Likewise for return type.
(conditionalize_block): Likewise for return type, param, and
locals "insn", "blk_1_br", "end_blk_2_insn", "start_blk_3_lab",
"newinsn".
(conditionalize_optimization): Likewise for local "insn".
* config/mep/mep.c (mep_jmp_return_reorg): Add checked cast when
using NEXT_INSN.
* config/microblaze/microblaze.md: Add checked casts when using
NEXT_INSN.
* config/mips/mips.c (mips_expand_prologue): Eliminate top-level
rtx "insn" in favor of various more tightly-scoped rtx "insn" and
and rtx_insn * "insn".
* config/mips/mips.md (casesi_internal_mips16_<mode>): Add a
checked cast when using NEXT_INSN on operands[2].
* config/mn10300/mn10300.c (mn10300_insert_setlb_lcc): Strengthen
local "insn" from rtx to rtx_insn *.
* config/nds32/nds32-fp-as-gp.c (nds32_fp_as_gp_check_available):
Likewise.
* config/nds32/nds32-md-auxiliary.c (nds32_output_casesi_pc_relative):
Add a checked cast when using NEXT_INSN on operands[1].
* config/pa/pa-protos.h (pa_following_call): Strengthen param from
rtx to rtx_insn *.
(pa_output_cbranch): Likewise for final param.
(pa_output_lbranch): Likewise for second param.
(pa_output_bb): Likewise for third param.
(pa_output_bvb): Likewise.
(pa_output_dbra): Likewise for second param.
(pa_output_movb): Likewise.
(pa_output_parallel_movb): Likewise.
(pa_output_parallel_addb): Likewise.
(pa_output_millicode_call): Likewise for first param.
(pa_output_mul_insn): Likewise for second param.
(pa_output_div_insn): Likewise for third param.
(pa_output_mod_insn): Likewise for second param.
(pa_jump_in_call_delay): Likewise for param.
* config/pa/pa.c (pa_output_mul_insn): Likewise for param "insn".
(pa_output_div_insn): Likewise.
(pa_output_mod_insn): Likewise.
(pa_output_cbranch): Likewise.
(pa_output_lbranch): Likewise.
(pa_output_bb): Likewise.
(pa_output_bvb): Likewise.
(pa_output_dbra): Likewise.
(pa_output_movb): Likewise.
(pa_output_millicode_call): Likewise; use method of rtx_sequence *
to simplify and for typesafety.
(pa_output_call): Use method of rtx_sequence *.
(forward_branch_p): Strengthen param "insn" from rtx to rtx_insn *.
(pa_jump_in_call_delay): Likewise.
(pa_output_parallel_movb): Likewise.
(pa_output_parallel_addb): Likewise.
(pa_following_call): Likewise.
(pa_combine_instructions): Likewise for locals "anchor",
"floater".
(pa_can_combine_p): Likewise for params "anchor", "floater" and
locals "start", "end".
* config/picochip/picochip.c (picochip_reset_vliw): Likewise for
param "insn" and local "local_insn".
(picochip_final_prescan_insn): Likewise for local "local_insn".
* config/rs6000/rs6000.c (compute_save_world_info): Likewise for
local "insn".
(uses_TOC): Likewise.
* config/s390/s390.c (get_some_local_dynamic_name): Likewise.
(s390_mainpool_finish): Eliminate top-level local rtx "insn",
splitting out to more tightly-scoped locals, 3 as rtx and one as
rtx_insn *.
(s390_optimize_nonescaping_tx): Strengthen local "tmp" from rtx
to rtx_insn *.
(s390_emit_prologue): Introduce a local "insn" to be an rtx_insn *
where needed.
* config/sh/sh-protos.h (barrier_align): Strenghten param from rtx
to rtx_insn *.
(fixup_addr_diff_vecs): Likewise.
(reg_unused_after): Likewise for param 2.
(sh_can_redirect_branch): Likewise for both params.
(check_use_sfunc_addr): Likewise for param 1.
* config/sh/sh.c (fixup_mova): Likewise for local "worker".
(find_barrier): Likewise for local "last_got".
(gen_block_redirect): Likewise for return type, param "jump" and
locals "prev", "scan", "next", "insn".
(struct far_branch): Likewise for fields "near_label",
"insert_place", "far_label".
(gen_far_branch): Likewise for local "jump".
(fixup_addr_diff_vecs): Likewise for param "first" and locals
"insn", "prev".
(barrier_align): Likewise for param and for locals "prev", "x".
Introduce local rtx_sequence * "prev_seq" and use insn method for
typesafety and clarity.
(sh_reorg): Strengthen local "scan" from rtx to rtx_insn *.
(get_dest_uid): Likewise for local "dest".
(split_branches): Likewise for locals "next", "beyond", "label",
"block", "far_label".  Add checked casts when assigning to
bp->far_label and "far_label".
(reg_unused_after): Strengthen param "scan" from rtx to rtx_insn *.
(sequence_insn_p): Likewise.
(mark_constant_pool_use): Likewise for locals "insn", "lab".  Add a
more loop-scoped rtx "insn" when walking LABEL_REFS.
(sh_can_redirect_branch): Strengthen both params from rtx to
rtx_insn *.
(check_use_sfunc_addr): Likewise for param "insn".  Introduce a
new local rtx_sequence * "seq" via a dyn_cast, and use a method
for clarity and typesafety.
* config/sh/sh.md (define_expand "epilogue"): Strengthen local
"insn" from rtx to rtx_insn *.
(define_insn "casesi_worker_1"): Add a checked cast to rtx_insn *
when using NEXT_INSN on the CODE_LABEL in operands[2].
(define_insn "casesi_worker_2"): Likewise.
(define_insn "casesi_shift_media"): Likewise.
(define_insn "casesi_load_media"): Likewise for the CODE_LABEL in
operands[3].
* config/sh/sh_optimize_sett_clrt.cc (struct ccreg_value):
Strengthen field "insn" from rtx to rtx_insn *.
(sh_optimize_sett_clrt::execute): Likewise for locals "next_i", "i".
(sh_optimize_sett_clrt::find_last_ccreg_values): Likewise for
param "start_insn" and local "start_insn".
* config/sh/sh_treg_combine.cc (struct set_of_reg): Likewise for
field "insn".
(find_set_of_reg_bb): Likewise for param "insn".
(trace_reg_uses_1): Likewise for param "start_insn" and local "i".
(trace_reg_uses): Likewise for param "start_insn".
(sh_treg_combine::cbranch_trace): Likewise for field
"cbranch_insn".
(sh_treg_combine::cbranch_trace::cbranch_trace): Likewise for
param "insn".
(sh_treg_combine::record_set_of_reg): Likewise for param
"start_insn" and local "i".
(sh_treg_combine::can_remove_cstore): Likewise for local
"prev_insn".
(sh_treg_combine::try_optimize_cbranch): Likewise for param
"insn".
(sh_treg_combine::execute): Likewise for local "i".
* config/sparc/sparc-protos.h (empty_delay_slot): Likewise for
param.
(sparc_check_64): Likewise for second param.
* config/sparc/sparc.c (sparc_do_work_around_errata): Likewise for
locals "insn", "next".  Introduce local rtx_sequence * "seq" via a
dyn_cast, using its insn method for typesafety and clarity.
(empty_delay_slot): Strengthen param "insn" from rtx to
rtx_insn *.
(set_extends): Likewise.
(sparc_check_64): Likewise.
* config/stormy16/stormy16.c (xstormy16_split_cbranch): Likewise
for locals "seq", "last_insn".
(combine_bnp): Likewise for param "insn".
(xstormy16_reorg): Likewise for local "insn".
* config/v850/v850.c (substitute_ep_register): Likewise for params
"first_insn", "last_insn" and local "insn".
(v850_reorg): Likewise for fields "first_insn", "last_insn" within
elements of "regs" array, and local "insn".
* except.c (emit_note_eh_region_end): Likewise for param "insn".
* final.c (final_sequence): Strengthen this global from rtx to
rtx_sequence *.
(shorten_branches): Strenthen locals "rel_lab", "prev" from rtx to
rtx_insn *.
(final_scan_insn): Update assignment to "final_sequence" to be
from "seq", the cast version of "body", for type-safety.
* function.c (assign_parm_setup_reg): Strengthen locals "insn",
"insns" from rtx to rtx_insn *.
(thread_prologue_and_epilogue_insns): Likewise for local "seq".
* genattr.c (main): When writing out generated insn-attr.h,
strengthen params 1 and 3 of eligible_for_delay,
eligible_for_annul_true, eligible_for_annul_false from rtx to
rtx_insn *.
* genattrtab.c (write_eligible_delay): Likewise when writing out
generated insn-attrtab.c; also local "insn" the generated
functions.
* hw-doloop.c (discover_loops): Strengthen local "insn" from rtx
to rtx_insn *.
* hw-doloop.h (struct GTY hwloop_info_d): Strengthen field
"start_label" from rtx to rtx_insn *.
* ira.c (decrease_live_ranges_number): Likewise for local "p".
(ira_update_equiv_info_by_shuffle_insn): Likewise for param
"insns" and local "insn".
(validate_equiv_mem): Likewise for param "start" and local "insn".
(memref_used_between_p): Likewise for params "start", "end" and
local "insn".
* ira.h (ira_update_equiv_info_by_shuffle_insn): Likewise for
final param.
* loop-doloop.c (doloop_optimize): Within region guarded by
INSN_P (doloop_pat), introduce a new local rtx_insn *
"doloop_insn" via a checked cast, and use it for typesafety,
eventually writing the value back into doloop_pat.
* output.h (final_sequence): Strengthen this global from rtx to
rtx_sequence *.
* recog.c (peep2_attempt): Rename param "insn" to "uncast_insn",
reintroducing "insn" as an rtx_insn * via a checked cast.
Strengthen param "attempt" and local "new_insn"from rtx to
rtx_insn *.
(peephole2_optimize): Strengthen locals "insn", "attempt" from rtx
to rtx_insn *.
* ree.c (emit_note_eh_region_end): Likewise for local "insn".
* reload1.c (reload_as_needed): Eliminate top-level locals "x" and
"p" in favor of more tightly-scoped replacements, sometimes rtx
and sometimes rtx_insn *, as appropriate.
(delete_output_reload): Eliminate top-level rtx "i1", splitting
into two loop-scoped locals, one an rtx, the other an rtx_insn *.
* reorg.c (delete_scheduled_jump): Add checked cast.  Strengthen
local "trial" from rtx to rtx_insn *.
(redirect_with_delay_slots_safe_p): Strengthen param "jump" from
rtx to rtx_insn *.  Strenghten local "pat" from rtx to
rtx_sequence * and use methods for clarity and typesafety.
(redirect_with_delay_list_safe_p): Strengthen param "jump" from
rtx to rtx_insn *.  Strenghten local "li" from rtx to
rtx_insn_list * and use its methods for clarity and typesafety.
(steal_delay_list_from_target): Strengthen param "insn" from rtx
to rtx_insn *.
(steal_delay_list_from_fallthrough): Likewise.
(try_merge_delay_insns): Likewise for param "thread" and locals
"trial", "next_trial", "delay_insn".
(redundant_insn): Likewise for param "target" and local "trial".
(own_thread_p): Likewise for param "thread" and locals
"active_insn", "insn".
(get_label_before): Likewise for param "insn".
(fill_simple_delay_slots): Likewise for local "new_label"; use
JUMP_LABEL_AS_INSN as necessary when calling own_thread_p.
(label_before_next_insn): Strengthen return type and local "insn"
from rtx to rtx_insn *.
(relax_delay_slots): Likewise for locals "other", "tmp".
(make_return_insns): Likewise for param "first" and locals "insn",
"jump_insn", "prev".  Move declaration of "pat" to its assignment
and strengthen from rtx to rtx_sequence *.  Use its methods for
clarity and typesafety.
* rtlanal.c (no_labels_between_p): Strengthen params from
const_rtx to const rtx_insn *.  Strengthen local "p" from rtx to
rtx_insn *.
(reg_used_between_p): Strengthen params "from_insn", "to_insn"
from const_rtx to const rtx_insn *.
(reg_set_between_p): Rename param "from_insn" to
"uncast_from_insn", and reintroduce "from_insn" as a
const rtx_insn * via a checked cast.
(modified_between_p): Likewise for param "start" as "uncast_start".
(tablejump_p): Add a cast when invoking NEXT_INSN on "label".
* sel-sched-ir.c (get_seqno_by_preds): Strengthen param and locals
"tmp", head" from rtx to rtx_insn *.
(recompute_rev_top_order): Likewise for local "insn".
* sel-sched-ir.h (get_seqno_by_preds): Likewise for param.
* store-motion.c (build_store_vectors): Likewise for local "insn".
Strengthen local "st" from rtx to rtx_insn_list * and use methods
for clarity and typesafety.
* tree-ssa-loop-ivopts.c (seq_cost): Strengthen param "seq" from
rtx to rtx_insn *.
(computation_cost): Likewise for local "seq".
(get_address_cost): Likewise.

/
2014-08-28  David Malcolm  <dmalcolm@redhat.com>

* rtx-classes-status.txt (TODO): NEXT_INSN/PREV_INSN are done.

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

9 years agotablejump_p takes an rtx_insn
dmalcolm [Thu, 28 Aug 2014 20:51:33 +0000 (20:51 +0000)]
tablejump_p takes an rtx_insn

gcc/
2014-08-28  David Malcolm  <dmalcolm@redhat.com>

* rtl.h (tablejump_p): Strengthen first param from const_rtx to
const rtx_insn *.
(label_is_jump_target_p): Likewise for second param.

* rtlanal.c (tablejump_p): Likewise for param "insn".
(label_is_jump_target_p): Likewise for param "jump_insn".

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

9 years agofind_first_parameter_load params and return type
dmalcolm [Thu, 28 Aug 2014 20:49:58 +0000 (20:49 +0000)]
find_first_parameter_load params and return type

gcc/
2014-08-28  David Malcolm  <dmalcolm@redhat.com>

* rtl.h (find_first_parameter_load): Strengthen return type and
both params from rtx to rtx_insn *.
* rtlanal.c (find_first_parameter_load): Strengthen return type,
both params and locals "before", "first_set" from rtx to
rtx_insn *.  Remove now-redundant cast.
* except.c (sjlj_mark_call_sites): Use NULL rather than NULL_RTX.

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

9 years agoDelete find_last_value
dmalcolm [Thu, 28 Aug 2014 20:47:49 +0000 (20:47 +0000)]
Delete find_last_value

gcc/
2014-08-28  David Malcolm  <dmalcolm@redhat.com>

* rtl.h (find_last_value): Delete.
* rtlanal.c (find_last_value): Delete.

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

9 years agoWork towards NEXT_INSN/PREV_INSN requiring insns as their params
dmalcolm [Thu, 28 Aug 2014 20:45:40 +0000 (20:45 +0000)]
Work towards NEXT_INSN/PREV_INSN requiring insns as their params

gcc/
2014-08-28  David Malcolm  <dmalcolm@redhat.com>

* cfgexpand.c (pass_expand::execute): Strengthen local "after"
from rtx to rtx_insn *.
* cfgrtl.c (force_nonfallthru_and_redirect): Replace use of local
rtx "note" with new local rtx_insn * "new_head" when calculating
head insn of new basic block.
* combine.c (combine_split_insns): Strengthen return type and local
"ret" from rtx to rtx_insn *.
(likely_spilled_retval_p): Likewise for locals "use" and "p".
(try_combine): Eliminate local "m_split", splitting into new
locals "m_split_insn" and "m_split_pat".
(find_split_point): Strengthen local "seq" from rtx into
rtx_insn *.
* config/spu/spu.c (spu_machine_dependent_reorg): Likewise for
locals "label", "branch".
* config/spu/spu.md (define_expand "smulsi3_highpart"): Likewise
for local "insn".
(define_expand "umulsi3_highpart"): Likewise for local "insn".
* dse.c (note_add_store_info): Likewise for fields "first",
"current".
(note_add_store): Likewise for local "insn".
(emit_inc_dec_insn_before): Likewise for locals "insn",
"new_insn", "cur".
(find_shift_sequence): Likewise for locals "shift_seq", "insn".
(replace_read): Likewise for locals "insns", "this_insn".
* dwarf2cfi.c (dw_trace_info): Likewise for field "eh_head".
(notice_eh_throw): Likewise for param "insn".
(before_next_cfi_note): Likewise for return type, param, and local
"prev".
(connect_traces): Likewise for local "note".
* emit-rtl.c (reset_all_used_flags): Likewise for local "p".
(verify_rtl_sharing): Likewise.
(unshare_all_rtl_in_chain): Likewise for param "insn".
(get_first_nonnote_insn): Likewise for local "insn".
(get_last_nonnote_insn): Likewise.  Introduce local rtx_sequence *
"seq" and use its methods to clarify things.
(next_insn): Strengthen return type from rtx to rtx_insn *.
Rename param "insn" to "uncast_insn" and reintroduce "insn" as a
local rtx_insn * using a checked cast, dropping a checked cast
made redundant by this change.  Use a cast to and method of
rtx_sequence to clarify the code.
(previous_insn): Rename param "insn" to "uncast_insn" and
reintroduce "insn" as a local rtx_insn * using a checked cast,
dropping a checked cast made redundant by this change.  Use a cast
to and method of rtx_sequence to clarify the code.
(next_nonnote_insn): Rename param "insn" to "uncast_insn" and
reintroduce "insn" as a local rtx_insn * using a checked cast,
dropping a checked cast made redundant by this change.
(next_nonnote_insn_bb): Likewise.
(prev_nonnote_insn): Likewise.
(prev_nonnote_insn_bb): Likewise.
(next_nondebug_insn): Likewise.
(prev_nondebug_insn): Likewise.
(next_nonnote_nondebug_insn): Likewise.
(prev_nonnote_nondebug_insn): Likewise.
(next_real_insn): Likewise.
(prev_real_insn): Likewise.
(next_active_insn): Likewise.
(prev_active_insn): Likewise.
(next_cc0_user): Likewise.  Use rtx_sequence and a method for
clarity.
(prev_cc0_setter): Likewise.
(try_split): Rename param "trial" to "uncast_trial" and
reintroduce "insn" as a local rtx_insn * using a checked cast,
dropping checked casts made redundant by this change.
Strengthen locals "seq", "tem", "insn_last", "insn", "next" from
rtx to rtx_insn *.
(remove_insn): Rename param "insn" to "uncast_insn" and
reintroduce "insn" as a local rtx_insn * using a checked cast.
(emit_pattern_after_setloc): Likewise for param "after", as
"uncast_after".
(emit_pattern_after): Likewise.  Strengthen local "prev" from
rtx to rtx_insn *.
(emit_pattern_before_setloc): Rename param "before" to
"uncast_before" and reintroduce "before" as a local rtx_insn *
using a checked cast.  Strengthen locals "first", "last" from
rtx to rtx_insn *.
(emit_pattern_before): Likewise rename/cast param "before" to
"uncast_before". Strengthen local "next" from rtx to rtx_insn *.
* except.c (copy_reg_eh_region_note_forward): Strengthen param
"first" and local "insn" from rtx to rtx_insn *.
(copy_reg_eh_region_note_backward): Likewise for param "last"
and local "insn".
* expr.c (fixup_args_size_notes): Rename param "last" to
"uncast_last" and reintroduce "last" as a local rtx_insn *
using a checked cast.  Strengthen local "insn" from rtx to
rtx_insn *.
* function.c (set_insn_locations): Strengthen param "insn" from
rtx to rtx_insn *.
(record_insns): Likewise for param "insns" and local "tmp".
(active_insn_between): Rename param "tail" to
"uncast_tail" and reintroduce "tail" as a local rtx_insn *
using a checked cast.
(thread_prologue_and_epilogue_insns): Split out top-level local
rtx "seq" into three different rtx_insn * locals.  Strengthen
local "prologue_seq" from rtx to rtx_insn *.
* gcse.c (insert_insn_end_basic_block): Strenghen local "insn"
from rtx to rtx_insn *.
* haifa-sched.c (initiate_bb_reg_pressure_info): Likewise.
(priority): Likewise for locals "prev_first", "twin".
(setup_insn_max_reg_pressure): Likewise for param "after".
(sched_setup_bb_reg_pressure_info): Likewise.
(no_real_insns_p): Strengthen params from const_rtx to
const rtx_insn *.
(schedule_block): Strengthen local "next_tail" from rtx to
rtx_insn *.
* ifcvt.c (find_active_insn_before): Strengthen return type and
param "insn" from rtx to rtx_insn *.
(find_active_insn_after): Likewise.
(cond_exec_process_insns): Likewise for param "start" and local "insn".
(cond_exec_process_if_block): Likewise for locals "then_start",
"then_end", "else_start", "else_end", "insn", "start", "end", "from".
(noce_process_if_block): Likewise for local "jump".
(merge_if_block): Likewise for two locals named "end".
(cond_exec_find_if_block): Likewise for local "last_insn".
* jump.c (delete_related_insns): Rename param "insn" to
"uncast_insn" and reintroduce "insn" as a local rtx_insn * using a
checked cast.  Strengthen local "p" from rtx to rtx_insn *.
* lra-constraints.c (inherit_reload_reg): Replace NULL_RTX with
NULL.
(split_reg): Likewise.
* lra.c (lra_process_new_insns): Likewise.
* modulo-sched.c (permute_partial_schedule): Strengthen param
"last" from rtx to rtx_insn *.
* optabs.c (add_equal_note): Likewise for param "insns" and local
"last_insn".
(expand_binop_directly): Add checked casts to rtx_insn * within
NEXT_INSN (pat) uses.
(expand_unop_direct): Likewise.
(maybe_emit_unop_insn): Likewise.
* recog.c (peep2_attempt): Strengthen locals "last",
"before_try", "x" from rtx to rtx_insn *.
* reorg.c (optimize_skip): Strengthen return type and local
"delay_list" from rtx to rtx_insn_list *.  Strengthen param "insn"
and locals "trial", "next_trial" from rtx to rtx_insn *.
* resource.c (next_insn_no_annul): Strengthen return type and
param "insn" from rtx to rtx_insn *.  Use a cast to and method of
rtx_sequence to clarify the code.
(mark_referenced_resources): Add a checked cast to rtx_insn *
within PREV_INSN (x).
(find_dead_or_set_registers): Strengthen return type, param
"target", locals "insn", "next", "jump_insn", "this_jump_insn"
from rtx to rtx_insn *.  Strengthen param "jump_target" from rtx *
to rtx_insn **.
(mark_target_live_regs): Strengthen params "insns" and "target",
locals "insn", "jump_target", "start_insn", "stop_insn" from rtx
to rtx_insn *.  Use cast to and method of rtx_sequence to clarify
the code.
* resource.h (mark_target_live_regs): Strengthen params 1 and 2
from rtx to rtx_insn *.
* rtl.h (copy_reg_eh_region_note_forward): Strengthen second param
from rtx to rtx_insn *.
(copy_reg_eh_region_note_backward): Likewise.
(unshare_all_rtl_in_chain): Likewise for sole param.
(dump_rtl_slim): Strengthen second and third params from const_rtx
to const rtx_insn *.
* sched-deps.c (sched_free_deps): Strengthen params "head" and
"tail" and locals "insn", "next_tail" from rtx to rtx_insn *.
* sched-ebb.c (init_ready_list): Strengthen locals "prev_head",
"next_tail" from rtx to rtx_insn *.
(begin_move_insn): Likewise for local "next".
* sched-int.h (sched_free_deps): Likewise for first and second
params.
(no_real_insns_p): Strengthen both params from const_rtx to
const rtx_insn *.
(sched_setup_bb_reg_pressure_info): Strengthen second params from
rtx to rtx_insn *.
* sched-rgn.c (init_ready_list): Likewise for locals "prev_head",
"next_tail".
* sched-vis.c (dump_rtl_slim): Strengthen params "first", "last"
and locals "insn", "tail" from const_rtx to const rtx_insn *.
(rtl_dump_bb_for_graph): Strengthen local "insn" from rtx to
rtx_insn *.
(debug_rtl_slim): Strengthen params "first" and "last" from
const_rtx to const rtx_insn *.
* shrink-wrap.c (try_shrink_wrapping): Strengthen param
"prologue_seq" and locals "seq", "p_insn" from rtx to rtx_insn *.
(convert_to_simple_return): Likewise for param "returnjump".
* shrink-wrap.h (try_shrink_wrapping): Likewise for param
"prologue_seq".
(convert_to_simple_return): Likewise for param "returnjump".
* valtrack.c (propagate_for_debug): Likewise for params
"insn", "last".
* valtrack.h (propagate_for_debug): Likewise for second param.

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

9 years agoinsn_current_reference_address takes an rtx_insn
dmalcolm [Thu, 28 Aug 2014 20:37:15 +0000 (20:37 +0000)]
insn_current_reference_address takes an rtx_insn

gcc/
2014-08-28  David Malcolm  <dmalcolm@redhat.com>

* output.h (insn_current_reference_address): Strengthen param
from rtx to rtx_insn *.
* final.c (insn_current_reference_address): Likewise.

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

9 years agoinside_basic_block_p requires a const rtx_insn *
dmalcolm [Thu, 28 Aug 2014 20:35:42 +0000 (20:35 +0000)]
inside_basic_block_p requires a const rtx_insn *

gcc/
2014-08-28  David Malcolm  <dmalcolm@redhat.com>

* basic-block.h (inside_basic_block_p): Strengthen param from
const_rtx to const rtx_insn *.
* cfgbuild.c (inside_basic_block_p): Likewise.

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

9 years agoUse rtx_insn in more places in dwarf2cfi.c
dmalcolm [Thu, 28 Aug 2014 19:08:12 +0000 (19:08 +0000)]
Use rtx_insn in more places in dwarf2cfi.c

gcc/
2014-08-28  David Malcolm  <dmalcolm@redhat.com>

* dwarf2cfi.c (dw_trace_info): Strengthen field "head" from rtx to
rtx_insn *.
(get_trace_info): Likewise for param "insn".
(save_point_p): Likewise.
(maybe_record_trace_start): Likewise for both params.
(maybe_record_trace_start_abnormal): Likewise.
(create_trace_edges): Likewise for sole param and for three of the
locals named "lab".
(scan_trace): Strengthen local "prev", "insn", "control" from rtx
to rtx_insn *, and update a call to pat->element to pat->insn.

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

9 years agoConvert forced_labels from an EXPR_LIST to an INSN_LIST
dmalcolm [Thu, 28 Aug 2014 19:05:44 +0000 (19:05 +0000)]
Convert forced_labels from an EXPR_LIST to an INSN_LIST

gcc/
2014-08-28  David Malcolm  <dmalcolm@redhat.com>

* function.h (struct expr_status): Convert field "x_forced_labels"
from rtx_expr_list * to rtx_insn_list *.

* cfgbuild.c (make_edges): Convert local "x" from an
rtx_expr_list * to an rtx_insn_list *, replacing use of
"element" method with "insn" method.
* dwarf2cfi.c (create_trace_edges): Likewise for local "lab".
* except.c (sjlj_emit_dispatch_table): Replace use of
gen_rtx_EXPR_LIST with gen_rtx_INSN_LIST when prepending to
forced_labels.
* jump.c (rebuild_jump_labels_1): Convert local "insn" from an
rtx_expr_list * to an rtx_insn_list *, replacing use of
"element" method with "insn" method.
* reload1.c (set_initial_label_offsets): Likewise for local "x".
* stmt.c (label_rtx): Strengthen local "ref" from rtx to
rtx_insn *, adding a checked cast.  Replace use of
gen_rtx_EXPR_LIST with gen_rtx_INSN_LIST when prepending it to
forced_labels.
(expand_label): Likewise for local "label_r".

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

9 years agoConvert nonlocal_goto_handler_labels from an EXPR_LIST to an INSN_LIST
dmalcolm [Thu, 28 Aug 2014 19:03:22 +0000 (19:03 +0000)]
Convert nonlocal_goto_handler_labels from an EXPR_LIST to an INSN_LIST

gcc/
2014-08-28  David Malcolm  <dmalcolm@redhat.com>

* function.h (struct rtl_data): Convert field
"x_nonlocal_goto_handler_labels" from rtx_expr_list * to
rtx_insn_list *.
* rtl.h (remove_node_from_insn_list): New prototype.

* builtins.c (expand_builtin): When prepending to
nonlocal_goto_handler_labels, use gen_rtx_INSN_LIST rather than
gen_rtx_EXPR_LIST.
* cfgbuild.c (make_edges): Convert local "x" from rtx_expr_list *
to rtx_insn_list *, and use its "insn" method rather than
"element" method.
* cfgrtl.c (delete_insn): Use new function
remove_node_from_insn_list rather than
remove_node_from_expr_list.
(cfg_layout_initialize): Convert local "x" from rtx_expr_list *
to rtx_insn_list *, and use its "insn" method rather than
"element" method.
* dwarf2cfi.c (create_trace_edges): Likewise for local "lab".
* reload1.c (set_initial_label_offsets): Likewise for local "x".
* rtlanal.c (remove_node_from_insn_list): New function, adapted
from remove_node_from_expr_list.
* stmt.c (expand_label): When prepending to
nonlocal_goto_handler_labels, use gen_rtx_INSN_LIST rather than
gen_rtx_EXPR_LIST.

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

9 years agoStrengthen return_label and naked_return_label to rtx_code_label *
dmalcolm [Thu, 28 Aug 2014 19:01:18 +0000 (19:01 +0000)]
Strengthen return_label and naked_return_label to rtx_code_label *

gcc/
2014-08-28  David Malcolm  <dmalcolm@redhat.com>

* function.h (struct rtl_data): Strengthen fields "x_return_label"
and "x_naked_return_label" from rtx to rtx_code_label *.

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

9 years agoMake SET_NEXT_INSN/SET_PREV_INSN require an rtx_insn
dmalcolm [Thu, 28 Aug 2014 18:59:13 +0000 (18:59 +0000)]
Make SET_NEXT_INSN/SET_PREV_INSN require an rtx_insn

gcc/
2014-08-28  David Malcolm  <dmalcolm@redhat.com>

* rtl.h (SET_PREV_INSN): Strengthen param from rtx to rtx_insn *.
(SET_NEXT_INSN): Likewise.
(gen_rtvec_v): Add an overload for param types (int, rtx_insn **).

* config/c6x/c6x.c (gen_one_bundle): Strengthen param "slot" from
rtx * to rtx_insn **.  Introduce a new local rtx "seq", using it
to split out the SEQUENCE from local "bundle", strengthening the
latter from rtx to rtx_insn * to hold the insn holding the SEQUENCE.
Strengthen locals "t" and "insn" from rtx to rtx_insn *.
(c6x_gen_bundles): Strengthen locals "insn", "next", "last_call"
and the type of the elements of the "slot" array from rtx to
rtx_insn *.
(reorg_split_calls): Likewise for locals "insn" and "next", and
the type of the elements of the "slot" array.

* config/frv/frv.c (frv_nops): Likewise for the elements of this
array.
(frv_function_prologue): Likewise for locals "insn", "next",
"last_call".
(frv_register_nop): Introduce a local "nop_insn" to be the
rtx_insn * containing rtx "nop".

* config/mep/mep.c (mep_make_bundle): Param "core" is sometimes
used as an insn and sometimes as a pattern, so rename it to
"core_insn_or_pat", and introduce local rtx_insn * "core_insn",
using it where dealing with the core insn.

* config/picochip/picochip.c (reorder_var_tracking_notes):
Strengthen locals "insn", "next", "last_insn", "queue",
"next_queue", "prev" from rtx to rtx_insn *.

* emit-rtl.c (gen_rtvec_v): Add overloaded implementation for when
the second param is an rtx_insn ** rather than an rtx **.
(link_insn_into_chain): Strengthen locals "seq" and "sequence"
from rtx to rtx_sequence *, and introduce local named "sequence",
using methods of rtx_sequence to clarify the code.
(remove_insn): Introduce local rtx_sequence * named "sequence" and
use its methods.
(emit_insn_after_1): Strengthen return type from rtx to rtx_insn *.
Rename param "after" to "uncast_after", reintroducing "after" as a
local rtx_insn * with a checked cast.
(emit_pattern_after_noloc): Rename param "after" to "uncast_after",
reintroducing "after" as a local rtx_insn * with a checked cast.
Strengthen local "last" from rtx to rtx_insn * and remove the
now-redundant checked casts.
(copy_delay_slot_insn): Strengthen return type and param from rtx
to rtx_insn *.

* haifa-sched.c (reemit_notes): Strengthen params "insn" and
"last" from rtx to rtx_insn *.

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

9 years agoUse rtx subclasses in more places in reorg.c
dmalcolm [Thu, 28 Aug 2014 18:48:00 +0000 (18:48 +0000)]
Use rtx subclasses in more places in reorg.c

gcc/
2014-08-28  David Malcolm  <dmalcolm@redhat.com>

* emit-rtl.h (copy_delay_slot_insn): Strengthen return type and
param from rtx to rtx_insn *.

* emit-rtl.c (copy_delay_slot_insn): Likewise.

* reorg.c (skip_consecutive_labels): Strengthen return type, param
and local "insn" from rtx to rtx_insn *.
(unfilled_slots_base): Strengthen type from rtx * to rtx_insn **.
(unfilled_slots_next): Likewise.
(function_return_label): Strengthen from rtx to rtx_code_label *.
(function_simple_return_label): Likewise.
(first_active_target_insn): Strengthen return type and param from
rtx to rtx_insn *.
(find_end_label): Strengthen return type from rtx to
rtx_code_label *; strengthen locals as appropriate.
(emit_delay_sequence): Strengthen return type, param "insn" and
local "seq_insn" from rtx to rtx_insn *.  Strengthen param "list"
and local "li" from rtx to rtx_insn_list *, using methods of
rtx_insn_list for clarity and typesafety.
(add_to_delay_list): Strengthen return type and param "insn" from
rtx to rtx_insn *.  Strengthen param "delay_list" from rtx to
rtx_insn_list * and use methods of rtx_insn_list.
(delete_from_delay_slot): Strengthen return type, param "insn",
locals "trial", "seq_insn", "prev" from rtx to rtx_insn *.
Strengthen local "seq" from rtx to rtx_sequence *, and local
"delay_list" from rtx to rtx_insn_list *, using methods of
rtx_sequence for clarity and type-safety.
(delete_scheduled_jump): Add checked cast when invoking
delete_from_delay_slot.  Strengthen local "trial" from rtx to
rtx_insn *.
(optimize_skip): Strengthen return type and local "delay_list"
from rtx to rtx_insn_list *.  Strengthen local "trial" from rtx to
rtx_insn *.
(steal_delay_list_from_target): Strengthen return type, param
"delay_list" and local "new_delay_list" from rtx to
rtx_insn_list *.  Strengthen param "seq" from rtx to
rtx_sequence *.  Strengthen param "pnew_thread" from rtx * to
rtx_insn **.
Split out local "temp" into multiple more-tightly scoped locals:
sometimes an rtx_insn_list *, and once a rtx_insn *.  Use methods
of rtx_insn_list and rtx_sequence for clarity and typesafety.
Strengthen locals named "trial" from rtx to rtx_insn *.
(steal_delay_list_from_fallthrough): Strengthen return type and
param "delay_list" from rtx to rtx_insn_list *.  Strengthen param
"seq" from rtx to rtx_sequence *.  Use methods of rtx_sequence.
Strengthen local "trial" from rtx to rtx_insn *.
(try_merge_delay_insns): Strength local "merged_insns" from rtx
to rtx_insn_list * and use its methods.  Strengthen local "pat"
from rtx to rtx_sequence * and use its methods.  Strengthen locals
"dtrial" and "new_rtx" from rtx to rtx_insn *.
(get_label_before): Strengthen return type and local "label" from
rtx to rtx_insn *.
(fill_simple_delay_slots): Likewise for locals "insn", "trial",
"next_trial", "next", prev".  Strengthen local "delay_list" from
rtx to rtx_insn_list *  Strengthen local "tmp" from rtx * to
rtx_insn **.
(follow_jumps): Strengthen return type, param "label" and locals
"insn", "next", "value", "this_label" from rtx to rtx_insn *.
(fill_slots_from_thread): Strengthen return type, param
"delay_list" from rtx to rtx_insn_list *.  Strengthen params
"insn", "thread", "opposite_thread" and locals "new_thread",
"trial", "temp", "ninsn" from rtx to rtx_insn *.  Introduce local
"sequence" from a checked cast to rtx_sequence so that we can call
steal_delay_list_from_target and steal_delay_list_from_fallthrough
with an rtx_sequence *.
(fill_eager_delay_slots): Strengthen locals "insn", "target_label",
"insn_at_target", "fallthrough_insn" from rtx to rtx_insn *.
Strengthen local "delay_list" from rtx to rtx_insn_list *.
(relax_delay_slots): Strengthen param "first" and locals "insn",
"next", "trial", "delay_insn", "target_label" from rtx to
rtx_insn *.  Strengthen local "pat" from rtx to rtx_sequence *.
Introduce a local "trial_seq" for PATTERN (trial) of type
rtx_sequence *, in both cases using methods of rtx_sequence.
(dbr_schedule): Strengthen param "first" and locals "insn",
"next", "epilogue_insn" from rtx to rtx_insn *.

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

9 years agocheck functionality of isl version 0.12
spop [Thu, 28 Aug 2014 16:43:55 +0000 (16:43 +0000)]
check functionality of isl version 0.12

* config/isl.m4 (_ISL_CHECK_CT_PROG): Removed.
(ISL_CHECK_VERSION): Check for functionality added to ISL 0.12 instead
of checking for version number.
* configure: Regenerated.
* configure.ac (ISL_CHECK_VERSION): Do not use ISL version number.

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

9 years ago * testsuite/ext/random/*: Fix incorrect standard references in
redi [Thu, 28 Aug 2014 15:46:02 +0000 (15:46 +0000)]
* testsuite/ext/random/*: Fix incorrect standard references in
comments.

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

9 years ago2014-08-28 Richard Biener <rguenther@suse.de>
rguenth [Thu, 28 Aug 2014 13:13:45 +0000 (13:13 +0000)]
2014-08-28  Richard Biener  <rguenther@suse.de>

PR tree-optimization/62283
* tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
Do not peel loops for alignment where the vector loop likely
doesn't run at least VF times.

* gfortran.dg/vect/pr62283.f: New testcase.
* gcc.dg/tree-ssa/cunroll-5.c: Adjust.
* gcc.dg/vect/costmodel/i386/costmodel-vect-31.c: Likewise.
* gcc.dg/vect/costmodel/i386/costmodel-vect-33.c: Likewise.
* gcc.dg/vect/costmodel/x86_64/costmodel-vect-31.c: Likewise.
* gcc.dg/vect/costmodel/x86_64/costmodel-vect-33.c: Likewise.
* gcc.dg/vect/vect-33.c: Likewise.

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

9 years ago * tree-ssa-loop-ivopts.c (iv_ca_add_use): Delete parameter
amker [Thu, 28 Aug 2014 08:03:18 +0000 (08:03 +0000)]
* tree-ssa-loop-ivopts.c (iv_ca_add_use): Delete parameter
important_candidates.  Consider all important candidates if
IVS doesn't give any result.  Remove check on ivs->upto.
(try_add_cand_for): Call iv_ca_add_use only once.

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

9 years ago2014-08-28 Yury Gribov <y.gribov@samsung.com>
ygribov [Thu, 28 Aug 2014 06:43:51 +0000 (06:43 +0000)]
2014-08-28  Yury Gribov  <y.gribov@samsung.com>

* c-c++-common/asan/pr62089.c: Fix test on 32-bit platforms.

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

9 years agoAVX-512. Add byte/word plus/minus/avg.
kyukhin [Thu, 28 Aug 2014 06:37:12 +0000 (06:37 +0000)]
AVX-512. Add byte/word plus/minus/avg.

gcc/
(define_mode_iterator VI12_AVX2): Add V64QI and V32HI modes.
(define_expand "<sse2_avx2>_<plusminus_insn><mode>3<mask_name>"): Add
masking.
(define_insn "*<sse2_avx2>_<plusminus_insn><mode>3<mask_name>"): Ditto.
(define_expand "<sse2_avx2>_uavg<mode>3<mask_name>"): Ditto.
(define_insn "*<sse2_avx2>_uavg<mode>3<mask_name>"): Ditto.
(define_insn "*mul<mode>3"): Add EVEX version.

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

9 years agoAVX-512. Support 512-bit/masked interleave.
kyukhin [Thu, 28 Aug 2014 06:35:36 +0000 (06:35 +0000)]
AVX-512. Support 512-bit/masked interleave.

gcc/
* config/i386/sse.md
(define_insn "avx512bw_interleave_highv64qi<mask_name>"): New.
(define_insn "avx2_interleave_highv32qi<mask_name>"): Add masking.
(define_insn "vec_interleave_highv16qi<mask_name>"): Ditto.
(define_insn "avx2_interleave_lowv32qi<mask_name>"): Ditto.
(define_insn "vec_interleave_lowv16qi<mask_name>"): Ditto.
(define_insn "avx2_interleave_highv16hi<mask_name>"): Ditto.
(define_insn "vec_interleave_highv8hi<mask_name>"): Ditto.
(define_insn "avx2_interleave_lowv16hi<mask_name>"): Ditto.
(define_insn "vec_interleave_lowv8hi<mask_name>"): Ditto.
(define_insn "avx2_interleave_highv8si<mask_name>"): Ditto.
(define_insn "vec_interleave_highv4si<mask_name>"): Ditto.
(define_insn "avx2_interleave_lowv8si<mask_name>"): Ditto.
(define_insn "vec_interleave_lowv4si<mask_name>"): Ditto.
(define_insn "vec_interleave_highv16qi<mask_name>"): New.
(define_insn "avx512bw_interleave_highv32hi<mask_name>"): Ditto.
(define_insn "<mask_codefor>avx512bw_interleave_lowv32hi<mask_name>"): Ditto.

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

9 years agoAVX-512. Add vps[rl]ldq insn patterns.
kyukhin [Thu, 28 Aug 2014 06:34:06 +0000 (06:34 +0000)]
AVX-512. Add vps[rl]ldq insn patterns.

gcc/
* config/i386/sse.md
(define_mode_iterator VIMAX_AVX2): Add V4TI mode.
(define_insn "<sse2_avx2>_ashl<mode>3"): Add EVEX version.
(define_insn "<sse2_avx2>_lshr<mode>3"): Ditto.

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

9 years agoAVX-512. Add integer max/min.
kyukhin [Thu, 28 Aug 2014 06:30:27 +0000 (06:30 +0000)]
AVX-512. Add integer max/min.

gcc/
* config/i386/sse.md
(define_mode_iterator VI128_256): New.
(define_insn "<mask_codefor><code><mode>3<mask_name>"): Ditto.

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

9 years agoAVX-512. Add vcvtps2[u]qq patterns.
kyukhin [Thu, 28 Aug 2014 06:28:56 +0000 (06:28 +0000)]
AVX-512. Add vcvtps2[u]qq patterns.
gcc/
* config/i386/sse.md
(define_mode_iterator VI8_256_512): New.
(define_insn "<mask_codefor>avx512dq_cvtps2qq<mode><mask_name><round_name>"):
Ditto.
(define_insn "<mask_codefor>avx512dq_cvtps2qqv2di<mask_name>"): Ditto.
(define_insn "<mask_codefor>avx512dq_cvtps2uqq<mode><mask_name><round_name>"):
Ditto.
(define_insn "<mask_codefor>avx512dq_cvtps2uqqv2di<mask_name>"): Ditto.

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

9 years agogcc/
rsandifo [Thu, 28 Aug 2014 06:25:18 +0000 (06:25 +0000)]
gcc/
* varasm.c (compute_reloc_for_rtx_1): Take a const_rtx.  Remove the
pointer to the cumulative reloc value and return the value for
this reloc instead.
(compute_reloc_for_rtx): Take a const_rtx.  Call
compute_reloc_for_rtx_1 directly for SYMBOL_REF and LABEL_REF,
avoiding any recursion.  Use FOR_EACH_SUBRTX rather than
for_each_rtx for the CONST case.

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

9 years agogcc/
rsandifo [Thu, 28 Aug 2014 06:25:14 +0000 (06:25 +0000)]
gcc/
* varasm.c (mark_constant): Replace this for_each_rtx callback with...
(mark_constants_in_pattern): ...this new function to iterate over
all the subrtxes.
(mark_constants): Update accordingly.

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

9 years agogcc/
rsandifo [Thu, 28 Aug 2014 06:25:10 +0000 (06:25 +0000)]
gcc/
* varasm.c: Include rtl-iter.h.
(const_rtx_hash_1): Take a const_rtx rather than an rtx *.
Remove the pointer to the cumulative hashval_t and just return
the hash for this rtx instead.  Remove recursive CONST_VECTOR case.
(const_rtx_hash): Use FOR_EACH_SUBRTX instead of for_each_rtx.
Accumulate the hashval_ts here instead of const_rtx_hash_1.

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

9 years agogcc/
rsandifo [Thu, 28 Aug 2014 06:25:05 +0000 (06:25 +0000)]
gcc/
* var-tracking.c (add_uses): Take an rtx rather than an rtx *.
Give real type of data parameter.  Remove return value.
(add_uses_1): Use FOR_EACH_SUBRTX_VAR rather than for_each_rtx
to iterate over subrtxes.

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

9 years agogcc/
rsandifo [Thu, 28 Aug 2014 06:25:01 +0000 (06:25 +0000)]
gcc/
* var-tracking.c (use_narrower_mode_test): Turn from being a
for_each_rtx callback to being a function that examines each
subrtx itself.
(adjust_mems): Update accordingly.

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

9 years agogcc/
rsandifo [Thu, 28 Aug 2014 06:24:57 +0000 (06:24 +0000)]
gcc/
* var-tracking.c (non_suitable_const): Turn from being a for_each_rtx
callback to being a function that examines each subrtx itself.
Remove handling of null rtxes.
(add_uses): Update accordingly.

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

9 years agogcc/
rsandifo [Thu, 28 Aug 2014 06:24:53 +0000 (06:24 +0000)]
gcc/
* var-tracking.c: Include rtl-iter.h.
(rtx_debug_expr_p): Turn from being a for_each_rtx callback
to being a function that examines each subrtx itself.
(use_type): Update accordingly.

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

9 years agogcc/
rsandifo [Thu, 28 Aug 2014 06:24:48 +0000 (06:24 +0000)]
gcc/
* store-motion.c: Include rtl-iter.h.
(extract_mentioned_regs_1): Delete.
(extract_mentioned_regs): Use FOR_EACH_SUBRTX_VAR rather than
for_each_rtx to iterate over subrtxes.

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

9 years agogcc/
rsandifo [Thu, 28 Aug 2014 06:24:44 +0000 (06:24 +0000)]
gcc/
* sel-sched.c: Include rtl-iter.h
(count_occurrences_1): Delete.
(count_occurrences_equiv): Turn rtxes into const_rtxes.
Use FOR_EACH_SUBRTX rather than for_each_rtx.

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

9 years agogcc/
rsandifo [Thu, 28 Aug 2014 06:24:40 +0000 (06:24 +0000)]
gcc/
* rtl.h (tls_referenced_p): Take a const_rtx rather than an rtx.
* rtlanal.c (tls_referenced_p_1): Delete.
(tls_referenced_p): Take a const_rtx rather than an rtx.
Use FOR_EACH_SUBRTX rather than for_each_rtx.

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

9 years agogcc/
rsandifo [Thu, 28 Aug 2014 06:24:36 +0000 (06:24 +0000)]
gcc/
* rtl.h (for_each_inc_dec_fn): Remove special case for -1.
(for_each_inc_dec): Take an rtx rather than an rtx *.
* cselib.c (cselib_record_autoinc_cb): Update accordingly.
(cselib_record_sets): Likewise.
* dse.c (emit_inc_dec_insn_before, check_for_inc_dec_1)
(check_for_inc_dec): Likewise.
* rtlanal.c (for_each_inc_dec_ops): Delete.
(for_each_inc_dec_find_inc_dec): Take the MEM as argument,
rather than a pointer to the memory address.  Replace
for_each_inc_dec_ops argument with separate function and data
arguments.  Abort on non-autoinc addresses.
(for_each_inc_dec_find_mem): Delete.
(for_each_inc_dec): Take an rtx rather than an rtx *.  Use
FOR_EACH_SUBRTX_VAR to visit every autoinc MEM.

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