Merge lp:~rsandifo/gcc-linaro/lp721531-4.5 into lp:gcc-linaro/4.5

Proposed by Richard Sandiford
Status: Superseded
Proposed branch: lp:~rsandifo/gcc-linaro/lp721531-4.5
Merge into: lp:gcc-linaro/4.5
Diff against target: 121 lines (+82/-2) (has conflicts)
3 files modified
ChangeLog.linaro (+44/-0)
gcc/builtins.c (+23/-2)
gcc/testsuite/gcc.dg/torture/pr49169.c (+15/-0)
Text conflict in ChangeLog.linaro
To merge this branch: bzr merge lp:~rsandifo/gcc-linaro/lp721531-4.5
Reviewer Review Type Date Requested Status
Linaro Toolchain Developers Pending
Review via email: mp+65963@code.launchpad.net

This proposal has been superseded by a proposal from 2011-06-29.

To post a comment you must log in.
Revision history for this message
Linaro Toolchain Builder (cbuild) wrote :

cbuild has taken a snapshot of this branch at r99486 and queued it for build.

The snapshot is available at:
 http://ex.seabright.co.nz/snapshots/gcc-linaro-4.5+bzr99486~rsandifo~lp721531-4.5.tar.xdelta3.xz

and will be built on the following builders:
 a9-builder armv5-builder i686 x86_64

You can track the build queue at:
 http://ex.seabright.co.nz/helpers/scheduler

cbuild-snapshot: gcc-linaro-4.5+bzr99486~rsandifo~lp721531-4.5
cbuild-ancestor: lp:gcc-linaro+bzr99485
cbuild-state: check

Revision history for this message
Linaro Toolchain Builder (cbuild) wrote :

cbuild successfully built this on i686-lucid-cbuild137-scorpius-i686r1.

The build results are available at:
 http://ex.seabright.co.nz/build/gcc-linaro-4.5+bzr99486~rsandifo~lp721531-4.5/logs/i686-lucid-cbuild137-scorpius-i686r1

The test suite results changed compared to the branch point lp:gcc-linaro+bzr99485:
 +PASS: gcc.dg/torture/pr49169.c -O0 (test for excess errors)
 +PASS: gcc.dg/torture/pr49169.c -O1 (test for excess errors)
 +PASS: gcc.dg/torture/pr49169.c -O2 -flto (test for excess errors)
 +PASS: gcc.dg/torture/pr49169.c -O2 -fwhopr (test for excess errors)
 +PASS: gcc.dg/torture/pr49169.c -O2 (test for excess errors)
 +PASS: gcc.dg/torture/pr49169.c -O3 -fomit-frame-pointer (test for excess errors)
 +PASS: gcc.dg/torture/pr49169.c -O3 -g (test for excess errors)
 +PASS: gcc.dg/torture/pr49169.c -Os (test for excess errors)
 +PASS: gcc.dg/torture/pr49169.c scan-assembler abort
 +PASS: gcc.dg/torture/pr49169.c scan-assembler abort
 +PASS: gcc.dg/torture/pr49169.c scan-assembler abort
 +PASS: gcc.dg/torture/pr49169.c scan-assembler abort
 +PASS: gcc.dg/torture/pr49169.c scan-assembler abort
 +PASS: gcc.dg/torture/pr49169.c scan-assembler abort
 +PASS: gcc.dg/torture/pr49169.c scan-assembler abort
 +PASS: gcc.dg/torture/pr49169.c scan-assembler abort
 -PASS: g++.dg/tree-ssa/fwprop-align.C scan-tree-dump-times forwprop2 "& 1" 0
 +FAIL: g++.dg/tree-ssa/fwprop-align.C scan-tree-dump-times forwprop2 "& 1" 0

The full testsuite results are at:
 http://ex.seabright.co.nz/build/gcc-linaro-4.5+bzr99486~rsandifo~lp721531-4.5/logs/i686-lucid-cbuild137-scorpius-i686r1/gcc-testsuite.txt

cbuild-checked: i686-lucid-cbuild137-scorpius-i686r1

Revision history for this message
Linaro Toolchain Builder (cbuild) wrote :

cbuild successfully built this on x86_64-natty-cbuild136-crucis-x86_64r1.

The build results are available at:
 http://ex.seabright.co.nz/build/gcc-linaro-4.5+bzr99486~rsandifo~lp721531-4.5/logs/x86_64-natty-cbuild136-crucis-x86_64r1

The test suite results changed compared to the branch point lp:gcc-linaro+bzr99485:
 +PASS: gcc.dg/torture/pr49169.c -O0 (test for excess errors)
 +PASS: gcc.dg/torture/pr49169.c -O1 (test for excess errors)
 +PASS: gcc.dg/torture/pr49169.c -O2 -flto (test for excess errors)
 +PASS: gcc.dg/torture/pr49169.c -O2 -fwhopr (test for excess errors)
 +PASS: gcc.dg/torture/pr49169.c -O2 (test for excess errors)
 +PASS: gcc.dg/torture/pr49169.c -O3 -fomit-frame-pointer (test for excess errors)
 +PASS: gcc.dg/torture/pr49169.c -O3 -g (test for excess errors)
 +PASS: gcc.dg/torture/pr49169.c -Os (test for excess errors)
 +PASS: gcc.dg/torture/pr49169.c scan-assembler abort
 +PASS: gcc.dg/torture/pr49169.c scan-assembler abort
 +PASS: gcc.dg/torture/pr49169.c scan-assembler abort
 +PASS: gcc.dg/torture/pr49169.c scan-assembler abort
 +PASS: gcc.dg/torture/pr49169.c scan-assembler abort
 +PASS: gcc.dg/torture/pr49169.c scan-assembler abort
 +PASS: gcc.dg/torture/pr49169.c scan-assembler abort
 +PASS: gcc.dg/torture/pr49169.c scan-assembler abort
 -PASS: g++.dg/tree-ssa/fwprop-align.C scan-tree-dump-times forwprop2 "& 1" 0
 +FAIL: g++.dg/tree-ssa/fwprop-align.C scan-tree-dump-times forwprop2 "& 1" 0

The full testsuite results are at:
 http://ex.seabright.co.nz/build/gcc-linaro-4.5+bzr99486~rsandifo~lp721531-4.5/logs/x86_64-natty-cbuild136-crucis-x86_64r1/gcc-testsuite.txt

cbuild-checked: x86_64-natty-cbuild136-crucis-x86_64r1

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'ChangeLog.linaro'
--- ChangeLog.linaro 2011-06-14 10:36:23 +0000
+++ ChangeLog.linaro 2011-06-29 10:05:19 +0000
@@ -1,3 +1,4 @@
1<<<<<<< TREE
12011-06-14 Andrew Stubbs <ams@codesourcery.com>22011-06-14 Andrew Stubbs <ams@codesourcery.com>
23
3 gcc/4 gcc/
@@ -516,6 +517,49 @@
516 * function.c (prepare_shrink_wrap): New function.517 * function.c (prepare_shrink_wrap): New function.
517 (thread_prologue_and_epilogue_insns): Call it.518 (thread_prologue_and_epilogue_insns): Call it.
518519
520=======
5212011-06-29 Richard Sandiford <rdsandiford@googlemail.com>
522
523 gcc/
524 Backport from mainline:
525
526 2011-06-29 Richard Sandiford <richard.sandiford@linaro.org>
527
528 PR tree-optimization/49545
529 * builtins.c (get_object_alignment_1): Update function comment.
530 Do not use DECL_ALIGN for functions, but test
531 TARGET_PTRMEMFUNC_VBIT_LOCATION instead.
532 * fold-const.c (get_pointer_modulus_and_residue): Don't check
533 for functions here.
534
535 gcc/testsuite/
536 Backport from mainline:
537
538 2011-06-29 Richard Sandiford <richard.sandiford@linaro.org>
539
540 * gcc.dg/torture/pr49169.c: Restrict to ARM and MIPS targets.
541
5422011-06-27 Richard Sandiford <richard.sandiford@linaro.org>
543
544 gcc/
545 Backport from mainline:
546
547 2011-07-27 Richard Guenther <rguenther@suse.de>
548
549 PR tree-optimization/49169
550 * fold-const.c (get_pointer_modulus_and_residue): Don't rely on
551 the alignment of function decls.
552
553 gcc/testsuite/
554 Backport from mainline:
555
556 2011-07-27 Michael Hope <michael.hope@linaro.org>
557 Richard Sandiford <richard.sandiford@linaro.org>
558
559 PR tree-optimization/49169
560 * gcc.dg/torture/pr49169.c: New test.
561
562>>>>>>> MERGE-SOURCE
5192011-03-03 Andrew Stubbs <ams@codesourcery.com>5632011-03-03 Andrew Stubbs <ams@codesourcery.com>
520564
521 gcc/565 gcc/
522566
=== modified file 'gcc/builtins.c'
--- gcc/builtins.c 2011-01-06 11:02:44 +0000
+++ gcc/builtins.c 2011-06-29 10:05:19 +0000
@@ -263,7 +263,14 @@
263263
264/* Return the alignment in bits of EXP, an object.264/* Return the alignment in bits of EXP, an object.
265 Don't return more than MAX_ALIGN no matter what, ALIGN is the inital265 Don't return more than MAX_ALIGN no matter what, ALIGN is the inital
266 guessed alignment e.g. from type alignment. */266 guessed alignment e.g. from type alignment.
267
268 Note that the address (and thus the alignment) computed here is based
269 on the address to which a symbol resolves, whereas DECL_ALIGN is based
270 on the address at which an object is actually located. These two
271 addresses are not always the same. For example, on ARM targets,
272 the address &foo of a Thumb function foo() has the lowest bit set,
273 whereas foo() itself starts on an even address. */
267274
268int275int
269get_object_alignment (tree exp, unsigned int align, unsigned int max_align)276get_object_alignment (tree exp, unsigned int align, unsigned int max_align)
@@ -327,7 +334,21 @@
327 exp = DECL_INITIAL (exp);334 exp = DECL_INITIAL (exp);
328 if (DECL_P (exp)335 if (DECL_P (exp)
329 && TREE_CODE (exp) != LABEL_DECL)336 && TREE_CODE (exp) != LABEL_DECL)
330 align = MIN (inner, DECL_ALIGN (exp));337 {
338 if (TREE_CODE (exp) == FUNCTION_DECL)
339 {
340 /* Function addresses can encode extra information besides their
341 alignment. However, if TARGET_PTRMEMFUNC_VBIT_LOCATION
342 allows the low bit to be used as a virtual bit, we know
343 that the address itself must be 2-byte aligned. */
344 if (TARGET_PTRMEMFUNC_VBIT_LOCATION == ptrmemfunc_vbit_in_pfn)
345 align = 2 * BITS_PER_UNIT;
346 else
347 align = BITS_PER_UNIT;
348 }
349 else
350 align = MIN (inner, DECL_ALIGN (exp));
351 }
331#ifdef CONSTANT_ALIGNMENT352#ifdef CONSTANT_ALIGNMENT
332 else if (CONSTANT_CLASS_P (exp))353 else if (CONSTANT_CLASS_P (exp))
333 align = MIN (inner, (unsigned)CONSTANT_ALIGNMENT (exp, align));354 align = MIN (inner, (unsigned)CONSTANT_ALIGNMENT (exp, align));
334355
=== added file 'gcc/testsuite/gcc.dg/torture/pr49169.c'
--- gcc/testsuite/gcc.dg/torture/pr49169.c 1970-01-01 00:00:00 +0000
+++ gcc/testsuite/gcc.dg/torture/pr49169.c 2011-06-29 10:05:19 +0000
@@ -0,0 +1,15 @@
1/* { dg-do compile { target { arm*-*-* || mips*-*-* } } } */
2
3#include <stdlib.h>
4#include <stdint.h>
5
6int
7main (void)
8{
9 void *p = main;
10 if ((intptr_t) p & 1)
11 abort ();
12 return 0;
13}
14
15/* { dg-final { scan-assembler "abort" } } */

Subscribers

People subscribed via source and target branches