2
0
Эх сурвалжийг харах

Merge remote-tracking branch 'ms/master' into dxr-master

Tex Riddell 7 жил өмнө
parent
commit
6436db6230

+ 0 - 121
tools/clang/include/clang/SPIRV/InstBuilder.h

@@ -92,8 +92,6 @@ public:
   void clear();
 
   // Instruction building methods.
-  InstBuilder &opNop();
-  InstBuilder &opUndef(uint32_t result_type, uint32_t result_id);
   InstBuilder &opSourceContinued(llvm::StringRef continued_source);
   InstBuilder &opSource(spv::SourceLanguage source_language, uint32_t version,
                         llvm::Optional<uint32_t> file,
@@ -155,17 +153,11 @@ public:
   InstBuilder &opConstantFalse(uint32_t result_type, uint32_t result_id);
   InstBuilder &opConstantComposite(uint32_t result_type, uint32_t result_id,
                                    llvm::ArrayRef<uint32_t> constituents);
-  InstBuilder &
-  opConstantSampler(uint32_t result_type, uint32_t result_id,
-                    spv::SamplerAddressingMode sampler_addressing_mode,
-                    uint32_t param, spv::SamplerFilterMode sampler_filter_mode);
   InstBuilder &opConstantNull(uint32_t result_type, uint32_t result_id);
   InstBuilder &opSpecConstantTrue(uint32_t result_type, uint32_t result_id);
   InstBuilder &opSpecConstantFalse(uint32_t result_type, uint32_t result_id);
   InstBuilder &opSpecConstantComposite(uint32_t result_type, uint32_t result_id,
                                        llvm::ArrayRef<uint32_t> constituents);
-  InstBuilder &opSpecConstantOp(uint32_t result_type, uint32_t result_id,
-                                spv::Op opcode);
   InstBuilder &opFunction(uint32_t result_type, uint32_t result_id,
                           spv::FunctionControlMask function_control,
                           uint32_t function_type);
@@ -185,28 +177,8 @@ public:
                       llvm::Optional<spv::MemoryAccessMask> memory_access);
   InstBuilder &opStore(uint32_t pointer, uint32_t object,
                        llvm::Optional<spv::MemoryAccessMask> memory_access);
-  InstBuilder &
-  opCopyMemory(uint32_t target, uint32_t source,
-               llvm::Optional<spv::MemoryAccessMask> memory_access);
-  InstBuilder &
-  opCopyMemorySized(uint32_t target, uint32_t source, uint32_t size,
-                    llvm::Optional<spv::MemoryAccessMask> memory_access);
   InstBuilder &opAccessChain(uint32_t result_type, uint32_t result_id,
                              uint32_t base, llvm::ArrayRef<uint32_t> indexes);
-  InstBuilder &opInBoundsAccessChain(uint32_t result_type, uint32_t result_id,
-                                     uint32_t base,
-                                     llvm::ArrayRef<uint32_t> indexes);
-  InstBuilder &opPtrAccessChain(uint32_t result_type, uint32_t result_id,
-                                uint32_t base, uint32_t element,
-                                llvm::ArrayRef<uint32_t> indexes);
-  InstBuilder &opArrayLength(uint32_t result_type, uint32_t result_id,
-                             uint32_t structure, uint32_t array_member);
-  InstBuilder &opGenericPtrMemSemantics(uint32_t result_type,
-                                        uint32_t result_id, uint32_t pointer);
-  InstBuilder &opInBoundsPtrAccessChain(uint32_t result_type,
-                                        uint32_t result_id, uint32_t base,
-                                        uint32_t element,
-                                        llvm::ArrayRef<uint32_t> indexes);
   InstBuilder &opDecorate(uint32_t target, spv::Decoration decoration);
   InstBuilder &opMemberDecorate(uint32_t structure_type, uint32_t member,
                                 spv::Decoration decoration);
@@ -216,11 +188,6 @@ public:
   InstBuilder &
   opGroupMemberDecorate(uint32_t decoration_group,
                         llvm::ArrayRef<std::pair<uint32_t, uint32_t>> targets);
-  InstBuilder &opVectorExtractDynamic(uint32_t result_type, uint32_t result_id,
-                                      uint32_t vector, uint32_t index);
-  InstBuilder &opVectorInsertDynamic(uint32_t result_type, uint32_t result_id,
-                                     uint32_t vector, uint32_t component,
-                                     uint32_t index);
   InstBuilder &opVectorShuffle(uint32_t result_type, uint32_t result_id,
                                uint32_t vector_1, uint32_t vector_2,
                                llvm::ArrayRef<uint32_t> components);
@@ -232,8 +199,6 @@ public:
   InstBuilder &opCompositeInsert(uint32_t result_type, uint32_t result_id,
                                  uint32_t object, uint32_t composite,
                                  llvm::ArrayRef<uint32_t> indexes);
-  InstBuilder &opCopyObject(uint32_t result_type, uint32_t result_id,
-                            uint32_t operand);
   InstBuilder &opTranspose(uint32_t result_type, uint32_t result_id,
                            uint32_t matrix);
   InstBuilder &opSampledImage(uint32_t result_type, uint32_t result_id,
@@ -256,23 +221,6 @@ public:
                                uint32_t sampled_image, uint32_t coordinate,
                                uint32_t dref,
                                spv::ImageOperandsMask image_operands);
-  InstBuilder &opImageSampleProjImplicitLod(
-      uint32_t result_type, uint32_t result_id, uint32_t sampled_image,
-      uint32_t coordinate,
-      llvm::Optional<spv::ImageOperandsMask> image_operands);
-  InstBuilder &
-  opImageSampleProjExplicitLod(uint32_t result_type, uint32_t result_id,
-                               uint32_t sampled_image, uint32_t coordinate,
-                               spv::ImageOperandsMask image_operands);
-  InstBuilder &opImageSampleProjDrefImplicitLod(
-      uint32_t result_type, uint32_t result_id, uint32_t sampled_image,
-      uint32_t coordinate, uint32_t dref,
-      llvm::Optional<spv::ImageOperandsMask> image_operands);
-  InstBuilder &
-  opImageSampleProjDrefExplicitLod(uint32_t result_type, uint32_t result_id,
-                                   uint32_t sampled_image, uint32_t coordinate,
-                                   uint32_t dref,
-                                   spv::ImageOperandsMask image_operands);
   InstBuilder &
   opImageFetch(uint32_t result_type, uint32_t result_id, uint32_t image,
                uint32_t coordinate,
@@ -292,8 +240,6 @@ public:
   InstBuilder &
   opImageWrite(uint32_t image, uint32_t coordinate, uint32_t texel,
                llvm::Optional<spv::ImageOperandsMask> image_operands);
-  InstBuilder &opImage(uint32_t result_type, uint32_t result_id,
-                       uint32_t sampled_image);
   InstBuilder &opImageQueryFormat(uint32_t result_type, uint32_t result_id,
                                   uint32_t image);
   InstBuilder &opImageQueryOrder(uint32_t result_type, uint32_t result_id,
@@ -339,16 +285,9 @@ public:
                               uint32_t p);
   InstBuilder &opEmitVertex();
   InstBuilder &opEndPrimitive();
-  InstBuilder &opEmitStreamVertex(uint32_t stream);
-  InstBuilder &opEndStreamPrimitive(uint32_t stream);
   InstBuilder &opControlBarrier(uint32_t execution, uint32_t memory,
                                 uint32_t semantics);
   InstBuilder &opMemoryBarrier(uint32_t memory, uint32_t semantics);
-  InstBuilder &opAtomicLoad(uint32_t result_type, uint32_t result_id,
-                            uint32_t pointer, uint32_t scope,
-                            uint32_t semantics);
-  InstBuilder &opAtomicStore(uint32_t pointer, uint32_t scope,
-                             uint32_t semantics, uint32_t value);
   InstBuilder &opAtomicExchange(uint32_t result_type, uint32_t result_id,
                                 uint32_t pointer, uint32_t scope,
                                 uint32_t semantics, uint32_t value);
@@ -356,20 +295,6 @@ public:
                                        uint32_t pointer, uint32_t scope,
                                        uint32_t equal, uint32_t unequal,
                                        uint32_t value, uint32_t comparator);
-  InstBuilder &opAtomicCompareExchangeWeak(uint32_t result_type,
-                                           uint32_t result_id, uint32_t pointer,
-                                           uint32_t scope, uint32_t equal,
-                                           uint32_t unequal, uint32_t value,
-                                           uint32_t comparator);
-  InstBuilder &opAtomicIIncrement(uint32_t result_type, uint32_t result_id,
-                                  uint32_t pointer, uint32_t scope,
-                                  uint32_t semantics);
-  InstBuilder &opAtomicIDecrement(uint32_t result_type, uint32_t result_id,
-                                  uint32_t pointer, uint32_t scope,
-                                  uint32_t semantics);
-  InstBuilder &
-  opPhi(uint32_t result_type, uint32_t result_id,
-        llvm::ArrayRef<std::pair<uint32_t, uint32_t>> variable_parent_);
   InstBuilder &opLoopMerge(uint32_t merge_block, uint32_t continue_target,
                            spv::LoopControlMask loop_control);
   InstBuilder &opSelectionMerge(uint32_t merge_block,
@@ -402,21 +327,6 @@ public:
                                      uint32_t sampled_image,
                                      uint32_t coordinate, uint32_t dref,
                                      spv::ImageOperandsMask image_operands);
-  InstBuilder &opImageSparseSampleProjImplicitLod(
-      uint32_t result_type, uint32_t result_id, uint32_t sampled_image,
-      uint32_t coordinate,
-      llvm::Optional<spv::ImageOperandsMask> image_operands);
-  InstBuilder &opImageSparseSampleProjExplicitLod(
-      uint32_t result_type, uint32_t result_id, uint32_t sampled_image,
-      uint32_t coordinate, spv::ImageOperandsMask image_operands);
-  InstBuilder &opImageSparseSampleProjDrefImplicitLod(
-      uint32_t result_type, uint32_t result_id, uint32_t sampled_image,
-      uint32_t coordinate, uint32_t dref,
-      llvm::Optional<spv::ImageOperandsMask> image_operands);
-  InstBuilder &opImageSparseSampleProjDrefExplicitLod(
-      uint32_t result_type, uint32_t result_id, uint32_t sampled_image,
-      uint32_t coordinate, uint32_t dref,
-      spv::ImageOperandsMask image_operands);
   InstBuilder &
   opImageSparseFetch(uint32_t result_type, uint32_t result_id, uint32_t image,
                      uint32_t coordinate,
@@ -433,41 +343,10 @@ public:
   InstBuilder &opImageSparseTexelsResident(uint32_t result_type,
                                            uint32_t result_id,
                                            uint32_t resident_code);
-  InstBuilder &opNoLine();
-  InstBuilder &opAtomicFlagTestAndSet(uint32_t result_type, uint32_t result_id,
-                                      uint32_t pointer, uint32_t scope,
-                                      uint32_t semantics);
-  InstBuilder &opAtomicFlagClear(uint32_t pointer, uint32_t scope,
-                                 uint32_t semantics);
   InstBuilder &
   opImageSparseRead(uint32_t result_type, uint32_t result_id, uint32_t image,
                     uint32_t coordinate,
                     llvm::Optional<spv::ImageOperandsMask> image_operands);
-  InstBuilder &opSizeOf(uint32_t result_type, uint32_t result_id,
-                        uint32_t pointer);
-  InstBuilder &opTypePipeStorage(uint32_t result_id);
-  InstBuilder &opConstantPipeStorage(uint32_t result_type, uint32_t result_id,
-                                     uint32_t packet_size,
-                                     uint32_t packet_alignment,
-                                     uint32_t capacity);
-  InstBuilder &opCreatePipeFromPipeStorage(uint32_t result_type,
-                                           uint32_t result_id,
-                                           uint32_t pipe_storage);
-  InstBuilder &
-  opGetKernelLocalSizeForSubgroupCount(uint32_t result_type, uint32_t result_id,
-                                       uint32_t subgroup_count, uint32_t invoke,
-                                       uint32_t param, uint32_t param_size,
-                                       uint32_t param_align);
-  InstBuilder &opGetKernelMaxNumSubgroups(uint32_t result_type,
-                                          uint32_t result_id, uint32_t invoke,
-                                          uint32_t param, uint32_t param_size,
-                                          uint32_t param_align);
-  InstBuilder &opTypeNamedBarrier(uint32_t result_id);
-  InstBuilder &opNamedBarrierInitialize(uint32_t result_type,
-                                        uint32_t result_id,
-                                        uint32_t subgroup_count);
-  InstBuilder &opMemoryNamedBarrier(uint32_t named_barrier, uint32_t memory,
-                                    uint32_t semantics);
   InstBuilder &opModuleProcessed(std::string process);
   InstBuilder &opExecutionModeId(uint32_t entry_point, spv::ExecutionMode mode);
   InstBuilder &opDecorateId(uint32_t target, spv::Decoration decoration);

Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 25 - 879
tools/clang/lib/SPIRV/InstBuilderAuto.cpp


+ 1 - 0
tools/clang/tools/libclang/dxcrewriteunused.cpp

@@ -129,6 +129,7 @@ void SetupCompilerForRewrite(CompilerInstance &compiler,
   compiler.getDiagnostics().setIgnoreAllWarnings(!opts.OutputWarnings);
   compiler.getLangOpts().HLSLVersion = (unsigned)opts.HLSLVersion;
   compiler.getLangOpts().UseMinPrecision = !opts.Enable16BitTypes;
+  compiler.getLangOpts().EnableBackCompatMode = opts.EnableBackCompatMode;
 
   PreprocessorOptions &PPOpts = compiler.getPreprocessorOpts();
   if (rewrite != nullptr) {

+ 4 - 4
tools/clang/unittests/SPIRV/InstBuilderTest.cpp

@@ -20,9 +20,9 @@ using ::testing::ContainerEq;
 TEST(InstBuilder, InstWoParams) {
   std::vector<uint32_t> result;
   auto ib = constructInstBuilder(result);
-  expectBuildSuccess(ib.opNop().x());
-  // OpNop takes no parameters.
-  auto expected = constructInst(spv::Op::OpNop, {});
+  expectBuildSuccess(ib.opFunctionEnd().x());
+  // opFunctionEnd takes no parameters.
+  auto expected = constructInst(spv::Op::OpFunctionEnd, {});
   EXPECT_THAT(result, ContainerEq(expected));
 }
 
@@ -155,7 +155,7 @@ TEST(InstBuilder, InstMissingAdditionalLiteralString) {
 
 TEST(InstBuilder, NullConsumerResultsInError) {
   auto ib = InstBuilder(nullptr);
-  EXPECT_EQ(InstBuilder::Status::NullConsumer, ib.opNop().x());
+  EXPECT_EQ(InstBuilder::Status::NullConsumer, ib.opLine(1, 2, 3).x());
 }
 
 TEST(InstBuilder, InstWStringParams) {

+ 3 - 3
tools/clang/unittests/SPIRV/ModuleBuilderTest.cpp

@@ -21,7 +21,7 @@ using ::testing::ElementsAre;
 
 TEST(ModuleBuilder, TakeModuleDirectlyCreatesHeader) {
   SPIRVContext context;
-  ModuleBuilder builder(&context, nullptr, {0});
+  ModuleBuilder builder(&context, nullptr, {});
 
   EXPECT_THAT(builder.takeModule(),
               ElementsAre(spv::MagicNumber, 0x00010000, 14u << 16, 1u, 0u));
@@ -29,7 +29,7 @@ TEST(ModuleBuilder, TakeModuleDirectlyCreatesHeader) {
 
 TEST(ModuleBuilder, CreateFunction) {
   SPIRVContext context;
-  ModuleBuilder builder(&context, nullptr, {0});
+  ModuleBuilder builder(&context, nullptr, {});
 
   const auto rType = context.takeNextId();
   const auto fType = context.takeNextId();
@@ -47,7 +47,7 @@ TEST(ModuleBuilder, CreateFunction) {
 
 TEST(ModuleBuilder, CreateBasicBlock) {
   SPIRVContext context;
-  ModuleBuilder builder(&context, nullptr, {0});
+  ModuleBuilder builder(&context, nullptr, {});
 
   const auto rType = context.takeNextId();
   const auto fType = context.takeNextId();

Энэ ялгаанд хэт олон файл өөрчлөгдсөн тул зарим файлыг харуулаагүй болно