peixin added a comment.

When I investigated the edge cases you mentioned in D116292 
<https://reviews.llvm.org/D116292>. Found one unsupported case as follows

  #include <climits>
  #include <iostream>
  using namespace std;
  
  void func(unsigned long long lb, unsigned long long ub, unsigned long long 
step) {
    unsigned long long i;
    #pragma omp for schedule(static, 1)
    for (i = lb; i > ub; i -= step) {
      cout << i << endl;
    }
  }
  
  int main() {
    unsigned long long lb, ub, step;
    lb = ULLONG_MAX;
    ub = ULLONG_MAX / 10;
    step = ULLONG_MAX / 10;
    cout << "lb: " << lb << endl;
    cout << "ub: " << ub << endl;
    cout << "step: " << step << endl;
  
    func(lb, ub, step);
  
    cout << endl;
    return 0;
  }

  $ clang++ temp.cpp -fopenmp && ./a.out
  lb: 18446744073709551615
  ub: 1844674407370955161
  step: 1844674407370955161
  18446744073709551615
  16602069666338596454
  14757395258967641293
  12912720851596686132
  11068046444225730971
  9223372036854775810
  7378697629483820649
  5534023222112865488
  3689348814741910327
  1844674407370955166
  $ clang++ temp.cpp -fopenmp -fopenmp-enable-irbuilder
  clang-14: 
/home/qpx/compilers/llvm-community/static-chunk-codegen/llvm-project/llvm/lib/IR/Instructions.cpp:506:
 void llvm::CallInst::init(llvm::FunctionType*, llvm::Value*, 
llvm::ArrayRef<llvm::Value*>, 
llvm::ArrayRef<llvm::OperandBundleDefT<llvm::Value*> >, const llvm::Twine&): 
Assertion `(i >= FTy->getNumParams() || FTy->getParamType(i) == 
Args[i]->getType()) && "Calling a function with a bad signature!"' failed.
  PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ 
and include the crash backtrace, preprocessed source, and associated run script.
  Stack dump:

This is also for `schedule(static)`.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D114413/new/

https://reviews.llvm.org/D114413

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to