Re: s390: SImode pointers vs LR

2015-06-01 Thread Andreas Krebbel
On 05/30/2015 02:57 AM, DJ Delorie wrote: > In config/s390/s390.c we accept addresses that are SImode: > > if (!REG_P (base) > || (GET_MODE (base) != SImode > && GET_MODE (base) != Pmode)) > return false; > > However, there doesn't seem to be anything in the s390's

Re: Better info for combine results in worse code generated

2015-06-01 Thread Segher Boessenkool
On Mon, Jun 01, 2015 at 11:33:18AM +0930, Alan Modra wrote: > Unifying andsi_mask with anddi_mask, and the fact that constraints for > const_int see VOIDmode rather than the operand mode is why we get > rldicr rather than rlwinm. Easily fixed by separating the si/di > patterns, and with a little m

Re: s390: SImode pointers vs LR

2015-06-01 Thread Jeff Law
On 06/01/2015 06:23 AM, Andreas Krebbel wrote: On 05/30/2015 02:57 AM, DJ Delorie wrote: In config/s390/s390.c we accept addresses that are SImode: if (!REG_P (base) || (GET_MODE (base) != SImode && GET_MODE (base) != Pmode)) return false; However, there

Regression: template function accessing a temporary through a lambda

2015-06-01 Thread Sebastien Alaiwan
Hi folks, the following C++ snippet used to compile, but doesn't anymore with current gcc trunk. Hope this helps! Thanks, Sebastien Alaiwan - // simple.cpp int getValueOfSix() { return 6; } template void f() { auto const c = getValueOfSix(); auto lambda = [&] () { a

Strange insn rtx is emitted in a custom backend

2015-06-01 Thread Lev Yudalevich
While working on a custom backend for quite a standard RISC-like architecture, I defined 'high'/'lo_sum' patterns as follows: (define_insn "mov_high" [(set (match_operand:SI 0 "register_operand" "=r") (high:SI (match_operand:SI 1 "immediate_operand" "i")))] "" "mvup #high(%1), %0"

Re: Strange insn rtx is emitted in a custom backend

2015-06-01 Thread Jeff Law
On 06/01/2015 12:51 PM, Lev Yudalevich wrote: While working on a custom backend for quite a standard RISC-like architecture, I defined 'high'/'lo_sum' patterns as follows: (define_insn "mov_high" [(set (match_operand:SI 0 "register_operand" "=r") (high:SI (match_operand:SI 1 "immed

Re: confirm subscribe to gcc@gcc.gnu.org

2015-06-01 Thread Rich Felker

Static PIE support in GCC

2015-06-01 Thread Rich Felker
A feature I've been interested in getting upstream in GCC for a while now is support for producing static-linked PIE executables for Linux. In the model I'm working with, static PIE executables are ET_DYN format with no PT_INTERP, and are intended to contain only relative type relocations (no symbo

GNU Tools Cauldron 2015 - Call for Participation

2015-06-01 Thread Jan Hubicka
Hello, A reminder about this year's Cauldron (http://gcc.gnu.org/wiki/cauldron2015). The webpage was just updated with a list of accepted talks and BoFs as well as a brief review of the schedule to let you plan your travel. With 19 of very relevant talks and 10 BoFs we will have a busy schedule.

Re: Better info for combine results in worse code generated

2015-06-01 Thread Alan Modra
On Mon, Jun 01, 2015 at 08:39:05AM -0500, Segher Boessenkool wrote: > On Mon, Jun 01, 2015 at 11:33:18AM +0930, Alan Modra wrote: > > Unifying andsi_mask with anddi_mask, and the fact that constraints for > > const_int see VOIDmode rather than the operand mode is why we get > > rldicr rather than r

Data race in PGO profile collection for multi-process program

2015-06-01 Thread Pengfei Yuan
Hi, I am trying PGO on Nginx, which has a main process and several worker processes. I find that the collected profile data files only contain information for the main process, which is probably a data race (the main process exits immediately after worker processes exit). How can I solve this prob

Re: Data race in PGO profile collection for multi-process program

2015-06-01 Thread Xinliang David Li
Using AutoFDO is one way. For PGO, you may want to to try using __gcov_dump interface to explicitly control the timing and order of the profile dump --- i.e., invoke __gcov_dump in main process after work processes exit and before the main process exits. David On Mon, Jun 1, 2015 at 8:08 PM, Peng

Re: Data race in PGO profile collection for multi-process program

2015-06-01 Thread Pengfei Yuan
Thank you very much for the advice. I will try __gcov_dump first. Yuan 2015-06-02 12:14 GMT+08:00 Xinliang David Li : > Using AutoFDO is one way. For PGO, you may want to to try using > __gcov_dump interface to explicitly control the timing and order of > the profile dump --- i.e., invoke __gcov_

g++ regression: template function accessing a temporary through a lambda

2015-06-01 Thread ace17
Hi folks, the following C++ snippet used to compile, but doesn't anymore with current gcc trunk. Hope this helps! Thanks, Sebastien Alaiwan - // simple.cpp int getValueOfSix() { return 6; } template void f() { auto const c = getValueOfSix(); auto lambda = [&] () { a

RE: [RFC] Design and Implementation for Path Splitting for Loop with Conditional IF-THEN-ELSE

2015-06-01 Thread Ajit Kumar Agarwal
-Original Message- From: Jeff Law [mailto:l...@redhat.com] Sent: Friday, May 29, 2015 9:24 PM To: Ajit Kumar Agarwal; Richard Biener; gcc@gcc.gnu.org Cc: Vinod Kathail; Shail Aditya Gupta; Vidhumouli Hunsigida; Nagaraju Mekala Subject: Re: [RFC] Design and Implementation for Path Splitti