Skip to content
This repository was archived by the owner on Mar 28, 2020. It is now read-only.

Commit cb24407

Browse files
author
Quentin Colombet
committed
Revert "[AArch64][LegalizerInfo] Specify the type of the initialization list."
This reverts commit r293238. Even with that the win7 bot is still failing: http://lab.llvm.org:8011/builders/lld-x86_64-win7/builds/3862 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@293245 91177308-0d34-0410-b5e6-96231b3b80d8
1 parent 3e363a8 commit cb24407

File tree

1 file changed

+70
-76
lines changed

1 file changed

+70
-76
lines changed

lib/Target/AArch64/AArch64LegalizerInfo.cpp

Lines changed: 70 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -40,179 +40,173 @@ AArch64LegalizerInfo::AArch64LegalizerInfo() {
4040
// These operations naturally get the right answer when used on
4141
// GPR32, even if the actual type is narrower.
4242
for (auto Ty : {s32, s64, v2s32, v4s32, v2s64})
43-
setAction(InstrAspect{BinOp, Ty}, Legal);
43+
setAction({BinOp, Ty}, Legal);
4444

4545
for (auto Ty : {s1, s8, s16})
46-
setAction(InstrAspect{BinOp, Ty}, WidenScalar);
46+
setAction({BinOp, Ty}, WidenScalar);
4747
}
4848

49-
setAction(InstrAspect{G_GEP, p0}, Legal);
50-
setAction(InstrAspect{G_GEP, 1, s64}, Legal);
49+
setAction({G_GEP, p0}, Legal);
50+
setAction({G_GEP, 1, s64}, Legal);
5151

5252
for (auto Ty : {s1, s8, s16, s32})
53-
setAction(InstrAspect{G_GEP, 1, Ty}, WidenScalar);
53+
setAction({G_GEP, 1, Ty}, WidenScalar);
5454

5555
for (auto BinOp : {G_LSHR, G_ASHR, G_SDIV, G_UDIV}) {
5656
for (auto Ty : {s32, s64})
57-
setAction(InstrAspect{BinOp, Ty}, Legal);
57+
setAction({BinOp, Ty}, Legal);
5858

5959
for (auto Ty : {s1, s8, s16})
60-
setAction(InstrAspect{BinOp, Ty}, WidenScalar);
60+
setAction({BinOp, Ty}, WidenScalar);
6161
}
6262

6363
for (auto BinOp : { G_SREM, G_UREM })
6464
for (auto Ty : { s1, s8, s16, s32, s64 })
65-
setAction(InstrAspect{BinOp, Ty}, Lower);
65+
setAction({BinOp, Ty}, Lower);
6666

6767
for (auto Op : { G_UADDE, G_USUBE, G_SADDO, G_SSUBO, G_SMULO, G_UMULO }) {
6868
for (auto Ty : { s32, s64 })
69-
setAction(InstrAspect{Op, Ty}, Legal);
69+
setAction({Op, Ty}, Legal);
7070

71-
setAction(InstrAspect{Op, 1, s1}, Legal);
71+
setAction({Op, 1, s1}, Legal);
7272
}
7373

7474
for (auto BinOp : {G_FADD, G_FSUB, G_FMUL, G_FDIV})
7575
for (auto Ty : {s32, s64})
76-
setAction(InstrAspect{BinOp, Ty}, Legal);
76+
setAction({BinOp, Ty}, Legal);
7777

78-
setAction(InstrAspect{G_FREM, s32}, Libcall);
79-
setAction(InstrAspect{G_FREM, s64}, Libcall);
78+
setAction({G_FREM, s32}, Libcall);
79+
setAction({G_FREM, s64}, Libcall);
8080

8181
for (auto MemOp : {G_LOAD, G_STORE}) {
8282
for (auto Ty : {s8, s16, s32, s64, p0, v2s32})
83-
setAction(InstrAspect{MemOp, Ty}, Legal);
83+
setAction({MemOp, Ty}, Legal);
8484

85-
setAction(InstrAspect{MemOp, s1}, WidenScalar);
85+
setAction({MemOp, s1}, WidenScalar);
8686

8787
// And everything's fine in addrspace 0.
88-
setAction(InstrAspect{MemOp, 1, p0}, Legal);
88+
setAction({MemOp, 1, p0}, Legal);
8989
}
9090

9191
// Constants
9292
for (auto Ty : {s32, s64}) {
93-
setAction(InstrAspect{TargetOpcode::G_CONSTANT, Ty}, Legal);
94-
setAction(InstrAspect{TargetOpcode::G_FCONSTANT, Ty}, Legal);
93+
setAction({TargetOpcode::G_CONSTANT, Ty}, Legal);
94+
setAction({TargetOpcode::G_FCONSTANT, Ty}, Legal);
9595
}
9696

97-
setAction(InstrAspect{G_CONSTANT, p0}, Legal);
97+
setAction({G_CONSTANT, p0}, Legal);
9898

9999
for (auto Ty : {s1, s8, s16})
100-
setAction(InstrAspect{TargetOpcode::G_CONSTANT, Ty}, WidenScalar);
100+
setAction({TargetOpcode::G_CONSTANT, Ty}, WidenScalar);
101101

102-
setAction(InstrAspect{TargetOpcode::G_FCONSTANT, s16}, WidenScalar);
102+
setAction({TargetOpcode::G_FCONSTANT, s16}, WidenScalar);
103103

104-
setAction(InstrAspect{G_ICMP, s1}, Legal);
105-
setAction(InstrAspect{G_ICMP, 1, s32}, Legal);
106-
setAction(InstrAspect{G_ICMP, 1, s64}, Legal);
107-
setAction(InstrAspect{G_ICMP, 1, p0}, Legal);
104+
setAction({G_ICMP, s1}, Legal);
105+
setAction({G_ICMP, 1, s32}, Legal);
106+
setAction({G_ICMP, 1, s64}, Legal);
107+
setAction({G_ICMP, 1, p0}, Legal);
108108

109109
for (auto Ty : {s1, s8, s16}) {
110-
setAction(InstrAspect{G_ICMP, 1, Ty}, WidenScalar);
110+
setAction({G_ICMP, 1, Ty}, WidenScalar);
111111
}
112112

113-
setAction(InstrAspect{G_FCMP, s1}, Legal);
114-
setAction(InstrAspect{G_FCMP, 1, s32}, Legal);
115-
setAction(InstrAspect{G_FCMP, 1, s64}, Legal);
113+
setAction({G_FCMP, s1}, Legal);
114+
setAction({G_FCMP, 1, s32}, Legal);
115+
setAction({G_FCMP, 1, s64}, Legal);
116116

117117
// Extensions
118118
for (auto Ty : { s1, s8, s16, s32, s64 }) {
119-
setAction(InstrAspect{G_ZEXT, Ty}, Legal);
120-
setAction(InstrAspect{G_SEXT, Ty}, Legal);
121-
setAction(InstrAspect{G_ANYEXT, Ty}, Legal);
119+
setAction({G_ZEXT, Ty}, Legal);
120+
setAction({G_SEXT, Ty}, Legal);
121+
setAction({G_ANYEXT, Ty}, Legal);
122122
}
123123

124124
for (auto Ty : { s1, s8, s16, s32 }) {
125-
setAction(InstrAspect{G_ZEXT, 1, Ty}, Legal);
126-
setAction(InstrAspect{G_SEXT, 1, Ty}, Legal);
127-
setAction(InstrAspect{G_ANYEXT, 1, Ty}, Legal);
125+
setAction({G_ZEXT, 1, Ty}, Legal);
126+
setAction({G_SEXT, 1, Ty}, Legal);
127+
setAction({G_ANYEXT, 1, Ty}, Legal);
128128
}
129129

130-
setAction(InstrAspect{G_FPEXT, s64}, Legal);
131-
setAction(InstrAspect{G_FPEXT, 1, s32}, Legal);
130+
setAction({G_FPEXT, s64}, Legal);
131+
setAction({G_FPEXT, 1, s32}, Legal);
132132

133133
// Truncations
134134
for (auto Ty : { s16, s32 })
135-
setAction(InstrAspect{G_FPTRUNC, Ty}, Legal);
135+
setAction({G_FPTRUNC, Ty}, Legal);
136136

137137
for (auto Ty : { s32, s64 })
138-
setAction(InstrAspect{G_FPTRUNC, 1, Ty}, Legal);
138+
setAction({G_FPTRUNC, 1, Ty}, Legal);
139139

140140
for (auto Ty : { s1, s8, s16, s32 })
141-
setAction(InstrAspect{G_TRUNC, Ty}, Legal);
141+
setAction({G_TRUNC, Ty}, Legal);
142142

143143
for (auto Ty : { s8, s16, s32, s64 })
144-
setAction(InstrAspect{G_TRUNC, 1, Ty}, Legal);
144+
setAction({G_TRUNC, 1, Ty}, Legal);
145145

146146
// Conversions
147147
for (auto Ty : { s32, s64 }) {
148-
setAction(InstrAspect{G_FPTOSI, 0, Ty}, Legal);
149-
setAction(InstrAspect{G_FPTOUI, 0, Ty}, Legal);
150-
setAction(InstrAspect{G_SITOFP, 1, Ty}, Legal);
151-
setAction(InstrAspect{G_UITOFP, 1, Ty}, Legal);
148+
setAction({G_FPTOSI, 0, Ty}, Legal);
149+
setAction({G_FPTOUI, 0, Ty}, Legal);
150+
setAction({G_SITOFP, 1, Ty}, Legal);
151+
setAction({G_UITOFP, 1, Ty}, Legal);
152152
}
153153
for (auto Ty : { s1, s8, s16 }) {
154-
setAction(InstrAspect{G_FPTOSI, 0, Ty}, WidenScalar);
155-
setAction(InstrAspect{G_FPTOUI, 0, Ty}, WidenScalar);
156-
setAction(InstrAspect{G_SITOFP, 1, Ty}, WidenScalar);
157-
setAction(InstrAspect{G_UITOFP, 1, Ty}, WidenScalar);
154+
setAction({G_FPTOSI, 0, Ty}, WidenScalar);
155+
setAction({G_FPTOUI, 0, Ty}, WidenScalar);
156+
setAction({G_SITOFP, 1, Ty}, WidenScalar);
157+
setAction({G_UITOFP, 1, Ty}, WidenScalar);
158158
}
159159

160160
for (auto Ty : { s32, s64 }) {
161-
setAction(InstrAspect{G_FPTOSI, 1, Ty}, Legal);
162-
setAction(InstrAspect{G_FPTOUI, 1, Ty}, Legal);
163-
setAction(InstrAspect{G_SITOFP, 0, Ty}, Legal);
164-
setAction(InstrAspect{G_UITOFP, 0, Ty}, Legal);
161+
setAction({G_FPTOSI, 1, Ty}, Legal);
162+
setAction({G_FPTOUI, 1, Ty}, Legal);
163+
setAction({G_SITOFP, 0, Ty}, Legal);
164+
setAction({G_UITOFP, 0, Ty}, Legal);
165165
}
166166

167167
// Control-flow
168168
for (auto Ty : {s1, s8, s16, s32})
169-
setAction(InstrAspect{G_BRCOND, Ty}, Legal);
169+
setAction({G_BRCOND, Ty}, Legal);
170170

171171
// Select
172172
for (auto Ty : {s1, s8, s16, s32, s64, p0})
173-
setAction(InstrAspect{G_SELECT, Ty}, Legal);
173+
setAction({G_SELECT, Ty}, Legal);
174174

175-
setAction(InstrAspect{G_SELECT, 1, s1}, Legal);
175+
setAction({G_SELECT, 1, s1}, Legal);
176176

177177
// Pointer-handling
178-
setAction(InstrAspect{G_FRAME_INDEX, p0}, Legal);
179-
setAction(InstrAspect{G_GLOBAL_VALUE, p0}, Legal);
178+
setAction({G_FRAME_INDEX, p0}, Legal);
179+
setAction({G_GLOBAL_VALUE, p0}, Legal);
180180

181181
for (auto Ty : {s1, s8, s16, s32, s64})
182-
setAction(InstrAspect{G_PTRTOINT, 0, Ty}, Legal);
182+
setAction({G_PTRTOINT, 0, Ty}, Legal);
183183

184-
setAction(InstrAspect{G_PTRTOINT, 1, p0}, Legal);
184+
setAction({G_PTRTOINT, 1, p0}, Legal);
185185

186-
setAction(InstrAspect{G_INTTOPTR, 0, p0}, Legal);
187-
setAction(InstrAspect{G_INTTOPTR, 1, s64}, Legal);
186+
setAction({G_INTTOPTR, 0, p0}, Legal);
187+
setAction({G_INTTOPTR, 1, s64}, Legal);
188188

189189
// Casts for 32 and 64-bit width type are just copies.
190190
for (auto Ty : {s1, s8, s16, s32, s64}) {
191-
setAction(InstrAspect{G_BITCAST, 0, Ty}, Legal);
192-
setAction(InstrAspect{G_BITCAST, 1, Ty}, Legal);
191+
setAction({G_BITCAST, 0, Ty}, Legal);
192+
setAction({G_BITCAST, 1, Ty}, Legal);
193193
}
194194

195195
// For the sake of copying bits around, the type does not really
196196
// matter as long as it fits a register.
197197
for (int EltSize = 8; EltSize <= 64; EltSize *= 2) {
198-
setAction(InstrAspect{G_BITCAST, 0, LLT::vector(128 / EltSize, EltSize)},
199-
Legal);
200-
setAction(InstrAspect{G_BITCAST, 1, LLT::vector(128 / EltSize, EltSize)},
201-
Legal);
198+
setAction({G_BITCAST, 0, LLT::vector(128/EltSize, EltSize)}, Legal);
199+
setAction({G_BITCAST, 1, LLT::vector(128/EltSize, EltSize)}, Legal);
202200
if (EltSize >= 64)
203201
continue;
204202

205-
setAction(InstrAspect{G_BITCAST, 0, LLT::vector(64 / EltSize, EltSize)},
206-
Legal);
207-
setAction(InstrAspect{G_BITCAST, 1, LLT::vector(64 / EltSize, EltSize)},
208-
Legal);
203+
setAction({G_BITCAST, 0, LLT::vector(64/EltSize, EltSize)}, Legal);
204+
setAction({G_BITCAST, 1, LLT::vector(64/EltSize, EltSize)}, Legal);
209205
if (EltSize >= 32)
210206
continue;
211207

212-
setAction(InstrAspect{G_BITCAST, 0, LLT::vector(32 / EltSize, EltSize)},
213-
Legal);
214-
setAction(InstrAspect{G_BITCAST, 1, LLT::vector(32 / EltSize, EltSize)},
215-
Legal);
208+
setAction({G_BITCAST, 0, LLT::vector(32/EltSize, EltSize)}, Legal);
209+
setAction({G_BITCAST, 1, LLT::vector(32/EltSize, EltSize)}, Legal);
216210
}
217211

218212
computeTables();

0 commit comments

Comments
 (0)