[LLVMbugs] [Bug 9581] New: Host-dependent (unstable) emitting SwitchInst

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Tue Mar 29 08:13:48 PDT 2011


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

           Summary: Host-dependent (unstable) emitting SwitchInst
           Product: libraries
           Version: 2.9
          Platform: PC
        OS/Version: Windows NT
            Status: NEW
          Severity: normal
          Priority: P
         Component: Common Code Generator Code
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: geek4civic at gmail.com
                CC: llvmbugs at cs.uiuc.edu


Created an attachment (id=6370)
 --> (http://llvm.org/bugs/attachment.cgi?id=6370)
foo.ll: from BlackfinRegisterInfo.cpp

With g++.exe (TDM-1 mingw32) 4.4.0,

--enable-assertions affects behavior of code generator.
It seems floating point arithmetics would affect.

I can see identical outputs to suppress one debug print.

--- a/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
+++ b/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
@@ -2035,11 +2035,13 @@ bool
SelectionDAGBuilder::handleBTSplitSwitchCase(CaseRe
c& CR,
                            (Last - RBegin + 1ULL).roundToDouble();
     double Metric = Range.logBase2()*(LDensity+RDensity);
     // Should always split in some non-trivial place
+#if 0
     DEBUG(dbgs() <<"=>Step\n"
                  << "LEnd: " << LEnd << ", RBegin: " << RBegin << '\n'
                  << "LDensity: " << LDensity
                  << ", RDensity: " << RDensity << '\n'
                  << "Metric: " << Metric << '\n');
+#endif
     if (FMetric < Metric) {
       Pivot = J;
       FMetric = Metric;

-- 
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