https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65237

--- Comment #8 from Jan Hubicka <hubicka at ucw dot cz> ---
> 
> FAIL: gcc.dg/ipa/ipa-cp-1.c scan-ipa-dump cp "Alignment 2"
> FAIL: gcc.dg/ipa/ipa-cp-2.c scan-ipa-dump cp "Alignment 8, misalignment 4"

Sorry, these was unintentinal commits, I will revert them soon.
> FAIL: gcc.dg/noreturn-7.c  (test for warnings, line 30)

Here we do merging before outputting a warning (testcase expects two warnings).
I suppose there is not much to do than -fno-ipa-cp.
Once user adds one noreturn, he will get warning for anohter, because the
functions will no longer get merged.
> FAIL: gcc.target/i386/stackalign/longlong-2.c -mno-stackrealign 
> scan-assembler-times and[lq]?[^\\n]*-16,[^\\n]*sp 2
> FAIL: gcc.target/i386/stackalign/longlong-2.c -mno-stackrealign 
> scan-assembler-times and[lq]?[^\\n]*-8,[^\\n]*sp 2
> FAIL: gcc.target/i386/stackalign/longlong-2.c -mstackrealign 
> scan-assembler-times and[lq]?[^\\n]*-16,[^\\n]*sp 2
> FAIL: gcc.target/i386/stackalign/longlong-2.c -mstackrealign 
> scan-assembler-times and[lq]?[^\\n]*-8,[^\\n]*sp 2

I suppose here we merge 
void f2 (void)
{
  unsigned long long a __attribute__((aligned (8)));
  fn (&a);
}

and 

void f4 (void)
{
  unsigned long long a __attribute__((aligned (16)));
  fn (&a);
}

I already discussed with Martin yesterday that we need to compare alignments.
I think he has patch on a way

Honza

Reply via email to