<html>
    <head>
      <base href="https://bugs.llvm.org/">
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - ToT fails to compile LegalizeIntegerTypes with code coverage enabled"
   href="https://bugs.llvm.org/show_bug.cgi?id=32285">32285</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>ToT fails to compile LegalizeIntegerTypes with code coverage enabled
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>libraries
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>trunk
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>PC
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>All
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>normal
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>P
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>Common Code Generator Code
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>unassignedbugs@nondot.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>vsk@apple.com
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>llvm-bugs@lists.llvm.org
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Created <span class=""><a href="attachment.cgi?id=18098" name="attach_18098" title="Reduced *.ll reproducer">attachment 18098</a> <a href="attachment.cgi?id=18098&action=edit" title="Reduced *.ll reproducer">[details]</a></span>
Reduced *.ll reproducer

ToT hits an assertion failure when compiling LegalizeIntegerTypes.cpp with
clang-based code coverage. I am attaching some reproducers:

* bugpoint-reduced-simplified.ll (simply run with 'opt -O3')
* A traditional preprocessed source / repro script

I suspect the following patch is responsible:

<a href="https://reviews.llvm.org/D29540">https://reviews.llvm.org/D29540</a>

Here is the backtrace:

Assertion failed: (Ty->isVectorTy() && "Can only scalarize vectors"), function
getScalarizationOverhead, file
/Users/vk/src/llvm.org-master/llvm/include/llvm/CodeGen/BasicTTIImpl.h, line
294.
4  libsystem_c.dylib        0x0000000104190f83 abort + 127
5  libsystem_c.dylib        0x00000001041596a6 basename_r + 0
6  opt                      0x0000000101caedc3
llvm::BasicTTIImplBase<llvm::X86TTIImpl>::getIntrinsicInstrCost(llvm::Intrinsic::ID,
llvm::Type*, llvm::ArrayRef<llvm::Value*>, llvm::FastMathFlags, unsigned int) +
1267
7  opt                      0x00000001022282dc
llvm::TargetTransformInfo::getIntrinsicInstrCost(llvm::Intrinsic::ID,
llvm::Type*, llvm::ArrayRef<llvm::Value*>, llvm::FastMathFlags, unsigned int)
const + 28
8  opt                      0x0000000102cdf678
getVectorIntrinsicCost(llvm::CallInst*, unsigned int, llvm::TargetTransformInfo
const&, llvm::TargetLibraryInfo const*) + 376
9  opt                      0x0000000102cde4d6 (anonymous
namespace)::LoopVectorizationCostModel::getInstructionCost(llvm::Instruction*,
unsigned int) + 3190
10 opt                      0x0000000102cdf92e (anonymous
namespace)::LoopVectorizationCostModel::expectedCost(unsigned int) + 222
11 opt                      0x0000000102cc33b9
llvm::LoopVectorizePass::processLoop(llvm::Loop*) + 11913
12 opt                      0x0000000102cce620
llvm::LoopVectorizePass::runImpl(llvm::Function&, llvm::ScalarEvolution&,
llvm::LoopInfo&, llvm::TargetTransformInfo&, llvm::DominatorTree&,
llvm::BlockFrequencyInfo&, llvm::TargetLibraryInfo*, llvm::DemandedBits&,
llvm::AAResults&, llvm::AssumptionCache&,
std::__1::function<llvm::LoopAccessInfo const& (llvm::Loop&)>&,
llvm::OptimizationRemarkEmitter&) + 528
13 opt                      0x0000000102ccfefc (anonymous
namespace)::LoopVectorize::runOnFunction(llvm::Function&) + 1196
14 opt                      0x0000000102657e7d
llvm::FPPassManager::runOnFunction(llvm::Function&) + 541
15 opt                      0x00000001026580e3
llvm::FPPassManager::runOnModule(llvm::Module&) + 51
16 opt                      0x000000010265862d
llvm::legacy::PassManagerImpl::run(llvm::Module&) + 957</pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are on the CC list for the bug.</li>
      </ul>
    </body>
</html>