Skip to content

Commit 51342f1

Browse files
committed
rustllvm: Remove conditional code for LLVM < 3.9
We bumped the minimum LLVM to 3.9 in #45326. This just cleans up the conditional code in the rustllvm C++ wrappers to assume at least 3.9.
1 parent bb42071 commit 51342f1

File tree

4 files changed

+1
-148
lines changed

4 files changed

+1
-148
lines changed

src/rustllvm/ArchiveWrapper.cpp

-49
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,7 @@ struct RustArchiveMember {
2424

2525
RustArchiveMember()
2626
: Filename(nullptr), Name(nullptr),
27-
#if LLVM_VERSION_GE(3, 8)
2827
Child(nullptr, nullptr, nullptr)
29-
#else
30-
Child(nullptr, nullptr)
31-
#endif
3228
{
3329
}
3430
~RustArchiveMember() {}
@@ -38,13 +34,9 @@ struct RustArchiveIterator {
3834
bool First;
3935
Archive::child_iterator Cur;
4036
Archive::child_iterator End;
41-
#if LLVM_VERSION_GE(3, 9)
4237
Error Err;
4338

4439
RustArchiveIterator() : First(true), Err(Error::success()) {}
45-
#else
46-
RustArchiveIterator() : First(true) {}
47-
#endif
4840
};
4941

5042
enum class LLVMRustArchiveKind {
@@ -84,19 +76,11 @@ extern "C" LLVMRustArchiveRef LLVMRustOpenArchive(char *Path) {
8476
return nullptr;
8577
}
8678

87-
#if LLVM_VERSION_LE(3, 8)
88-
ErrorOr<std::unique_ptr<Archive>> ArchiveOr =
89-
#else
9079
Expected<std::unique_ptr<Archive>> ArchiveOr =
91-
#endif
9280
Archive::create(BufOr.get()->getMemBufferRef());
9381

9482
if (!ArchiveOr) {
95-
#if LLVM_VERSION_LE(3, 8)
96-
LLVMRustSetLastError(ArchiveOr.getError().message().c_str());
97-
#else
9883
LLVMRustSetLastError(toString(ArchiveOr.takeError()).c_str());
99-
#endif
10084
return nullptr;
10185
}
10286

@@ -114,16 +98,12 @@ extern "C" LLVMRustArchiveIteratorRef
11498
LLVMRustArchiveIteratorNew(LLVMRustArchiveRef RustArchive) {
11599
Archive *Archive = RustArchive->getBinary();
116100
RustArchiveIterator *RAI = new RustArchiveIterator();
117-
#if LLVM_VERSION_LE(3, 8)
118-
RAI->Cur = Archive->child_begin();
119-
#else
120101
RAI->Cur = Archive->child_begin(RAI->Err);
121102
if (RAI->Err) {
122103
LLVMRustSetLastError(toString(std::move(RAI->Err)).c_str());
123104
delete RAI;
124105
return nullptr;
125106
}
126-
#endif
127107
RAI->End = Archive->child_end();
128108
return RAI;
129109
}
@@ -141,29 +121,18 @@ LLVMRustArchiveIteratorNext(LLVMRustArchiveIteratorRef RAI) {
141121
// but instead advance it *before* fetching the child in all later calls.
142122
if (!RAI->First) {
143123
++RAI->Cur;
144-
#if LLVM_VERSION_GE(3, 9)
145124
if (RAI->Err) {
146125
LLVMRustSetLastError(toString(std::move(RAI->Err)).c_str());
147126
return nullptr;
148127
}
149-
#endif
150128
} else {
151129
RAI->First = false;
152130
}
153131

154132
if (RAI->Cur == RAI->End)
155133
return nullptr;
156134

157-
#if LLVM_VERSION_EQ(3, 8)
158-
const ErrorOr<Archive::Child> *Cur = RAI->Cur.operator->();
159-
if (!*Cur) {
160-
LLVMRustSetLastError(Cur->getError().message().c_str());
161-
return nullptr;
162-
}
163-
const Archive::Child &Child = Cur->get();
164-
#else
165135
const Archive::Child &Child = *RAI->Cur.operator->();
166-
#endif
167136
Archive::Child *Ret = new Archive::Child(Child);
168137

169138
return Ret;
@@ -239,18 +208,13 @@ LLVMRustWriteArchive(char *Dst, size_t NumMembers,
239208
const LLVMRustArchiveMemberRef *NewMembers,
240209
bool WriteSymbtab, LLVMRustArchiveKind RustKind) {
241210

242-
#if LLVM_VERSION_LE(3, 8)
243-
std::vector<NewArchiveIterator> Members;
244-
#else
245211
std::vector<NewArchiveMember> Members;
246-
#endif
247212
auto Kind = fromRust(RustKind);
248213

249214
for (size_t I = 0; I < NumMembers; I++) {
250215
auto Member = NewMembers[I];
251216
assert(Member->Name);
252217
if (Member->Filename) {
253-
#if LLVM_VERSION_GE(3, 9)
254218
Expected<NewArchiveMember> MOrErr =
255219
NewArchiveMember::getFile(Member->Filename, true);
256220
if (!MOrErr) {
@@ -261,30 +225,17 @@ LLVMRustWriteArchive(char *Dst, size_t NumMembers,
261225
MOrErr->MemberName = sys::path::filename(MOrErr->MemberName);
262226
#endif
263227
Members.push_back(std::move(*MOrErr));
264-
#elif LLVM_VERSION_EQ(3, 8)
265-
Members.push_back(NewArchiveIterator(Member->Filename));
266-
#else
267-
Members.push_back(NewArchiveIterator(Member->Filename, Member->Name));
268-
#endif
269228
} else {
270-
#if LLVM_VERSION_LE(3, 8)
271-
Members.push_back(NewArchiveIterator(Member->Child, Member->Name));
272-
#else
273229
Expected<NewArchiveMember> MOrErr =
274230
NewArchiveMember::getOldMember(Member->Child, true);
275231
if (!MOrErr) {
276232
LLVMRustSetLastError(toString(MOrErr.takeError()).c_str());
277233
return LLVMRustResult::Failure;
278234
}
279235
Members.push_back(std::move(*MOrErr));
280-
#endif
281236
}
282237
}
283-
#if LLVM_VERSION_GE(3, 8)
284238
auto Pair = writeArchive(Dst, Members, WriteSymbtab, Kind, true, false);
285-
#else
286-
auto Pair = writeArchive(Dst, Members, WriteSymbtab, Kind, true);
287-
#endif
288239
if (!Pair.second)
289240
return LLVMRustResult::Success;
290241
LLVMRustSetLastError(Pair.second.message().c_str());

src/rustllvm/PassWrapper.cpp

-21
Original file line numberDiff line numberDiff line change
@@ -58,9 +58,6 @@ extern "C" void LLVMInitializePasses() {
5858
initializeVectorization(Registry);
5959
initializeIPO(Registry);
6060
initializeAnalysis(Registry);
61-
#if LLVM_VERSION_EQ(3, 7)
62-
initializeIPA(Registry);
63-
#endif
6461
initializeTransformUtils(Registry);
6562
initializeInstCombine(Registry);
6663
initializeInstrumentation(Registry);
@@ -272,18 +269,10 @@ enum class LLVMRustRelocMode {
272269
ROPIRWPI,
273270
};
274271

275-
#if LLVM_VERSION_LE(3, 8)
276-
static Reloc::Model fromRust(LLVMRustRelocMode RustReloc) {
277-
#else
278272
static Optional<Reloc::Model> fromRust(LLVMRustRelocMode RustReloc) {
279-
#endif
280273
switch (RustReloc) {
281274
case LLVMRustRelocMode::Default:
282-
#if LLVM_VERSION_LE(3, 8)
283-
return Reloc::Default;
284-
#else
285275
return None;
286-
#endif
287276
case LLVMRustRelocMode::Static:
288277
return Reloc::Static;
289278
case LLVMRustRelocMode::PIC:
@@ -389,9 +378,6 @@ extern "C" LLVMTargetMachineRef LLVMRustCreateTargetMachine(
389378
}
390379

391380
TargetOptions Options;
392-
#if LLVM_VERSION_LE(3, 8)
393-
Options.PositionIndependentExecutable = PositionIndependentExecutable;
394-
#endif
395381

396382
Options.FloatABIType = FloatABI::Default;
397383
if (UseSoftFloat) {
@@ -719,10 +705,6 @@ extern "C" void LLVMRustRunRestrictionPass(LLVMModuleRef M, char **Symbols,
719705
size_t Len) {
720706
llvm::legacy::PassManager passes;
721707

722-
#if LLVM_VERSION_LE(3, 8)
723-
ArrayRef<const char *> Ref(Symbols, Len);
724-
passes.add(llvm::createInternalizePass(Ref));
725-
#else
726708
auto PreserveFunctions = [=](const GlobalValue &GV) {
727709
for (size_t I = 0; I < Len; I++) {
728710
if (GV.getName() == Symbols[I]) {
@@ -733,7 +715,6 @@ extern "C" void LLVMRustRunRestrictionPass(LLVMModuleRef M, char **Symbols,
733715
};
734716

735717
passes.add(llvm::createInternalizePass(PreserveFunctions));
736-
#endif
737718

738719
passes.run(*unwrap(M));
739720
}
@@ -769,9 +750,7 @@ extern "C" LLVMTargetDataRef LLVMRustGetModuleDataLayout(LLVMModuleRef M) {
769750
}
770751

771752
extern "C" void LLVMRustSetModulePIELevel(LLVMModuleRef M) {
772-
#if LLVM_VERSION_GE(3, 9)
773753
unwrap(M)->setPIELevel(PIELevel::Level::Large);
774-
#endif
775754
}
776755

777756
extern "C" bool

0 commit comments

Comments
 (0)