<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 - For -enable-gvn-sink, facing Assertion `i < NumUserOperands && "getOperand() out of range!"' failed"
   href="https://bugs.llvm.org/show_bug.cgi?id=42346">42346</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>For -enable-gvn-sink, facing Assertion `i < NumUserOperands && "getOperand() out of range!"' failed
          </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>Linux
          </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>Global Analyses
          </td>
        </tr>

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

        <tr>
          <th>Reporter</th>
          <td>balarishi.bhogadi@amd.com
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>llvm-bugs@lists.llvm.org
          </td>
        </tr></table>
      <p>
        <div>
        <pre>=======

// Invoke: clang-9 -cc1 -emit-llvm-bc -w -O2 -mllvm -enable-gvn-sink 
<filename.c>

#define __isl_give
#define __isl_take
#define isl_basic_set   isl_basic_map

typedef struct isl_basic_map isl_basic_map;
typedef struct isl_vec isl_vec;

struct isl_basic_map {
        unsigned n_eq;
};

__isl_give isl_vec *isl_basic_set_sample_bounded;
static __isl_give isl_vec *interval_sample(__isl_take isl_basic_set *bset) ;
static __isl_give isl_vec *sample_eq(__isl_take isl_basic_set *bset,  
__isl_give isl_vec *(__isl_take isl_basic_set *)) ;
unsigned int basic_set_sample_dim;
isl_basic_map * basic_set_sample_bset;

static __isl_give isl_vec *basic_set_sample(__isl_take isl_basic_set *bset,    
int bounded) {
        if (isl_basic_set_plain_is_empty(basic_set_sample_bset))
                return empty_sample(basic_set_sample_bset);
        if (basic_set_sample_bset->n_eq > 0)
                return sample_eq(basic_set_sample_bset,
isl_basic_set_sample_bounded);
        if (basic_set_sample_dim == 1)
                return interval_sample(basic_set_sample_bset);
}

isl_vec *isl_basic_set_sample_vec(__isl_take isl_basic_set *bset) {
        return basic_set_sample;
}

//=======

For the above facing the below error:

clang-7:
/home/amd/JENKINS/workspace/CPUPC_Mirror_Branch/llvm/include/llvm/IR/User.h:171:
llvm::Value* llvm::User::getOperand(unsigned int) const: Assertion `i <
NumUserOperands && "getOperand() out of range!"' failed.
Stack dump:
0.      Program arguments:
/home/amd/qa/llvm_binaries/MIRROR-BUILD-1011/bin/clang-7 -cc1 -emit-llvm-bc -O2
-mllvm -enable-gvn-sink -w isl_sample_reduced.c
1.      <eof> parser at end of file
2.      Per-module optimization passes
3.      Running pass 'CallGraph Pass Manager' on module 'isl_sample_reduced.c'.
4.      Running pass 'Early GVN sinking of Expressions' on function
'@basic_set_sample'
#0 0x00002b1110b933fa llvm::sys::PrintStackTrace(llvm::raw_ostream&)
(/home/amd/qa/llvm_binaries/MIRROR-BUILD-1011/bin/../lib/libLLVM-7svn.so+0x66c3fa)
#1 0x00002b1110b91869 llvm::sys::RunSignalHandlers()
(/home/amd/qa/llvm_binaries/MIRROR-BUILD-1011/bin/../lib/libLLVM-7svn.so+0x66a869)
#2 0x00002b1110b9199d SignalHandler(int)
(/home/amd/qa/llvm_binaries/MIRROR-BUILD-1011/bin/../lib/libLLVM-7svn.so+0x66a99d)
#3 0x00002b111031b390 __restore_rt
(/lib/x86_64-linux-gnu/libpthread.so.0+0x11390)
#4 0x00002b1113f83428 gsignal
/build/glibc-t3gR2i/glibc-2.23/signal/../sysdeps/unix/sysv/linux/raise.c:54:0
#5 0x00002b1113f8502a abort /build/glibc-t3gR2i/glibc-2.23/stdlib/abort.c:91:0
#6 0x00002b1113f7bbd7 __assert_fail_base
/build/glibc-t3gR2i/glibc-2.23/assert/assert.c:92:0
#7 0x00002b1113f7bc82 (/lib/x86_64-linux-gnu/libc.so.6+0x2dc82)
#8 0x00002b1110a30afc (anonymous
namespace)::ModelledPHI::areAllIncomingValuesSame()
const::'lambda'(llvm::Value*)::operator()(llvm::Value*) const (.part.159)
(/home/amd/qa/llvm_binaries/MIRROR-BUILD-1011/bin/../lib/libLLVM-7svn.so+0x509afc)
#9 0x00002b1111646364 (anonymous
namespace)::GVNSink::analyzeInstructionForSinking((anonymous
namespace)::LockstepReverseIterator&, unsigned int&, unsigned int&,
llvm::DenseSet<(anonymous namespace)::ModelledPHI, (anonymous
namespace)::DenseMapInfo<(anonymous namespace)::ModelledPHI> >&,
llvm::SmallPtrSetImpl<llvm::Value*>&)
(/home/amd/qa/llvm_binaries/MIRROR-BUILD-1011/bin/../lib/libLLVM-7svn.so+0x111f364)
#10 0x00002b11116471ab (anonymous
namespace)::GVNSink::sinkBB(llvm::BasicBlock*)
(/home/amd/qa/llvm_binaries/MIRROR-BUILD-1011/bin/../lib/libLLVM-7svn.so+0x11201ab)
#11 0x00002b1111648ad0 (anonymous namespace)::GVNSink::run(llvm::Function&)
(/home/amd/qa/llvm_binaries/MIRROR-BUILD-1011/bin/../lib/libLLVM-7svn.so+0x1121ad0)
#12 0x00002b11116492f7 (anonymous
namespace)::GVNSinkLegacyPass::runOnFunction(llvm::Function&) (.part.485)
(/home/amd/qa/llvm_binaries/MIRROR-BUILD-1011/bin/../lib/libLLVM-7svn.so+0x11222f7)
#13 0x00002b1110c9a3d3 llvm::FPPassManager::runOnFunction(llvm::Function&)
(/home/amd/qa/llvm_binaries/MIRROR-BUILD-1011/bin/../lib/libLLVM-7svn.so+0x7733d3)
#14 0x00002b111196b57f (anonymous
namespace)::CGPassManager::runOnModule(llvm::Module&)
(/home/amd/qa/llvm_binaries/MIRROR-BUILD-1011/bin/../lib/libLLVM-7svn.so+0x144457f)
#15 0x00002b1110c9abc5 llvm::legacy::PassManagerImpl::run(llvm::Module&)
(/home/amd/qa/llvm_binaries/MIRROR-BUILD-1011/bin/../lib/libLLVM-7svn.so+0x773bc5)
#16 0x00000000008a6ce1 (anonymous
namespace)::EmitAssemblyHelper::EmitAssembly(clang::BackendAction,
std::unique_ptr<llvm::raw_pwrite_stream,
std::default_delete<llvm::raw_pwrite_stream> >)
(/home/amd/qa/llvm_binaries/MIRROR-BUILD-1011/bin/clang-7+0x8a6ce1)
#17 0x00000000008a8d35 clang::EmitBackendOutput(clang::DiagnosticsEngine&,
clang::HeaderSearchOptions const&, clang::CodeGenOptions const&,
clang::TargetOptions const&, clang::LangOptions const&, llvm::DataLayout
const&, llvm::Module*, clang::BackendAction,
std::unique_ptr<llvm::raw_pwrite_stream,
std::default_delete<llvm::raw_pwrite_stream> >)
(/home/amd/qa/llvm_binaries/MIRROR-BUILD-1011/bin/clang-7+0x8a8d35)
#18 0x0000000000d5ec0b
clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&)
(/home/amd/qa/llvm_binaries/MIRROR-BUILD-1011/bin/clang-7+0xd5ec0b)
#19 0x00000000012214a2 clang::ParseAST(clang::Sema&, bool, bool)
(/home/amd/qa/llvm_binaries/MIRROR-BUILD-1011/bin/clang-7+0x12214a2)
#20 0x0000000000d5e24f clang::CodeGenAction::ExecuteAction()
(/home/amd/qa/llvm_binaries/MIRROR-BUILD-1011/bin/clang-7+0xd5e24f)
#21 0x0000000000cbc9c6 clang::FrontendAction::Execute()
(/home/amd/qa/llvm_binaries/MIRROR-BUILD-1011/bin/clang-7+0xcbc9c6)
#22 0x0000000000c8fa5e
clang::CompilerInstance::ExecuteAction(clang::FrontendAction&)
(/home/amd/qa/llvm_binaries/MIRROR-BUILD-1011/bin/clang-7+0xc8fa5e)
#23 0x0000000000d59ab2
clang::ExecuteCompilerInvocation(clang::CompilerInstance*)
(/home/amd/qa/llvm_binaries/MIRROR-BUILD-1011/bin/clang-7+0xd59ab2)
#24 0x00000000008490d8 cc1_main(llvm::ArrayRef<char const*>, char const*,
void*) (/home/amd/qa/llvm_binaries/MIRROR-BUILD-1011/bin/clang-7+0x8490d8)
#25 0x00000000008431e4 main
(/home/amd/qa/llvm_binaries/MIRROR-BUILD-1011/bin/clang-7+0x8431e4)
#26 0x00002b1113f6e830 __libc_start_main
/build/glibc-t3gR2i/glibc-2.23/csu/../csu/libc-start.c:325:0
#27 0x000000000084410e _start
(/home/amd/qa/llvm_binaries/MIRROR-BUILD-1011/bin/clang-7+0x84410e)
Aborted (core dumped)</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>