message: [XLA:CPU] Fix symbol lookup on win32
  There's a long-standing issue in LLVM with looking up generated symbols. Bring
  this code in line with the LLVM example code, it has a workaround for win32.
diff: @@ -186,13 +186,25 @@ void SimpleOrcJIT::RemoveModule(SimpleOrcJIT::VModuleKeyT key) {
  }
  llvm::JITSymbol SimpleOrcJIT::FindCompiledSymbol(const std::string& name) {
  +#ifdef _WIN32
  + // The symbol lookup of ObjectLinkingLayer uses the SymbolRef::SF_Exported
  + // flag to decide whether a symbol will be visible or not, when we call
  + // IRCompileLayer::findSymbolIn with ExportedSymbolsOnly set to true.
  + //
  + // But for Windows COFF objects, this flag is currently never set.
  + // For a potential solution see: https://reviews.llvm.org/rL258665
  + // For now, we allow non-exported symbols on Windows as a workaround.
  + const bool exported_symbols_only = false;
  +#else
  + const bool exported_symbols_only = true;
  +#endif
  +
  // Resolve symbol from last module to first, allowing later redefinitions of
  // symbols shadow earlier ones.
  for (auto& key :
  llvm::make_range(module_keys_.rbegin(), module_keys_.rend())) {
  if (auto symbol =
  - compile_layer_.findSymbolIn(key, name,
  - /*ExportedSymbolsOnly=*/true)) {
  + compile_layer_.findSymbolIn(key, name, exported_symbols_only)) {
  return symbol;
  }
  }
  