Re: Instruction scheduler with respect to prefetch instructions.

2014-12-13 Thread Paul_Koning

> On Dec 13, 2014, at 5:22 AM, Ajit Kumar Agarwal 
>  wrote:
> 
> Hello All:
> 
> Since the prefetch instruction have no direct consumers  in the code stream, 
> they provide considerable freedom to the 
> Instruction scheduler. They are typically assigned lower priorities than most 
> of the instructions in the code stream.
> This tends to cause all the prefetch instructions to be placed together in 
> the final schedule. This causes the performance
> Degradations by placing them in clumps rather than evenly spreading the 
> prefetch instructions.
> 
> The evenly spreading the prefetch instruction gives better speed up ratios as 
> compared to be placing in clumps for dirty
> Misses.

I can believe that’s true for some processors; is it true for all of them?  I 
have the impression that some MIPS processors don’t mind clumped prefetches, so 
long as you don’t exceed the limit on total number of concurrently pending 
memory accesses.

paul



Re: GCC 4.8.4 Status Report (2014-12-12)

2014-12-13 Thread Jakub Jelinek
On Sat, Dec 13, 2014 at 08:24:48AM -0500, David Edelsohn wrote:
> Jakub,
> 
> I would like to backport this fixincludes patch to the GCC 4.8 branch.
> 
> https://gcc.gnu.org/ml/gcc-patches/2013-08/msg01975.html

Ok.

Jakub


Re: GCC 4.8.4 Status Report (2014-12-12)

2014-12-13 Thread David Edelsohn
Jakub,

I would like to backport this fixincludes patch to the GCC 4.8 branch.

https://gcc.gnu.org/ml/gcc-patches/2013-08/msg01975.html

Thanks, David


On Fri, Dec 12, 2014 at 7:17 PM, Jakub Jelinek  wrote:
> On Fri, Dec 12, 2014 at 04:51:21PM -0500, David Edelsohn wrote:
>> GCC 4.8 branch has degraded from 14 libstdc++ failures to 153.  This
>
> On which target, when it has been reported, are the libstdc++ folks aware of
> that?
> I see zero regressions on x86_64-linux and i686-linux from a build 14 days
> ago, compared to a build from early September there is
> +FAIL: g++.dg/tls/thread_local10.C -std=c++11 (test for excess errors)
> +UNRESOLVED: g++.dg/tls/thread_local10.C -std=c++11 compilation failed to 
> produce executable
> but that has been reported and is just a testsuite issue, not compiler or
> library bug.
>
> Jakub


Re: [patch, build] Restore bootstrap in building libcc1 on darwin

2014-12-13 Thread Paolo Bonzini


On 05/12/2014 23:47, Jakub Jelinek wrote:
> On Fri, Dec 05, 2014 at 11:34:28PM +0100, Dominique Dhumieres wrote:
>>> As I've tried to explain, that is IMHO wrong though.
>>> If what you are after is the -B stuff too, then perhaps:
>>> ...
>>
>> Sorry but it does not work:
> 
> Sorry, make that (just removed 4x ' in each file):
> 
> 2014-12-05  Jakub Jelinek  
> 
>   PR bootstrap/64023
>   * Makefile.tpl (EXTRA_TARGET_FLAGS): Set STAGE1_LDFLAGS
>   to POSTSTAGE1_LDFLAGS and STAGE1_LIBS to POSTSTAGE1_LIBS.
>   Add -B to libstdc++-v3/src/.libs and libstdc++-v3/libsupc++/.libs
>   to CXX.
>   * Makefile.in: Regenerated.
> 
> --- Makefile.tpl.jj   2014-11-12 09:31:59.0 +0100
> +++ Makefile.tpl  2014-12-05 21:12:21.486031062 +0100
> @@ -641,7 +641,9 @@ EXTRA_TARGET_FLAGS = \
>   'AS=$(COMPILER_AS_FOR_TARGET)' \
>   'CC=$$(CC_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
>   'CFLAGS=$$(CFLAGS_FOR_TARGET)' \
> - 'CXX=$$(CXX_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
> + 'CXX=$$(CXX_FOR_TARGET) -B$$r/$$(TARGET_SUBDIR)/libstdc++-v3/src/.libs \
> +  -B$$r/$$(TARGET_SUBDIR)/libstdc++-v3/libsupc++/.libs \
> +  $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
>   'CXXFLAGS=$$(CXXFLAGS_FOR_TARGET)' \
>   'DLLTOOL=$$(DLLTOOL_FOR_TARGET)' \
>   'GCJ=$$(GCJ_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
> @@ -659,6 +661,8 @@ EXTRA_TARGET_FLAGS = \
>   'WINDRES=$$(WINDRES_FOR_TARGET)' \
>   'WINDMC=$$(WINDMC_FOR_TARGET)' \
>   'XGCC_FLAGS_FOR_TARGET=$(XGCC_FLAGS_FOR_TARGET)' \
> + 'STAGE1_LDFLAGS=$$(POSTSTAGE1_LDFLAGS)' \
> + 'STAGE1_LIBS=$$(POSTSTAGE1_LIBS)' \
>   "TFLAGS=$$TFLAGS"
>  
>  TARGET_FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS)
> --- Makefile.in.jj2014-11-28 14:40:52.0 +0100
> +++ Makefile.in   2014-12-05 21:11:48.276616008 +0100
> @@ -835,7 +835,9 @@ EXTRA_TARGET_FLAGS = \
>   'AS=$(COMPILER_AS_FOR_TARGET)' \
>   'CC=$$(CC_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
>   'CFLAGS=$$(CFLAGS_FOR_TARGET)' \
> - 'CXX=$$(CXX_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
> + 'CXX=$$(CXX_FOR_TARGET) -B$$r/$$(TARGET_SUBDIR)/libstdc++-v3/src/.libs \
> +  -B$$r/$$(TARGET_SUBDIR)/libstdc++-v3/libsupc++/.libs \
> +  $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
>   'CXXFLAGS=$$(CXXFLAGS_FOR_TARGET)' \
>   'DLLTOOL=$$(DLLTOOL_FOR_TARGET)' \
>   'GCJ=$$(GCJ_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
> @@ -853,6 +855,8 @@ EXTRA_TARGET_FLAGS = \
>   'WINDRES=$$(WINDRES_FOR_TARGET)' \
>   'WINDMC=$$(WINDMC_FOR_TARGET)' \
>   'XGCC_FLAGS_FOR_TARGET=$(XGCC_FLAGS_FOR_TARGET)' \
> + 'STAGE1_LDFLAGS=$$(POSTSTAGE1_LDFLAGS)' \
> + 'STAGE1_LIBS=$$(POSTSTAGE1_LIBS)' \
>   "TFLAGS=$$TFLAGS"
>  
>  TARGET_FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS)
> 
>   Jakub
> 

If it also works for --disable-bootstrap, this is okay.

Paolo


Instruction scheduler with respect to prefetch instructions.

2014-12-13 Thread Ajit Kumar Agarwal
Hello All:

Since the prefetch instruction have no direct consumers  in the code stream, 
they provide considerable freedom to the 
Instruction scheduler. They are typically assigned lower priorities than most 
of the instructions in the code stream.
This tends to cause all the prefetch instructions to be placed together in the 
final schedule. This causes the performance
Degradations by placing them in clumps rather than evenly spreading the 
prefetch instructions.

The evenly spreading the prefetch instruction gives better speed up ratios as 
compared to be placing in clumps for dirty
Misses.

I am curious to know how the schedulers in the GCC handles the prefetch 
instruction and how the priorities is assigned to
Prefetch instructions in the gcc schedulers so that the prefetch instruction is 
evenly spread.

Please let me know what do you think.

Thanks & Regards
Ajit