Skip to content

Commit bb8ea37

Browse files
Allowing use of const static variables in library exports (#3780)
1 parent ef58fa1 commit bb8ea37

1 file changed

Lines changed: 2 additions & 1 deletion

File tree

lib/HLSL/DxilPromoteResourcePasses.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ using namespace hlsl;
4343

4444
namespace {
4545

46-
static const StringRef kStaticResourceLibErrorMsg = "static global resource use is disallowed in library exports.";
46+
static const StringRef kStaticResourceLibErrorMsg = "non const static global resource use is disallowed in library exports.";
4747

4848
class DxilPromoteStaticResources : public ModulePass {
4949
public:
@@ -166,6 +166,7 @@ bool DxilPromoteStaticResources::PromoteStaticGlobalResources(
166166
// optimized away for the exported function.
167167
for (auto &GV : M.globals()) {
168168
if (GV.getLinkage() == GlobalVariable::LinkageTypes::InternalLinkage &&
169+
!GV.isConstant() &&
169170
dxilutil::IsHLSLObjectType(dxilutil::GetArrayEltTy(GV.getType()))) {
170171
if (!GV.user_empty()) {
171172
if (Instruction *I = dyn_cast<Instruction>(*GV.user_begin())) {

0 commit comments

Comments
 (0)