Home | History | Annotate | Download | only in opt
      1 // Copyright (c) 2016 Google Inc.
      2 //
      3 // Licensed under the Apache License, Version 2.0 (the "License");
      4 // you may not use this file except in compliance with the License.
      5 // You may obtain a copy of the License at
      6 //
      7 //     http://www.apache.org/licenses/LICENSE-2.0
      8 //
      9 // Unless required by applicable law or agreed to in writing, software
     10 // distributed under the License is distributed on an "AS IS" BASIS,
     11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     12 // See the License for the specific language governing permissions and
     13 // limitations under the License.
     14 
     15 #ifndef TEST_OPT_MODULE_UTILS_H_
     16 #define TEST_OPT_MODULE_UTILS_H_
     17 
     18 #include <vector>
     19 #include "source/opt/module.h"
     20 
     21 namespace spvtest {
     22 
     23 inline uint32_t GetIdBound(const spvtools::opt::Module& m) {
     24   std::vector<uint32_t> binary;
     25   m.ToBinary(&binary, false);
     26   // The 5-word header must always exist.
     27   EXPECT_LE(5u, binary.size());
     28   // The bound is the fourth word.
     29   return binary[3];
     30 }
     31 
     32 }  // namespace spvtest
     33 
     34 #endif  // TEST_OPT_MODULE_UTILS_H_
     35