mirror of
https://gitee.com/openharmony/third_party_spirv-tools
synced 2024-11-23 07:20:28 +00:00
Temporarily add EmptyPass to prevent glslang from failing (#4004)
Removing PropagateLineInfoPass and RedundantLineInfoElimPass from
56d0f5035
makes unit tests of many open source projects fail.
It will happen before submitting this glslang PR
https://github.com/KhronosGroup/glslang/pull/2440. This commit will be
git-reverted after merging the glslang PR.
This commit is contained in:
parent
82b378d671
commit
f7da527757
1
BUILD.gn
1
BUILD.gn
@ -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
|
||||
|
36
source/opt/empty_pass.h
Normal file
36
source/opt/empty_pass.h
Normal file
@ -0,0 +1,36 @@
|
||||
// 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"
|
||||
|
Loading…
Reference in New Issue
Block a user