[llvm-bugs] [Bug 40757] New: Compilation does not end when -O3 or	more is set.
    via llvm-bugs 
    llvm-bugs at lists.llvm.org
       
    Mon Feb 18 02:39:29 PST 2019
    
    
  
https://bugs.llvm.org/show_bug.cgi?id=40757
            Bug ID: 40757
           Summary: Compilation does not end when -O3 or more is set.
           Product: new-bugs
           Version: unspecified
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: new bugs
          Assignee: unassignedbugs at nondot.org
          Reporter: ueno.masakazu at jp.fujitsu.com
                CC: htmldeveloper at gmail.com, llvm-bugs at lists.llvm.org
When compiling the following program(bug498.c) with -O3 or more, compilation
does not end.
I think there is something wrong with Loop Strength Reduction Pass.
This problem can be avoided by the -mllvm -disable-lsr option.
* source program(bug498.c)
#include <stdio.h>
int main () {
  int i,j,l=0,m=3,n=40;
  unsigned long v1=1,v2=2,v3=3;
  int a[50][50],b[50][50];
  for (i=0; i<50; i++) {
    for (j=0; j<50; j++) {
      a[i][j]=0;
      b[i][j]=1;
    }
  }
  for(i=0;i<10;i++) {
    for (l=0; l<4; l++) {
      for(m=0; m<30; m++) {
        for(j=0;j<2;j++) {
          v3=v2 * v2;
        }
        v1=v3 - v1;
        v2=v1 - i;
        b[i][j]=a[i][j]+b[i][j];
      }
    }
  }
  printf("%lu %lu %lu %d\n",v1,v2,v3, b[0][0]);
  return 0;
}
* compile/exec log using -mllvm -disable-lsr option
$ clang -O3 bug498.c -mllvm -disable-lsr
$ ./a.out
12145924650467887591 12145924650467887582 3040934746218291456 1
-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20190218/5cb4440e/attachment.html>
    
    
More information about the llvm-bugs
mailing list