[resolver] Track pipeline stage usages for structs

This will be used by the generators to determine how to handle
location decorations.

Change-Id: Ib0e0ce852a5da3819781b402c5625a440c4c9544
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/46400
Auto-Submit: James Price <jrprice@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
diff --git a/src/semantic/sem_struct.cc b/src/semantic/sem_struct.cc
index 4201517..78c272a 100644
--- a/src/semantic/sem_struct.cc
+++ b/src/semantic/sem_struct.cc
@@ -25,13 +25,15 @@
                uint32_t align,
                uint32_t size,
                uint32_t size_no_padding,
-               std::unordered_set<ast::StorageClass> storage_class_usage)
+               std::unordered_set<ast::StorageClass> storage_class_usage,
+               std::unordered_set<PipelineStageUsage> pipeline_stage_uses)
     : type_(type),
       members_(std::move(members)),
       align_(align),
       size_(size),
       size_no_padding_(size_no_padding),
-      storage_class_usage_(std::move(storage_class_usage)) {}
+      storage_class_usage_(std::move(storage_class_usage)),
+      pipeline_stage_uses_(std::move(pipeline_stage_uses)) {}
 
 Struct::~Struct() = default;