Skip to content
This repository was archived by the owner on Jan 7, 2023. It is now read-only.

Commit 0871c14

Browse files
Updating LLVM patches names for easier maintenance
Change-Id: Ib1fe788e541b91e1cb880a729a52f0ad28dea84d
1 parent 3d82c83 commit 0871c14

17 files changed

+275
-371
lines changed

releases/4.0.0/patches_external/01-Adds-a-special-field-into-value-class.patch

-59
This file was deleted.

releases/4.0.0/patches_external/04-stripPointerCastsAndOffsets-should-not.patch

-27
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# Description : stripPointerCastsAndOffsets should not process across AddrSpaceCast
2+
3+
diff -Naur --strip-trailing-cr a/lib/IR/Value.cpp b/lib/IR/Value.cpp
4+
--- a/lib/IR/Value.cpp 2016-12-07 13:47:32.000000000 -0800
5+
+++ b/lib/IR/Value.cpp 2018-03-12 11:25:42.752625100 -0700
6+
@@ -466,6 +466,11 @@
7+
V = GEP->getPointerOperand();
8+
} else if (Operator::getOpcode(V) == Instruction::BitCast ||
9+
Operator::getOpcode(V) == Instruction::AddrSpaceCast) {
10+
+ // Do not process across AddrSpaceCast, since its result could
11+
+ // be a nullptr depending on the meaning of src and dest addrspace.
12+
+ if (Operator::getOpcode(V) == Instruction::AddrSpaceCast) {
13+
+ return V;
14+
+ }
15+
V = cast<Operator>(V)->getOperand(0);
16+
} else if (GlobalAlias *GA = dyn_cast<GlobalAlias>(V)) {
17+
if (StripKind == PSK_ZeroIndices || GA->isInterposable())

releases/4.0.0/patches_external/13-managed-static-mem-leak-fix.patch

-28
This file was deleted.

releases/4.0.0/patches_external/14-unwind-fix.patch

-169
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# Description : Enable aggressive (gep (gep base, idx0), idx1) combining
2+
3+
diff -Naur --strip-trailing-cr a/lib/Transforms/InstCombine/InstructionCombining.cpp b/lib/Transforms/InstCombine/InstructionCombining.cpp
4+
--- a/lib/Transforms/InstCombine/InstructionCombining.cpp 2017-10-24 08:51:48.146973901 -0400
5+
+++ b/lib/Transforms/InstCombine/InstructionCombining.cpp 2017-10-24 08:52:36.064972024 -0400
6+
@@ -1573,11 +1573,13 @@
7+
// normalized.
8+
if (SO1->getType() != GO1->getType())
9+
return nullptr;
10+
+#if 0
11+
// Only do the combine when GO1 and SO1 are both constants. Only in
12+
// this case, we are sure the cost after the merge is never more than
13+
// that before the merge.
14+
if (!isa<Constant>(GO1) || !isa<Constant>(SO1))
15+
return nullptr;
16+
+#endif
17+
Sum = Builder->CreateAdd(SO1, GO1, PtrOp->getName()+".sum");
18+
}
19+

releases/4.0.0/patches_external/03-completely-turn-off-code-sinking-in-InstructionCombining.patch releases/4.0.0/patches_external/2_2-completely-turn-off-code-sinking-in-InstructionCombining.patch

-6
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,6 @@
22
# This works around the issue with non-uniform constant-buffer
33
# index with an OGL test. The non-uniform buffer indexing is
44
# created due to code sinking.
5-
# Type : Backport from LLVM 3.8
6-
# P4V CL : 552325(3.8.0), 642679(4.0.0)
7-
# Category : Custom
8-
# Author : gangche1
9-
# Open Source Classification : Internal only
10-
# Status : Performance related, need not be ported to opensoure repository.
115

126
diff -Naur --strip-trailing-cr a/lib/Transforms/InstCombine/InstructionCombining.cpp b/lib/Transforms/InstCombine/InstructionCombining.cpp
137
--- a/lib/Transforms/InstCombine/InstructionCombining.cpp 2017-10-23 09:48:44.308224955 -0400

releases/4.0.0/patches_external/08-SimplifyCFG-SinkThenElseCodeToEnd-does-not-sink-code.patch releases/4.0.0/patches_external/3_1-SimplifyCFG-SinkThenElseCodeToEnd-does-not-sink-code.patch

-12
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,5 @@
11
# Description : SimplifyCFG::SinkThenElseCodeToEnd does not sink code similiar
22
# to LLVM 3.8
3-
# When Fixed in Open Source : Needed until we have resolved gen intrinsic handling with
4-
# LLVM 4.0 and resolved code sinking.
5-
# P4V CL : 688188(4.0.0)
6-
# Category : Optimization
7-
# Author : pmistry
8-
# Open Source Classification : Internal Only
9-
# Impact : Performance/Functional
10-
# Failing Workload/Commandline : Ashes of Singularity Escalation.dx12-g1
11-
# Notes : SimplifyCFG::SinkThenElseCodeToEnd does not sink code similiar to
12-
# LLVM 3.8 in certain cases. In case of GenIntrinsics it sinks and the
13-
# same is not handled properly by IGC passes later on. Benchmark that
14-
# exposed the issue was Ashes of Singularity Escalation.dx12-g1
153

164
diff -Naur --strip-trailing-cr a/lib/Transforms/Utils/SimplifyCFG.cpp b/lib/Transforms/Utils/SimplifyCFG.cpp
175
--- a/lib/Transforms/Utils/SimplifyCFG.cpp 2017-10-23 09:53:04.934214744 -0400

releases/4.0.0/patches_external/10-Added-checks-in-SimplifyCFG-GVN-and-Earl.patch releases/4.0.0/patches_external/3_2-Added-checks-in-SimplifyCFG-GVN-and-Earl.patch

-11
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,6 @@
11
# Description : Added checks in SimplifyCFG, GVN, and EarlyCSE to prevent hoisting
22
# or sinking convergent functions out of or into control flow (all
33
# wave intrinsics are marked as convergent).
4-
# When Fixed in Open Source : Needed till a cleaner solution is worked out.
5-
# P4V CL : 696122(4.0.0)
6-
# Category : Custom
7-
# Author : djwoo
8-
# Open Source Classification : Common
9-
# Impact : Functional
10-
# Failing Workload/Commandline : TE.exe D3DConf_12_Core.dll /enablewttlogging /appendwttlogging /name:DXILConfTest::WaveIntrinsics*
11-
# Notes : Need further guidance from the community on whether the convergent
12-
# function attribute should cover this case or whether there needs to
13-
# be a new mechanism to handle it. The current suggestion of adding
14-
# inline asm at every relevant call site is hackish.
154

165
diff -Naur --strip-trailing-cr a/lib/Transforms/Scalar/EarlyCSE.cpp b/lib/Transforms/Scalar/EarlyCSE.cpp
176
--- a/lib/Transforms/Scalar/EarlyCSE.cpp 2017-10-23 14:47:17.025523189 -0400

releases/4.0.0/patches_external/12-universal-driver.patch releases/4.0.0/patches_external/4_1-universal-driver.patch

-10
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,4 @@
11
# Description : Universal Driver Enabling
2-
# When Fixed in Open Source : Needed always
3-
# P4V CL : 706504(4.0.0)
4-
# Category : Build
5-
# Author : juanrod2
6-
# Open Source Classification : Internal Only
7-
# Impact :
8-
# Failing Workload/Commandline :
9-
# Notes : Process::GetArgumentVector for Windows has been
10-
# commented out since it is calling CommandLineToArgvW
11-
# which is not Universal API compliant.
122

133
diff -Naur --strip-trailing-cr a/lib/Support/Windows/Process.inc b/lib/Support/Windows/Process.inc
144
--- a/lib/Support/Windows/Process.inc 2017-10-27 09:51:01.756680018 -0400

releases/4.0.0/patches_external/02-Add-Reassoc-Contract-ApproxFunc-to-FMF.patch releases/4.0.0/patches_external/Add-Reassoc-Contract-ApproxFunc-to-FMF.patch

-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,4 @@
11
# Description : Adds AllowReassoc, AllowContract and ApproxFunc to FastMathFlags
2-
# When Fixed in LLVM Core : 22fddd859bee89a7950cb3dfbeb72cd6072656ee (03/29/2017),
3-
# : 00e900afdbd5dc97330de6bc0b8b09db1dcac9f7 (11/06/2017)
4-
# Category : Enhanchement
52

63
diff --git a/docs/LangRef.rst b/docs/LangRef.rst
74
--- a/docs/LangRef.rst

0 commit comments

Comments
 (0)