Commit 6dda9eee by Alexis Hetu

Update SPIR-V Tools to f7da52775

Changes: f7da527757 Temporarily add EmptyPass to prevent glslang from failing (#4004) Commands: ./third_party/update-spirvtools.sh Bug: b/123642959 Change-Id: If776b87d8c72e12a71e864ecd9a0ce4d61f9ddbc
parents 7751fe38 7975f15b
......@@ -561,6 +561,7 @@ static_library("spvtools_opt") {
"source/opt/eliminate_dead_functions_util.h",
"source/opt/eliminate_dead_members_pass.cpp",
"source/opt/eliminate_dead_members_pass.h",
"source/opt/empty_pass.h",
"source/opt/feature_manager.cpp",
"source/opt/feature_manager.h",
"source/opt/fix_storage_class.cpp",
......
......@@ -536,6 +536,18 @@ Optimizer::PassToken CreateDeadInsertElimPass();
// eliminated with standard dead code elimination.
Optimizer::PassToken CreateAggressiveDCEPass();
// Creates an empty pass.
// This is deprecated and will be removed.
// TODO(jaebaek): remove this pass after handling glslang's broken unit tests.
// https://github.com/KhronosGroup/glslang/pull/2440
Optimizer::PassToken CreatePropagateLineInfoPass();
// Creates an empty pass.
// This is deprecated and will be removed.
// TODO(jaebaek): remove this pass after handling glslang's broken unit tests.
// https://github.com/KhronosGroup/glslang/pull/2440
Optimizer::PassToken CreateRedundantLineInfoElimPass();
// Creates a compact ids pass.
// The pass remaps result ids to a compact and gapless range starting from %1.
Optimizer::PassToken CreateCompactIdsPass();
......
......@@ -43,6 +43,7 @@ set(SPIRV_TOOLS_OPT_SOURCES
eliminate_dead_functions_pass.h
eliminate_dead_functions_util.h
eliminate_dead_members_pass.h
empty_pass.h
feature_manager.h
fix_storage_class.h
flatten_decoration_pass.h
......
// Copyright (c) 2020 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#ifndef SOURCE_OPT_EMPTY_PASS_H_
#define SOURCE_OPT_EMPTY_PASS_H_
#include "source/opt/pass.h"
namespace spvtools {
namespace opt {
// Documented in optimizer.hpp
class EmptyPass : public Pass {
public:
EmptyPass() {}
const char* name() const override { return "empty-pass"; }
Status Process() override { return Status::SuccessWithoutChange; }
};
} // namespace opt
} // namespace spvtools
#endif // SOURCE_OPT_EMPTY_PASS_H_
......@@ -753,6 +753,14 @@ Optimizer::PassToken CreateAggressiveDCEPass() {
MakeUnique<opt::AggressiveDCEPass>());
}
Optimizer::PassToken CreatePropagateLineInfoPass() {
return MakeUnique<Optimizer::PassToken::Impl>(MakeUnique<opt::EmptyPass>());
}
Optimizer::PassToken CreateRedundantLineInfoElimPass() {
return MakeUnique<Optimizer::PassToken::Impl>(MakeUnique<opt::EmptyPass>());
}
Optimizer::PassToken CreateCompactIdsPass() {
return MakeUnique<Optimizer::PassToken::Impl>(
MakeUnique<opt::CompactIdsPass>());
......
......@@ -35,6 +35,7 @@
#include "source/opt/eliminate_dead_constant_pass.h"
#include "source/opt/eliminate_dead_functions_pass.h"
#include "source/opt/eliminate_dead_members_pass.h"
#include "source/opt/empty_pass.h"
#include "source/opt/fix_storage_class.h"
#include "source/opt/flatten_decoration_pass.h"
#include "source/opt/fold_spec_constant_op_and_composite_pass.h"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment