Commit 2f15ae2
committed
[AArch64] Decouple feature dependency expansion.
The dependency expansion step which was introduced by FMV has been
erroneously used for non-FMV features, for example when parsing the
target attribute. The PR #93695 has rectified most of the tests which
were relying on dependency expansion of target features specified on
the -cc1 command line. In this patch I am decoupling the dependency
expansion of features specified on the target attribute from FMV.
To do that first I am expanding FMV dependencies before passing the
list of target features to initFeatureMap(). Similarly when parsing
the target attribute I am reconstructing an ExtensionSet from the
list of target features which was created during the command line
option parsing. The attribute parsing may toggle bits of that
ExtensionSet and at the end it is converted to a list of target
features. Those are passed to initFeatureMap(), which no longer
requires an override.
A side effect of this refactoring is that features specified on the
target_version attribute now supersede the command line options,
which is what should be happening in the first place.1 parent 875e911 commit 2f15ae2
File tree
13 files changed
+202
-214
lines changed- clang
- include/clang/AST
- lib
- AST
- Basic/Targets
- test
- CodeGen
- aarch64-sme-intrinsics
- Sema
- llvm
- include/llvm/TargetParser
- lib
- TargetParser
- Target/AArch64
13 files changed
+202
-214
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3203 | 3203 | | |
3204 | 3204 | | |
3205 | 3205 | | |
3206 | | - | |
3207 | | - | |
3208 | | - | |
3209 | 3206 | | |
3210 | 3207 | | |
3211 | 3208 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
87 | 87 | | |
88 | 88 | | |
89 | 89 | | |
| 90 | + | |
90 | 91 | | |
91 | 92 | | |
92 | 93 | | |
| |||
13663 | 13664 | | |
13664 | 13665 | | |
13665 | 13666 | | |
13666 | | - | |
13667 | | - | |
13668 | | - | |
13669 | | - | |
13670 | | - | |
13671 | | - | |
13672 | | - | |
13673 | | - | |
13674 | | - | |
13675 | | - | |
13676 | | - | |
| 13667 | + | |
| 13668 | + | |
| 13669 | + | |
| 13670 | + | |
| 13671 | + | |
| 13672 | + | |
| 13673 | + | |
| 13674 | + | |
| 13675 | + | |
| 13676 | + | |
| 13677 | + | |
| 13678 | + | |
13677 | 13679 | | |
13678 | 13680 | | |
13679 | 13681 | | |
| |||
13708 | 13710 | | |
13709 | 13711 | | |
13710 | 13712 | | |
13711 | | - | |
13712 | | - | |
13713 | | - | |
13714 | | - | |
| 13713 | + | |
| 13714 | + | |
| 13715 | + | |
| 13716 | + | |
| 13717 | + | |
| 13718 | + | |
13715 | 13719 | | |
13716 | 13720 | | |
13717 | 13721 | | |
| |||
13734 | 13738 | | |
13735 | 13739 | | |
13736 | 13740 | | |
13737 | | - | |
13738 | 13741 | | |
13739 | 13742 | | |
13740 | | - | |
13741 | | - | |
13742 | | - | |
13743 | | - | |
| 13743 | + | |
13744 | 13744 | | |
13745 | 13745 | | |
13746 | 13746 | | |
| |||
13753 | 13753 | | |
13754 | 13754 | | |
13755 | 13755 | | |
13756 | | - | |
13757 | | - | |
13758 | | - | |
13759 | | - | |
13760 | | - | |
| 13756 | + | |
| 13757 | + | |
| 13758 | + | |
| 13759 | + | |
| 13760 | + | |
| 13761 | + | |
| 13762 | + | |
| 13763 | + | |
13761 | 13764 | | |
13762 | 13765 | | |
13763 | 13766 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1050 | 1050 | | |
1051 | 1051 | | |
1052 | 1052 | | |
1053 | | - | |
1054 | | - | |
1055 | | - | |
1056 | | - | |
1057 | | - | |
1058 | | - | |
1059 | | - | |
1060 | | - | |
1061 | | - | |
1062 | | - | |
1063 | | - | |
1064 | | - | |
1065 | | - | |
1066 | | - | |
1067 | | - | |
1068 | | - | |
1069 | | - | |
1070 | | - | |
1071 | | - | |
1072 | | - | |
1073 | | - | |
1074 | | - | |
1075 | | - | |
1076 | | - | |
1077 | | - | |
1078 | | - | |
1079 | | - | |
1080 | | - | |
1081 | | - | |
1082 | | - | |
1083 | | - | |
1084 | | - | |
1085 | | - | |
1086 | | - | |
1087 | | - | |
1088 | | - | |
1089 | | - | |
1090 | | - | |
1091 | | - | |
1092 | | - | |
1093 | | - | |
1094 | | - | |
1095 | | - | |
1096 | | - | |
1097 | | - | |
1098 | 1053 | | |
1099 | 1054 | | |
1100 | 1055 | | |
| |||
1110 | 1065 | | |
1111 | 1066 | | |
1112 | 1067 | | |
1113 | | - | |
| 1068 | + | |
| 1069 | + | |
1114 | 1070 | | |
1115 | 1071 | | |
1116 | 1072 | | |
1117 | | - | |
1118 | | - | |
1119 | | - | |
| 1073 | + | |
| 1074 | + | |
| 1075 | + | |
| 1076 | + | |
| 1077 | + | |
| 1078 | + | |
1120 | 1079 | | |
1121 | | - | |
1122 | | - | |
1123 | | - | |
1124 | | - | |
1125 | | - | |
1126 | | - | |
| 1080 | + | |
1127 | 1081 | | |
1128 | 1082 | | |
1129 | 1083 | | |
| 1084 | + | |
| 1085 | + | |
| 1086 | + | |
| 1087 | + | |
1130 | 1088 | | |
1131 | 1089 | | |
1132 | 1090 | | |
| |||
1149 | 1107 | | |
1150 | 1108 | | |
1151 | 1109 | | |
1152 | | - | |
| 1110 | + | |
1153 | 1111 | | |
1154 | | - | |
| 1112 | + | |
1155 | 1113 | | |
1156 | 1114 | | |
1157 | 1115 | | |
| |||
1161 | 1119 | | |
1162 | 1120 | | |
1163 | 1121 | | |
1164 | | - | |
| 1122 | + | |
| 1123 | + | |
| 1124 | + | |
| 1125 | + | |
1165 | 1126 | | |
1166 | 1127 | | |
1167 | 1128 | | |
1168 | 1129 | | |
1169 | 1130 | | |
1170 | 1131 | | |
1171 | 1132 | | |
1172 | | - | |
1173 | | - | |
1174 | | - | |
1175 | | - | |
1176 | | - | |
1177 | | - | |
1178 | | - | |
1179 | | - | |
| 1133 | + | |
1180 | 1134 | | |
1181 | | - | |
1182 | | - | |
1183 | | - | |
1184 | | - | |
1185 | | - | |
1186 | | - | |
| 1135 | + | |
| 1136 | + | |
| 1137 | + | |
| 1138 | + | |
| 1139 | + | |
| 1140 | + | |
1187 | 1141 | | |
1188 | 1142 | | |
1189 | 1143 | | |
1190 | 1144 | | |
| 1145 | + | |
1191 | 1146 | | |
1192 | 1147 | | |
1193 | 1148 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
107 | 107 | | |
108 | 108 | | |
109 | 109 | | |
110 | | - | |
111 | | - | |
112 | | - | |
113 | | - | |
114 | 110 | | |
115 | 111 | | |
116 | 112 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
48 | 48 | | |
49 | 49 | | |
50 | 50 | | |
51 | | - | |
| 51 | + | |
52 | 52 | | |
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
58 | 58 | | |
59 | 59 | | |
60 | 60 | | |
61 | | - | |
| 61 | + | |
62 | 62 | | |
63 | 63 | | |
64 | | - | |
| 64 | + | |
65 | 65 | | |
66 | 66 | | |
67 | | - | |
| 67 | + | |
68 | 68 | | |
69 | 69 | | |
70 | 70 | | |
71 | | - | |
| 71 | + | |
72 | 72 | | |
73 | 73 | | |
74 | | - | |
| 74 | + | |
75 | 75 | | |
76 | 76 | | |
77 | 77 | | |
78 | 78 | | |
79 | | - | |
| 79 | + | |
80 | 80 | | |
81 | 81 | | |
82 | | - | |
| 82 | + | |
83 | 83 | | |
84 | 84 | | |
85 | | - | |
| 85 | + | |
86 | 86 | | |
87 | 87 | | |
88 | | - | |
| 88 | + | |
89 | 89 | | |
90 | 90 | | |
91 | 91 | | |
92 | 92 | | |
93 | | - | |
| 93 | + | |
94 | 94 | | |
95 | 95 | | |
96 | 96 | | |
97 | 97 | | |
98 | 98 | | |
99 | 99 | | |
100 | | - | |
101 | | - | |
| 100 | + | |
| 101 | + | |
102 | 102 | | |
103 | 103 | | |
104 | 104 | | |
105 | | - | |
| 105 | + | |
106 | 106 | | |
107 | | - | |
108 | | - | |
| 107 | + | |
| 108 | + | |
109 | 109 | | |
110 | | - | |
111 | | - | |
112 | | - | |
113 | | - | |
114 | | - | |
115 | | - | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
0 commit comments