LLVM 17.0.0git
DXContainer.cpp
Go to the documentation of this file.
1
2//===-- llvm/BinaryFormat/DXContainer.cpp - DXContainer Utils ----*- C++-*-===//
3//
4// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5// See https://llvm.org/LICENSE.txt for license information.
6// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7//
8//===----------------------------------------------------------------------===//
9//
10// This file contains utility functions for working with DXContainers.
11//
12//===----------------------------------------------------------------------===//
13
16
17using namespace llvm;
18using namespace llvm::dxbc;
19
21#define CONTAINER_PART(PartName) .Case(#PartName, PartType::PartName)
23#include "llvm/BinaryFormat/DXContainerConstants.def"
24 .Default(dxbc::PartType::Unknown);
25}
26
28 static uint8_t Zeros[16] = {0};
29 return Flags > 0 || 0 != memcmp(&Digest, &Zeros, 16);
30}
Merge contiguous icmps into a memcmp
Definition: MergeICmps.cpp:908
This file implements the StringSwitch template, which mimics a switch() statement whose cases are str...
StringRef - Represent a constant reference to a string, i.e.
Definition: StringRef.h:50
A switch()-like statement whose cases are string literals.
Definition: StringSwitch.h:44
R Default(T Value)
Definition: StringSwitch.h:182
PartType parsePartType(StringRef S)
Definition: DXContainer.cpp:20
This is an optimization pass for GlobalISel generic memory operations.
Definition: AddressRanges.h:18