[PATCH] D74440: [mlir][SideEffects] Enable specifying side effects directly on the arguments/results of an operation.

Nathaniel McVicar via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Mar 6 18:12:07 PST 2020


NathanielMcVicar added a comment.

This appears to break the VisualStudio build for MSVC++ 14.16

  E:\build_slave\mlir-x64-windows-ninja\llvm-project\llvm\include\llvm/Support/Casting.h(58): error C2664: 'bool mlir::SideEffects::Effect::Base<mlir::MemoryEffects::Allocate,mlir::MemoryEffects::Effect>::classof(const mlir::MemoryEffects::Effect *)': cannot convert argument 1 from 'const From *' to 'const mlir::MemoryEffects::Effect *'
          with
          [
              From=mlir::SideEffects::Effect
          ]
  E:\build_slave\mlir-x64-windows-ninja\llvm-project\llvm\include\llvm/Support/Casting.h(58): note: Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
  E:\build_slave\mlir-x64-windows-ninja\llvm-project\llvm\include\llvm/Support/Casting.h(57): note: while compiling class template member function 'bool llvm::isa_impl<To,From,void>::doit(const From &)'
          with
          [
              To=mlir::MemoryEffects::Allocate,
              From=mlir::SideEffects::Effect
          ]
  E:\build_slave\mlir-x64-windows-ninja\llvm-project\llvm\include\llvm/Support/Casting.h(105): note: see reference to function template instantiation 'bool llvm::isa_impl<To,From,void>::doit(const From &)' being compiled
          with
          [
              To=mlir::MemoryEffects::Allocate,
              From=mlir::SideEffects::Effect
          ]
  E:\build_slave\mlir-x64-windows-ninja\llvm-project\llvm\include\llvm/Support/Casting.h(105): note: see reference to class template instantiation 'llvm::isa_impl<To,From,void>' being compiled
          with
          [
              To=mlir::MemoryEffects::Allocate,
              From=mlir::SideEffects::Effect
          ]
  E:\build_slave\mlir-x64-windows-ninja\llvm-project\llvm\include\llvm/Support/Casting.h(103): note: while compiling class template member function 'bool llvm::isa_impl_cl<To,FromTy>::doit(const From *)'
          with
          [
              To=mlir::MemoryEffects::Allocate,
              FromTy=const mlir::SideEffects::Effect *,
              From=mlir::SideEffects::Effect
          ]
  E:\build_slave\mlir-x64-windows-ninja\llvm-project\llvm\include\llvm/Support/Casting.h(131): note: see reference to function template instantiation 'bool llvm::isa_impl_cl<To,FromTy>::doit(const From *)' being compiled
          with
          [
              To=mlir::MemoryEffects::Allocate,
              FromTy=const mlir::SideEffects::Effect *,
              From=mlir::SideEffects::Effect
          ]
  E:\build_slave\mlir-x64-windows-ninja\llvm-project\llvm\include\llvm/Support/Casting.h(131): note: see reference to class template instantiation 'llvm::isa_impl_cl<To,FromTy>' being compiled
          with
          [
              To=mlir::MemoryEffects::Allocate,
              FromTy=const mlir::SideEffects::Effect *
          ]
  E:\build_slave\mlir-x64-windows-ninja\llvm-project\llvm\include\llvm/Support/Casting.h(130): note: while compiling class template member function 'bool llvm::isa_impl_wrap<To,SimpleFrom,SimpleFrom>::doit(const FromTy &)'
          with
          [
              To=mlir::MemoryEffects::Allocate,
              SimpleFrom=const mlir::SideEffects::Effect *,
              FromTy=const mlir::SideEffects::Effect *
          ]
  E:\build_slave\mlir-x64-windows-ninja\llvm-project\llvm\include\llvm/Support/Casting.h(121): note: see reference to function template instantiation 'bool llvm::isa_impl_wrap<To,SimpleFrom,SimpleFrom>::doit(const FromTy &)' being compiled
          with
          [
              To=mlir::MemoryEffects::Allocate,
              SimpleFrom=const mlir::SideEffects::Effect *,
              FromTy=const mlir::SideEffects::Effect *
          ]
  E:\build_slave\mlir-x64-windows-ninja\llvm-project\llvm\include\llvm/Support/Casting.h(122): note: see reference to class template instantiation 'llvm::isa_impl_wrap<To,SimpleFrom,SimpleFrom>' being compiled
          with
          [
              To=mlir::MemoryEffects::Allocate,
              SimpleFrom=const mlir::SideEffects::Effect *
          ]
  E:\build_slave\mlir-x64-windows-ninja\llvm-project\llvm\include\llvm/Support/Casting.h(120): note: while compiling class template member function 'bool llvm::isa_impl_wrap<X,const Y,const mlir::SideEffects::Effect *>::doit(>From &)'
          with
          [
              X=mlir::MemoryEffects::Allocate,
              Y=const mlir::SideEffects::Effect *,
              From=const mlir::SideEffects::Effect *
          ]
  E:\build_slave\mlir-x64-windows-ninja\llvm-project\llvm\include\llvm/Support/Casting.h(141): note: see reference to function template instantiation 'bool llvm::isa_impl_wrap<X,const Y,const mlir::SideEffects::Effect *>::doit(From &)' being compiled
          with
          [
              X=mlir::MemoryEffects::Allocate,
              Y=const mlir::SideEffects::Effect *,
              From=const mlir::SideEffects::Effect *
          ]
  E:\build_slave\mlir-x64-windows-ninja\llvm-project\llvm\include\llvm/Support/Casting.h(142): note: see reference to class template instantiation 'llvm::isa_impl_wrap<X,const Y,const mlir::SideEffects::Effect *>' being compiled
          with
          [
              X=mlir::MemoryEffects::Allocate,
              Y=const mlir::SideEffects::Effect *
          ]
  E:\build_slave\mlir-x64-windows-ninja\llvm-project\mlir\lib\IR\Operation.cpp(967): note: see reference to function template instantiation 'bool llvm::isa<mlir::MemoryEffects::Allocate,const mlir::SideEffects::Effect*>(const Y &)' being compiled
          with
          [
              Y=const mlir::SideEffects::Effect *
          ]
  ninja: build stopped: subcommand failed.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D74440





More information about the llvm-commits mailing list