Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 8506bb0

Browse files
committedApr 14, 2020
Update the minimum external LLVM to 8
LLVM 8 was released on March 20, 2019, over a year ago.
1 parent ba72b15 commit 8506bb0

30 files changed

+67
-195
lines changed
 

‎.github/workflows/ci.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,13 +36,13 @@ jobs:
3636
matrix:
3737
name:
3838
- mingw-check
39-
- x86_64-gnu-llvm-7
39+
- x86_64-gnu-llvm-8
4040
- x86_64-gnu-tools
4141
include:
4242
- name: mingw-check
4343
os: ubuntu-latest-xl
4444
env: {}
45-
- name: x86_64-gnu-llvm-7
45+
- name: x86_64-gnu-llvm-8
4646
os: ubuntu-latest-xl
4747
env: {}
4848
- name: x86_64-gnu-tools
@@ -352,7 +352,7 @@ jobs:
352352
- x86_64-gnu-debug
353353
- x86_64-gnu-distcheck
354354
- x86_64-gnu-full-bootstrap
355-
- x86_64-gnu-llvm-7
355+
- x86_64-gnu-llvm-8
356356
- x86_64-gnu-nopt
357357
- x86_64-gnu-tools
358358
- x86_64-mingw-1
@@ -469,7 +469,7 @@ jobs:
469469
- name: x86_64-gnu-full-bootstrap
470470
os: ubuntu-latest-xl
471471
env: {}
472-
- name: x86_64-gnu-llvm-7
472+
- name: x86_64-gnu-llvm-8
473473
env:
474474
RUST_BACKTRACE: 1
475475
os: ubuntu-latest-xl

‎src/bootstrap/native.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -289,11 +289,11 @@ fn check_llvm_version(builder: &Builder<'_>, llvm_config: &Path) {
289289
let version = output(cmd.arg("--version"));
290290
let mut parts = version.split('.').take(2).filter_map(|s| s.parse::<u32>().ok());
291291
if let (Some(major), Some(_minor)) = (parts.next(), parts.next()) {
292-
if major >= 7 {
292+
if major >= 8 {
293293
return;
294294
}
295295
}
296-
panic!("\n\nbad LLVM version: {}, need >=7.0\n\n", version)
296+
panic!("\n\nbad LLVM version: {}, need >=8.0\n\n", version)
297297
}
298298

299299
fn configure_cmake(

‎src/ci/azure-pipelines/auto.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ jobs:
2929
- template: steps/run.yml
3030
strategy:
3131
matrix:
32-
x86_64-gnu-llvm-7:
32+
x86_64-gnu-llvm-8:
3333
RUST_BACKTRACE: 1
3434
dist-x86_64-linux: {}
3535
dist-x86_64-linux-alt:

‎src/ci/azure-pipelines/pr.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ jobs:
2929
- template: steps/run.yml
3030
strategy:
3131
matrix:
32-
x86_64-gnu-llvm-7: {}
32+
x86_64-gnu-llvm-8: {}
3333
mingw-check: {}
3434
x86_64-gnu-tools:
3535
CI_ONLY_WHEN_SUBMODULES_CHANGED: 1

‎src/ci/docker/x86_64-gnu-llvm-7/Dockerfile renamed to ‎src/ci/docker/x86_64-gnu-llvm-8/Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
1212
cmake \
1313
sudo \
1414
gdb \
15-
llvm-7-tools \
15+
llvm-8-tools \
1616
libedit-dev \
1717
libssl-dev \
1818
pkg-config \
@@ -26,7 +26,7 @@ RUN sh /scripts/sccache.sh
2626
# using llvm-link-shared due to libffi issues -- see #34486
2727
ENV RUST_CONFIGURE_ARGS \
2828
--build=x86_64-unknown-linux-gnu \
29-
--llvm-root=/usr/lib/llvm-7 \
29+
--llvm-root=/usr/lib/llvm-8 \
3030
--enable-llvm-link-shared \
3131
--set rust.thin-lto-import-instr-limit=10
3232

‎src/ci/github-actions/ci.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -259,13 +259,13 @@ jobs:
259259
matrix:
260260
name:
261261
- mingw-check
262-
- x86_64-gnu-llvm-7
262+
- x86_64-gnu-llvm-8
263263
- x86_64-gnu-tools
264264
include:
265265
- name: mingw-check
266266
<<: *job-linux-xl
267267

268-
- name: x86_64-gnu-llvm-7
268+
- name: x86_64-gnu-llvm-8
269269
<<: *job-linux-xl
270270

271271
- name: x86_64-gnu-tools
@@ -349,7 +349,7 @@ jobs:
349349
- x86_64-gnu-debug
350350
- x86_64-gnu-distcheck
351351
- x86_64-gnu-full-bootstrap
352-
- x86_64-gnu-llvm-7
352+
- x86_64-gnu-llvm-8
353353
- x86_64-gnu-nopt
354354
- x86_64-gnu-tools
355355
- x86_64-mingw-1
@@ -471,7 +471,7 @@ jobs:
471471
- name: x86_64-gnu-full-bootstrap
472472
<<: *job-linux-xl
473473

474-
- name: x86_64-gnu-llvm-7
474+
- name: x86_64-gnu-llvm-8
475475
env:
476476
RUST_BACKTRACE: 1
477477
<<: *job-linux-xl

‎src/librustc_codegen_llvm/attributes.rs

Lines changed: 6 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -82,21 +82,12 @@ fn naked(val: &'ll Value, is_naked: bool) {
8282

8383
pub fn set_frame_pointer_elimination(cx: &CodegenCx<'ll, '_>, llfn: &'ll Value) {
8484
if cx.sess().must_not_eliminate_frame_pointers() {
85-
if llvm_util::get_major_version() >= 8 {
86-
llvm::AddFunctionAttrStringValue(
87-
llfn,
88-
llvm::AttributePlace::Function,
89-
const_cstr!("frame-pointer"),
90-
const_cstr!("all"),
91-
);
92-
} else {
93-
llvm::AddFunctionAttrStringValue(
94-
llfn,
95-
llvm::AttributePlace::Function,
96-
const_cstr!("no-frame-pointer-elim"),
97-
const_cstr!("true"),
98-
);
99-
}
85+
llvm::AddFunctionAttrStringValue(
86+
llfn,
87+
llvm::AttributePlace::Function,
88+
const_cstr!("frame-pointer"),
89+
const_cstr!("all"),
90+
);
10091
}
10192
}
10293

‎src/librustc_codegen_llvm/debuginfo/metadata.rs

Lines changed: 3 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ use crate::llvm::debuginfo::{
1616
DIArray, DICompositeType, DIDescriptor, DIFile, DIFlags, DILexicalBlock, DIScope, DIType,
1717
DebugEmissionKind,
1818
};
19-
use crate::llvm_util;
2019
use crate::value::Value;
2120

2221
use log::debug;
@@ -1289,22 +1288,11 @@ fn prepare_union_metadata(
12891288
// Enums
12901289
//=-----------------------------------------------------------------------------
12911290

1292-
/// DWARF variant support is only available starting in LLVM 8.
1293-
/// Although the earlier enum debug info output did not work properly
1294-
/// in all situations, it is better for the time being to continue to
1295-
/// sometimes emit the old style rather than emit something completely
1296-
/// useless when rust is compiled against LLVM 6 or older. LLVM 7
1297-
/// contains an early version of the DWARF variant support, and will
1298-
/// crash when handling the new debug info format. This function
1299-
/// decides which representation will be emitted.
1291+
/// DWARF variant support is only available starting in LLVM 8, but
1292+
/// on MSVC we have to use the fallback mode, because LLVM doesn't
1293+
/// lower variant parts to PDB.
13001294
fn use_enum_fallback(cx: &CodegenCx<'_, '_>) -> bool {
1301-
// On MSVC we have to use the fallback mode, because LLVM doesn't
1302-
// lower variant parts to PDB.
13031295
cx.sess().target.target.options.is_like_msvc
1304-
// LLVM version 7 did not release with an important bug fix;
1305-
// but the required patch is in the LLVM 8. Rust LLVM reports
1306-
// 8 as well.
1307-
|| llvm_util::get_major_version() < 8
13081296
}
13091297

13101298
// FIXME(eddyb) maybe precompute this? Right now it's computed once

‎src/librustc_codegen_llvm/intrinsic.rs

Lines changed: 9 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ use crate::abi::{Abi, FnAbi, LlvmType, PassMode};
22
use crate::builder::Builder;
33
use crate::context::CodegenCx;
44
use crate::llvm;
5-
use crate::llvm_util;
65
use crate::type_::Type;
76
use crate::type_of::LayoutLlvmExt;
87
use crate::va_arg::emit_va_arg;
@@ -11,7 +10,7 @@ use crate::value::Value;
1110
use rustc_ast::ast;
1211
use rustc_codegen_ssa::base::{compare_simd_types, to_immediate, wants_msvc_seh};
1312
use rustc_codegen_ssa::common::span_invalid_monomorphization_error;
14-
use rustc_codegen_ssa::common::{IntPredicate, TypeKind};
13+
use rustc_codegen_ssa::common::TypeKind;
1514
use rustc_codegen_ssa::glue;
1615
use rustc_codegen_ssa::mir::operand::{OperandRef, OperandValue};
1716
use rustc_codegen_ssa::mir::place::PlaceRef;
@@ -461,46 +460,14 @@ impl IntrinsicCallMethods<'tcx> for Builder<'a, 'll, 'tcx> {
461460
let is_add = name == "saturating_add";
462461
let lhs = args[0].immediate();
463462
let rhs = args[1].immediate();
464-
if llvm_util::get_major_version() >= 8 {
465-
let llvm_name = &format!(
466-
"llvm.{}{}.sat.i{}",
467-
if signed { 's' } else { 'u' },
468-
if is_add { "add" } else { "sub" },
469-
width
470-
);
471-
let llfn = self.get_intrinsic(llvm_name);
472-
self.call(llfn, &[lhs, rhs], None)
473-
} else {
474-
let llvm_name = &format!(
475-
"llvm.{}{}.with.overflow.i{}",
476-
if signed { 's' } else { 'u' },
477-
if is_add { "add" } else { "sub" },
478-
width
479-
);
480-
let llfn = self.get_intrinsic(llvm_name);
481-
let pair = self.call(llfn, &[lhs, rhs], None);
482-
let val = self.extract_value(pair, 0);
483-
let overflow = self.extract_value(pair, 1);
484-
let llty = self.type_ix(width);
485-
486-
let limit = if signed {
487-
let limit_lo = self
488-
.const_uint_big(llty, (i128::MIN >> (128 - width)) as u128);
489-
let limit_hi = self
490-
.const_uint_big(llty, (i128::MAX >> (128 - width)) as u128);
491-
let neg = self.icmp(
492-
IntPredicate::IntSLT,
493-
val,
494-
self.const_uint(llty, 0),
495-
);
496-
self.select(neg, limit_hi, limit_lo)
497-
} else if is_add {
498-
self.const_uint_big(llty, u128::MAX >> (128 - width))
499-
} else {
500-
self.const_uint(llty, 0)
501-
};
502-
self.select(overflow, limit, val)
503-
}
463+
let llvm_name = &format!(
464+
"llvm.{}{}.sat.i{}",
465+
if signed { 's' } else { 'u' },
466+
if is_add { "add" } else { "sub" },
467+
width
468+
);
469+
let llfn = self.get_intrinsic(llvm_name);
470+
self.call(llfn, &[lhs, rhs], None)
504471
}
505472
_ => bug!(),
506473
},

‎src/librustc_codegen_llvm/llvm_util.rs

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -83,17 +83,15 @@ unsafe fn configure_llvm(sess: &Session) {
8383
if !sess.opts.debugging_opts.no_generate_arange_section {
8484
add("-generate-arange-section", false);
8585
}
86-
if get_major_version() >= 8 {
87-
match sess
88-
.opts
89-
.debugging_opts
90-
.merge_functions
91-
.unwrap_or(sess.target.target.options.merge_functions)
92-
{
93-
MergeFunctions::Disabled | MergeFunctions::Trampolines => {}
94-
MergeFunctions::Aliases => {
95-
add("-mergefunc-use-aliases", false);
96-
}
86+
match sess
87+
.opts
88+
.debugging_opts
89+
.merge_functions
90+
.unwrap_or(sess.target.target.options.merge_functions)
91+
{
92+
MergeFunctions::Disabled | MergeFunctions::Trampolines => {}
93+
MergeFunctions::Aliases => {
94+
add("-mergefunc-use-aliases", false);
9795
}
9896
}
9997

‎src/rustllvm/PassWrapper.cpp

Lines changed: 2 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,8 @@
3333
#include "llvm/Transforms/Instrumentation/AddressSanitizer.h"
3434
#include "llvm/Support/TimeProfiler.h"
3535
#endif
36-
#if LLVM_VERSION_GE(8, 0)
3736
#include "llvm/Transforms/Instrumentation/ThreadSanitizer.h"
3837
#include "llvm/Transforms/Instrumentation/MemorySanitizer.h"
39-
#endif
4038
#if LLVM_VERSION_GE(9, 0)
4139
#include "llvm/Transforms/Utils/CanonicalizeAliases.h"
4240
#endif
@@ -138,19 +136,13 @@ extern "C" LLVMPassRef LLVMRustCreateMemorySanitizerPass(int TrackOrigins, bool
138136

139137
return wrap(createMemorySanitizerLegacyPassPass(
140138
MemorySanitizerOptions{TrackOrigins, Recover, CompileKernel}));
141-
#elif LLVM_VERSION_GE(8, 0)
142-
return wrap(createMemorySanitizerLegacyPassPass(TrackOrigins, Recover));
143139
#else
144-
return wrap(createMemorySanitizerPass(TrackOrigins, Recover));
140+
return wrap(createMemorySanitizerLegacyPassPass(TrackOrigins, Recover));
145141
#endif
146142
}
147143

148144
extern "C" LLVMPassRef LLVMRustCreateThreadSanitizerPass() {
149-
#if LLVM_VERSION_GE(8, 0)
150145
return wrap(createThreadSanitizerLegacyPassPass());
151-
#else
152-
return wrap(createThreadSanitizerPass());
153-
#endif
154146
}
155147

156148
extern "C" LLVMRustPassKind LLVMRustPassKind(LLVMPassRef RustPass) {
@@ -1236,15 +1228,11 @@ LLVMRustCreateThinLTOData(LLVMRustThinLTOModule *modules,
12361228
auto deadIsPrevailing = [&](GlobalValue::GUID G) {
12371229
return PrevailingType::Unknown;
12381230
};
1239-
#if LLVM_VERSION_GE(8, 0)
12401231
// We don't have a complete picture in our use of ThinLTO, just our immediate
12411232
// crate, so we need `ImportEnabled = false` to limit internalization.
12421233
// Otherwise, we sometimes lose `static` values -- see #60184.
12431234
computeDeadSymbolsWithConstProp(Ret->Index, Ret->GUIDPreservedSymbols,
12441235
deadIsPrevailing, /* ImportEnabled = */ false);
1245-
#else
1246-
computeDeadSymbols(Ret->Index, Ret->GUIDPreservedSymbols, deadIsPrevailing);
1247-
#endif
12481236
ComputeCrossModuleImport(
12491237
Ret->Index,
12501238
Ret->ModuleToDefinedGVSummaries,
@@ -1277,10 +1265,8 @@ LLVMRustCreateThinLTOData(LLVMRustThinLTOModule *modules,
12771265
#if LLVM_VERSION_GE(9, 0)
12781266
thinLTOResolvePrevailingInIndex(Ret->Index, isPrevailing, recordNewLinkage,
12791267
Ret->GUIDPreservedSymbols);
1280-
#elif LLVM_VERSION_GE(8, 0)
1281-
thinLTOResolvePrevailingInIndex(Ret->Index, isPrevailing, recordNewLinkage);
12821268
#else
1283-
thinLTOResolveWeakForLinkerInIndex(Ret->Index, isPrevailing, recordNewLinkage);
1269+
thinLTOResolvePrevailingInIndex(Ret->Index, isPrevailing, recordNewLinkage);
12841270
#endif
12851271

12861272
// Here we calculate an `ExportedGUIDs` set for use in the `isExported`
@@ -1346,11 +1332,7 @@ extern "C" bool
13461332
LLVMRustPrepareThinLTOResolveWeak(const LLVMRustThinLTOData *Data, LLVMModuleRef M) {
13471333
Module &Mod = *unwrap(M);
13481334
const auto &DefinedGlobals = Data->ModuleToDefinedGVSummaries.lookup(Mod.getModuleIdentifier());
1349-
#if LLVM_VERSION_GE(8, 0)
13501335
thinLTOResolvePrevailingInModule(Mod, DefinedGlobals);
1351-
#else
1352-
thinLTOResolveWeakForLinkerModule(Mod, DefinedGlobals);
1353-
#endif
13541336
return true;
13551337
}
13561338

‎src/rustllvm/RustWrapper.cpp

Lines changed: 0 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -586,7 +586,6 @@ inline LLVMRustDISPFlags virtuality(LLVMRustDISPFlags F) {
586586
return static_cast<LLVMRustDISPFlags>(static_cast<uint32_t>(F) & 0x3);
587587
}
588588

589-
#if LLVM_VERSION_GE(8, 0)
590589
static DISubprogram::DISPFlags fromRust(LLVMRustDISPFlags SPFlags) {
591590
DISubprogram::DISPFlags Result = DISubprogram::DISPFlags::SPFlagZero;
592591

@@ -619,7 +618,6 @@ static DISubprogram::DISPFlags fromRust(LLVMRustDISPFlags SPFlags) {
619618

620619
return Result;
621620
}
622-
#endif
623621

624622
enum class LLVMRustDebugEmissionKind {
625623
NoDebug,
@@ -734,7 +732,6 @@ extern "C" LLVMMetadataRef LLVMRustDIBuilderCreateFunction(
734732
LLVMMetadataRef Decl) {
735733
DITemplateParameterArray TParams =
736734
DITemplateParameterArray(unwrap<MDTuple>(TParam));
737-
#if LLVM_VERSION_GE(8, 0)
738735
DISubprogram::DISPFlags llvmSPFlags = fromRust(SPFlags);
739736
DINode::DIFlags llvmFlags = fromRust(Flags);
740737
#if LLVM_VERSION_LT(9, 0)
@@ -748,22 +745,6 @@ extern "C" LLVMMetadataRef LLVMRustDIBuilderCreateFunction(
748745
unwrapDI<DIFile>(File), LineNo,
749746
unwrapDI<DISubroutineType>(Ty), ScopeLine, llvmFlags,
750747
llvmSPFlags, TParams, unwrapDIPtr<DISubprogram>(Decl));
751-
#else
752-
bool IsLocalToUnit = isSet(SPFlags & LLVMRustDISPFlags::SPFlagLocalToUnit);
753-
bool IsDefinition = isSet(SPFlags & LLVMRustDISPFlags::SPFlagDefinition);
754-
bool IsOptimized = isSet(SPFlags & LLVMRustDISPFlags::SPFlagOptimized);
755-
DINode::DIFlags llvmFlags = fromRust(Flags);
756-
if (isSet(SPFlags & LLVMRustDISPFlags::SPFlagMainSubprogram))
757-
llvmFlags |= DINode::DIFlags::FlagMainSubprogram;
758-
DISubprogram *Sub = Builder->createFunction(
759-
unwrapDI<DIScope>(Scope),
760-
StringRef(Name, NameLen),
761-
StringRef(LinkageName, LinkageNameLen),
762-
unwrapDI<DIFile>(File), LineNo,
763-
unwrapDI<DISubroutineType>(Ty), IsLocalToUnit, IsDefinition,
764-
ScopeLine, llvmFlags, IsOptimized, TParams,
765-
unwrapDIPtr<DISubprogram>(Decl));
766-
#endif
767748
unwrap<Function>(Fn)->setSubprogram(Sub);
768749
return wrap(Sub);
769750
}
@@ -884,9 +865,7 @@ extern "C" LLVMMetadataRef LLVMRustDIBuilderCreateStaticVariable(
884865
/* isDefined */ true,
885866
#endif
886867
InitExpr, unwrapDIPtr<MDNode>(Decl),
887-
#if LLVM_VERSION_GE(8, 0)
888868
/* templateParams */ nullptr,
889-
#endif
890869
AlignInBits);
891870

892871
InitVal->setMetadata("dbg", VarExpr);
@@ -1107,11 +1086,7 @@ extern "C" void LLVMRustUnpackOptimizationDiagnostic(
11071086
if (loc.isValid()) {
11081087
*Line = loc.getLine();
11091088
*Column = loc.getColumn();
1110-
#if LLVM_VERSION_GE(8, 0)
11111089
FilenameOS << loc.getAbsolutePath();
1112-
#else
1113-
FilenameOS << loc.getFilename();
1114-
#endif
11151090
}
11161091

11171092
RawRustStringOstream MessageOS(MessageOut);

‎src/test/codegen/enum-debug-clike.rs

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,13 @@
1-
// This test depends on a patch that was committed to upstream LLVM
2-
// before 7.0, then backported to the Rust LLVM fork. It tests that
3-
// debug info for "c-like" enums is properly emitted.
1+
// This tests that debug info for "c-like" enums is properly emitted.
2+
// This is ignored for the fallback mode on MSVC due to problems with PDB.
43

54
// ignore-tidy-linelength
6-
// ignore-windows
7-
// min-system-llvm-version 8.0
5+
// ignore-msvc
86

97
// compile-flags: -g -C no-prepopulate-passes
108

11-
// DIFlagFixedEnum was deprecated in 8.0, renamed to DIFlagEnumClass.
12-
// We match either for compatibility.
13-
149
// CHECK-LABEL: @main
15-
// CHECK: {{.*}}DICompositeType{{.*}}tag: DW_TAG_enumeration_type,{{.*}}name: "E",{{.*}}flags: {{(DIFlagEnumClass|DIFlagFixedEnum)}},{{.*}}
10+
// CHECK: {{.*}}DICompositeType{{.*}}tag: DW_TAG_enumeration_type,{{.*}}name: "E",{{.*}}flags: DIFlagEnumClass,{{.*}}
1611
// CHECK: {{.*}}DIEnumerator{{.*}}name: "A",{{.*}}value: {{[0-9].*}}
1712
// CHECK: {{.*}}DIEnumerator{{.*}}name: "B",{{.*}}value: {{[0-9].*}}
1813
// CHECK: {{.*}}DIEnumerator{{.*}}name: "C",{{.*}}value: {{[0-9].*}}

‎src/test/codegen/enum-debug-niche-2.rs

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
1-
// This test depends on a patch that was committed to upstream LLVM
2-
// before 7.0, then backported to the Rust LLVM fork. It tests that
3-
// optimized enum debug info accurately reflects the enum layout.
1+
// This tests that optimized enum debug info accurately reflects the enum layout.
2+
// This is ignored for the fallback mode on MSVC due to problems with PDB.
43

54
// ignore-tidy-linelength
6-
// ignore-windows
7-
// min-system-llvm-version 8.0
5+
// ignore-msvc
86

97
// compile-flags: -g -C no-prepopulate-passes
108

‎src/test/codegen/enum-debug-niche.rs

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
1-
// This test depends on a patch that was committed to upstream LLVM
2-
// before 7.0, then backported to the Rust LLVM fork. It tests that
3-
// optimized enum debug info accurately reflects the enum layout.
1+
// This tests that optimized enum debug info accurately reflects the enum layout.
2+
// This is ignored for the fallback mode on MSVC due to problems with PDB.
43

5-
// ignore-windows
6-
// min-system-llvm-version 8.0
4+
// ignore-msvc
75

86
// compile-flags: -g -C no-prepopulate-passes
97

‎src/test/codegen/enum-debug-tagged.rs

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
1-
// This test depends on a patch that was committed to upstream LLVM
2-
// before 7.0, then backported to the Rust LLVM fork. It tests that
3-
// debug info for tagged (ordinary) enums is properly emitted.
1+
// This tests that debug info for tagged (ordinary) enums is properly emitted.
2+
// This is ignored for the fallback mode on MSVC due to problems with PDB.
43

5-
// ignore-windows
6-
// min-system-llvm-version 8.0
4+
// ignore-msvc
75

86
// compile-flags: -g -C no-prepopulate-passes
97

‎src/test/codegen/force-frame-pointers.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
// min-llvm-version 8.0
21
// compile-flags: -C no-prepopulate-passes -C force-frame-pointers=y
32

43
#![crate_type="lib"]

‎src/test/codegen/instrument-mcount.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
// min-llvm-version 8.0
21
// ignore-tidy-linelength
32
// compile-flags: -Z instrument-mcount
43

‎src/test/debuginfo/borrowed-enum.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
// ignore-tidy-linelength
22

3-
// Require LLVM with DW_TAG_variant_part and a gdb or lldb that can read it.
4-
// min-system-llvm-version: 8.0
3+
// Require a gdb or lldb that can read DW_TAG_variant_part.
54
// min-gdb-version: 8.2
65
// rust-lldb
76

‎src/test/debuginfo/enum-thinlto.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
// Require LLVM with DW_TAG_variant_part and a gdb that can read it.
2-
// min-system-llvm-version: 8.0
1+
// Require a gdb that can read DW_TAG_variant_part.
32
// min-gdb-version: 8.2
43

54
// compile-flags:-g -Z thinlto

‎src/test/debuginfo/generator-objects.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
// ignore-tidy-linelength
22

3-
// Require LLVM with DW_TAG_variant_part and a gdb that can read it.
4-
// min-system-llvm-version: 8.0
3+
// Require a gdb that can read DW_TAG_variant_part.
54
// min-gdb-version: 8.2
65

76
// compile-flags:-g

‎src/test/debuginfo/generic-enum-with-different-disr-sizes.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
// ignore-lldb: FIXME(#27089)
22
// min-lldb-version: 310
33

4-
// Require LLVM with DW_TAG_variant_part and a gdb that can read it.
5-
// min-system-llvm-version: 8.0
4+
// Require a gdb that can read DW_TAG_variant_part.
65
// min-gdb-version: 8.2
76

87
// compile-flags:-g

‎src/test/debuginfo/generic-struct-style-enum.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
// ignore-tidy-linelength
22
// min-lldb-version: 310
33

4-
// Require LLVM with DW_TAG_variant_part and a gdb that can read it.
5-
// min-system-llvm-version: 8.0
4+
// Require a gdb that can read DW_TAG_variant_part.
65
// min-gdb-version: 8.2
76

87
// compile-flags:-g

‎src/test/debuginfo/generic-tuple-style-enum.rs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
// ignore-tidy-linelength
22

3-
// Require LLVM with DW_TAG_variant_part and a gdb and lldb that can
4-
// read it.
5-
// min-system-llvm-version: 8.0
3+
// Require a gdb or lldb that can read DW_TAG_variant_part.
64
// min-gdb-version: 8.2
75
// rust-lldb
86

‎src/test/debuginfo/issue-57822.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
// This test makes sure that the LLDB pretty printer does not throw an exception
22
// for nested closures and generators.
33

4-
// Require LLVM with DW_TAG_variant_part and a gdb that can read it.
5-
// min-system-llvm-version: 8.0
4+
// Require a gdb that can read DW_TAG_variant_part.
65
// min-gdb-version: 8.2
76
// ignore-tidy-linelength
87

‎src/test/debuginfo/recursive-struct.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
// ignore-lldb
22

3-
// Require LLVM with DW_TAG_variant_part and a gdb that can read it.
4-
// min-system-llvm-version: 8.0
3+
// Require a gdb that can read DW_TAG_variant_part.
54
// min-gdb-version: 8.2
65

76
// compile-flags:-g

‎src/test/debuginfo/struct-style-enum.rs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
// ignore-tidy-linelength
22

3-
// Require LLVM with DW_TAG_variant_part and a gdb and lldb that can
4-
// read it.
5-
// min-system-llvm-version: 8.0
3+
// Require a gdb or lldb that can read DW_TAG_variant_part.
64
// min-gdb-version: 8.2
75
// rust-lldb
86

‎src/test/debuginfo/tuple-style-enum.rs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
// ignore-tidy-linelength
22

3-
// Require LLVM with DW_TAG_variant_part and a gdb and lldb that can
4-
// read it.
5-
// min-system-llvm-version: 8.0
3+
// Require a gdb or lldb that can read DW_TAG_variant_part.
64
// min-gdb-version: 8.2
75
// rust-lldb
86

‎src/test/debuginfo/unique-enum.rs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
1-
// Require LLVM with DW_TAG_variant_part and a gdb and lldb that can
2-
// read it.
3-
// min-system-llvm-version: 8.0
1+
// Require a gdb or lldb that can read DW_TAG_variant_part.
42
// min-gdb-version: 8.2
53
// rust-lldb
64

‎src/test/ui/simd/simd-intrinsic-generic-arithmetic-saturating.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
// run-pass
22
// ignore-emscripten
3-
// min-llvm-version 8.0
43

54
#![allow(non_camel_case_types)]
65
#![feature(repr_simd, platform_intrinsics)]

0 commit comments

Comments
 (0)
Please sign in to comment.