[LLVMbugs] [Bug 8037] New: -scalar-evolution -analyzes crashes

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Tue Aug 31 03:10:50 PDT 2010


http://llvm.org/bugs/show_bug.cgi?id=8037

           Summary: -scalar-evolution -analyzes crashes
           Product: tools
           Version: trunk
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: opt
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: grosser at fim.uni-passau.de
                CC: llvmbugs at cs.uiuc.edu


Created an attachment (id=5431)
 --> (http://llvm.org/bugs/attachment.cgi?id=5431)
Failing file

Hi,

calling opt -indvars -scalar-evolution testcase.ll crashes for me.

--------------------
Printing analysis 'Canonicalize Induction Variables':
Pass::print not implemented for pass: 'Canonicalize Induction Variables'!
Printing analysis 'Canonicalize Induction Variables':
Pass::print not implemented for pass: 'Canonicalize Induction Variables'!
Printing analysis 'Canonicalize Induction Variables':
Pass::print not implemented for pass: 'Canonicalize Induction Variables'!
Printing analysis 'Canonicalize Induction Variables':
Pass::print not implemented for pass: 'Canonicalize Induction Variables'!
Printing analysis 'Scalar Evolution Analysis' for function 'scop_func':
Classifying expressions for: @scop_func
  %1 = add nsw i64 %storemerge26.us, 1            ; <i64> [#uses=2]
  -->  {1,+,1}<Stack dump:
0.    Program arguments: opt -indvars -scalar-evolution
/home/grosser/pg/test/polybench/linear-algebra/kernels/doitgen/doitgen_with_param.ll
-analyze 
1.    Running pass 'Function Pass Manager' on module
'/home/grosser/pg/test/polybench/linear-algebra/kernels/doitgen/doitgen_with_param.ll'.
2.    Running pass 'FunctionPass Printer' on function '@scop_func'
Segmentation fault
---------------------

Running it with -debug-pass=Executions leads to this output

---------------------
Printing analysis 'Canonicalize Induction Variables':
Pass::print not implemented for pass: 'Canonicalize Induction Variables'!
0x5c56c0       Made Modification ''Pass' Printer' on Loop 'bb6.preheader'...
0x5c56c0        Freeing Pass 'Canonicalize natural loops' on Loop
'bb6.preheader'...
0x5c56c0        Freeing Pass 'Loop-Closed SSA Form Pass' on Loop
'bb6.preheader'...
0x5c56c0        Freeing Pass ''Pass' Printer' on Loop 'bb6.preheader'...
0x5c56c0        Freeing Pass 'Induction Variable Users' on Loop
'bb6.preheader'...
0x5c56c0        Freeing Pass 'Canonicalize Induction Variables' on Loop
'bb6.preheader'...
0x5bcbc0     Made Modification 'Loop Pass Manager' on Function 'scop_func'...
0x5bcbc0      Freeing Pass 'Natural Loop Information' on Function
'scop_func'...
0x5bcbc0     Executing Pass 'FunctionPass Printer' on Function 'scop_func'...
Printing analysis 'Scalar Evolution Analysis' for function 'scop_func':
Classifying expressions for: @scop_func
  %1 = add nsw i64 %storemerge26.us, 1            ; <i64> [#uses=2]
  -->  {1,+,1}<Stack dump:
0.    Program arguments: opt -indvars -scalar-evolution
/home/grosser/pg/test/polybench/linear-algebra/kernels/doitgen/doitgen_with_param.ll
-analyze -debug-pass=Executions 
1.    Running pass 'Function Pass Manager' on module
'/home/grosser/pg/test/polybench/linear-algebra/kernels/doitgen/doitgen_with_param.ll'.
2.    Running pass 'FunctionPass Printer' on function '@scop_func'
Segmentation fault
------------------------

So the Natural Loop Information pass is freed before the
ScalarEvolutionAnalysis has stopped using it. This happens also SCEV has
defined
an AU.isRequiredTransitive<LoopInfo>().

Any ideas on this?

By the way. Is it possible to use bugpoint to reduce this test case? I do not
have any idea how to pass -analyze to bugpoint.

Cheers
Tobi

-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list