Re: [COMMITTED][AArch64] Improve TLS Descriptor pattern to release RTL loop IV opt
Andreas Schwab writes: Jiong Wang jiong.w...@arm.com writes: I Just finished several round of rebuild testing on clean environment. How did you even manage to compile it? ../../gcc/ira.c: In function 'void print_translated_classes(FILE*, bool)': ../../gcc/ira.c:1415:49: error: iteration 8u invokes undefined behavior [-Werror=aggressive-loop-optimizations] fprintf (f, %s - %s\n, reg_class_names[i], ^ ../../gcc/ira.c:1414:17: note: containing loop for (i = 0; i N_REG_CLASSES; i++) And, my new patch missed a ',' after FIXED_REG0, sorry about that.. that should be the problem for the bootstrap issue. Andreas. -- Regards, Jiong
Re: [COMMITTED][AArch64] Improve TLS Descriptor pattern to release RTL loop IV opt
Andreas Schwab writes: Jiong Wang jiong.w...@arm.com writes: I Just finished several round of rebuild testing on clean environment. How did you even manage to compile it? ../../gcc/ira.c: In function 'void print_translated_classes(FILE*, bool)': ../../gcc/ira.c:1415:49: error: iteration 8u invokes undefined behavior [-Werror=aggressive-loop-optimizations] fprintf (f, %s - %s\n, reg_class_names[i], ^ ../../gcc/ira.c:1414:17: note: containing loop for (i = 0; i N_REG_CLASSES; i++) ^ Andreas. What I have done on a clean environment: 1. checkout e5c427f3245ff69d8b014d4ff170715962178151 which might be the commit cause the trouble. mkdir build-dir1 configure/build/check-go in build-dir1 (configuation options --enable-languages=c,c++,fortran,go --prefix=/home/jiowan01/COMMUNITY/install-gcc-native-reference --disable-bootstrap) and I do see lots of go failures. 2. checkout the one commit before this wrong commit. re-done everything in a new build-dir2 check-go OK 3. applied my new tlsdesc patch re-done everything in a new build-dir3 check-go OK 4. checkout commit 8b221598008f60621859caee561e8466e80049f7 Author: jiwang jiwang@138bc75d-0d04-0410-961f-82ee72b054a4 Date: Mon Aug 10 10:06:28 2015 + [AArch64] Recommit correct version for improving TLS descriptor pattern re-done everything in a new build-dir4 check-go OK my host gcc is gcc version 4.8.2 (Ubuntu/Linaro 4.8.2-19ubuntu1), I guess you have enabled bootstrap. -- Regards, Jiong
Re: [COMMITTED][AArch64] Improve TLS Descriptor pattern to release RTL loop IV opt
Jiong Wang jiong.w...@arm.com writes: I Just finished several round of rebuild testing on clean environment. How did you even manage to compile it? ../../gcc/ira.c: In function 'void print_translated_classes(FILE*, bool)': ../../gcc/ira.c:1415:49: error: iteration 8u invokes undefined behavior [-Werror=aggressive-loop-optimizations] fprintf (f, %s - %s\n, reg_class_names[i], ^ ../../gcc/ira.c:1414:17: note: containing loop for (i = 0; i N_REG_CLASSES; i++) ^ Andreas. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 And now for something completely different.
Re: [COMMITTED][AArch64] Improve TLS Descriptor pattern to release RTL loop IV opt
Andreas Schwab writes: Jiong Wang jiong.w...@arm.com writes: Andreas Schwab writes: Jiong Wang jiong.w...@arm.com writes: And I just finished two round of native aarch64 build/check w/wo my patch. Did you rebuild everything? No. Please do. Andreas, I Just finished several round of rebuild testing on clean environment. The problem should have gone away after my new tlsdesc patch. While I do have seen lots of failures with my old tlsdesc patch. Please let me know if you still have problem on this after my patch correction. Thanks. -- Regards, Jiong
Re: [COMMITTED][AArch64] Improve TLS Descriptor pattern to release RTL loop IV opt
Jiong Wang writes: Andreas Schwab writes: Jiong Wang jiong.w...@arm.com writes: Index: gcc/ChangeLog === --- gcc/ChangeLog (revision 226682) +++ gcc/ChangeLog (working copy) @@ -1,3 +1,16 @@ +2015-08-06Ramana Radhakrishnan ramana.radhakrish...@arm.com + Jiong Wang jiong.w...@arm.com + + * config/aarch64/aarch64.d (tlsdesc_small_pseudo_mode): New pattern. + * config/aarch64/aarch64.h (reg_class): New enumeration FIXED_REG0. + (REG_CLASS_NAMES): Likewise. + (REG_CLASS_CONTENTS): Likewise. + * config/aarch64/aarch64.c (aarch64_class_max_nregs): Likewise. + (aarch64_register_move_cost): Likewise. + (aarch64_load_symref_appropriately): Invoke the new added pattern if + possible. + * config/aarch64/constraints.md (Uc0): New constraint. That breaks go, all tests are crashing now. Andreas, Thanks for the information. * I found I committed the wrong patch! there are two patches in my local directory, one is tlsdesc_hoist.patch the other is tlsdesc-hoist.patch, the one approved and up-to-date is tlsdesc-hoist.patch while I committed tlsdesc_hoist.patch. Reverted the wrong commit and committed the correct/approved version. * Even after the correct patch applied, I still found go check failed on my local native check. Tring to understand why and if I can't figure out today I will revert the patch. And I just finished two round of native aarch64 build/check w/wo my patch. I got the same go.sum. And my patch only touches one tls descriptor pattern which will only be used if there is tls variable. So I suspect the go test regressions are not caused by my patch. Andreas, can you please double confirm this? Thanks -- Regards, Jiong
Re: [COMMITTED][AArch64] Improve TLS Descriptor pattern to release RTL loop IV opt
Andreas Schwab writes: Jiong Wang jiong.w...@arm.com writes: Index: gcc/ChangeLog === --- gcc/ChangeLog(revision 226682) +++ gcc/ChangeLog(working copy) @@ -1,3 +1,16 @@ +2015-08-06Ramana Radhakrishnan ramana.radhakrish...@arm.com + Jiong Wang jiong.w...@arm.com + +* config/aarch64/aarch64.d (tlsdesc_small_pseudo_mode): New pattern. +* config/aarch64/aarch64.h (reg_class): New enumeration FIXED_REG0. +(REG_CLASS_NAMES): Likewise. +(REG_CLASS_CONTENTS): Likewise. +* config/aarch64/aarch64.c (aarch64_class_max_nregs): Likewise. +(aarch64_register_move_cost): Likewise. +(aarch64_load_symref_appropriately): Invoke the new added pattern if +possible. +* config/aarch64/constraints.md (Uc0): New constraint. That breaks go, all tests are crashing now. Andreas, Thanks for the information. * I found I committed the wrong patch! there are two patches in my local directory, one is tlsdesc_hoist.patch the other is tlsdesc-hoist.patch, the one approved and up-to-date is tlsdesc-hoist.patch while I committed tlsdesc_hoist.patch. Reverted the wrong commit and committed the correct/approved version. * Even after the correct patch applied, I still found go check failed on my local native check. Tring to understand why and if I can't figure out today I will revert the patch. Sorry about the trouble! -- Regards, Jiong
Re: [COMMITTED][AArch64] Improve TLS Descriptor pattern to release RTL loop IV opt
Jiong Wang jiong.w...@arm.com writes: And I just finished two round of native aarch64 build/check w/wo my patch. Did you rebuild everything? Andreas. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 And now for something completely different.
Re: [COMMITTED][AArch64] Improve TLS Descriptor pattern to release RTL loop IV opt
Andreas Schwab writes: Jiong Wang jiong.w...@arm.com writes: And I just finished two round of native aarch64 build/check w/wo my patch. Did you rebuild everything? No. Just applied the patch, then make all and re-check Andreas. -- Regards, Jiong
Re: [COMMITTED][AArch64] Improve TLS Descriptor pattern to release RTL loop IV opt
Jiong Wang jiong.w...@arm.com writes: Andreas Schwab writes: Jiong Wang jiong.w...@arm.com writes: And I just finished two round of native aarch64 build/check w/wo my patch. Did you rebuild everything? No. Please do. Andreas. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 And now for something completely different.
Re: [COMMITTED][AArch64] Improve TLS Descriptor pattern to release RTL loop IV opt
Jiong Wang jiong.w...@arm.com writes: Index: gcc/ChangeLog === --- gcc/ChangeLog (revision 226682) +++ gcc/ChangeLog (working copy) @@ -1,3 +1,16 @@ +2015-08-06Ramana Radhakrishnan ramana.radhakrish...@arm.com + Jiong Wang jiong.w...@arm.com + + * config/aarch64/aarch64.d (tlsdesc_small_pseudo_mode): New pattern. + * config/aarch64/aarch64.h (reg_class): New enumeration FIXED_REG0. + (REG_CLASS_NAMES): Likewise. + (REG_CLASS_CONTENTS): Likewise. + * config/aarch64/aarch64.c (aarch64_class_max_nregs): Likewise. + (aarch64_register_move_cost): Likewise. + (aarch64_load_symref_appropriately): Invoke the new added pattern if + possible. + * config/aarch64/constraints.md (Uc0): New constraint. That breaks go, all tests are crashing now. Andreas. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 And now for something completely different.