Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
int
Rust
提交
e9f545b9
R
Rust
项目概览
int
/
Rust
大约 1 年 前同步成功
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
Rust
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
e9f545b9
编写于
10月 22, 2021
作者:
J
Josh Stone
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Update the minimum external LLVM to 12
上级
8b0e7095
变更
29
隐藏空白更改
内联
并排
Showing
29 changed file
with
13 addition
and
139 deletion
+13
-139
.github/workflows/ci.yml
.github/workflows/ci.yml
+2
-2
compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp
compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp
+2
-74
compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp
compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp
+0
-24
src/bootstrap/native.rs
src/bootstrap/native.rs
+2
-2
src/ci/docker/host-x86_64/x86_64-gnu-llvm-12/Dockerfile
src/ci/docker/host-x86_64/x86_64-gnu-llvm-12/Dockerfile
+3
-3
src/ci/github-actions/ci.yml
src/ci/github-actions/ci.yml
+2
-2
src/test/assembly/asm/aarch64-outline-atomics.rs
src/test/assembly/asm/aarch64-outline-atomics.rs
+0
-1
src/test/assembly/asm/powerpc-types.rs
src/test/assembly/asm/powerpc-types.rs
+1
-1
src/test/assembly/asm/riscv-types.rs
src/test/assembly/asm/riscv-types.rs
+0
-1
src/test/assembly/asm/wasm-types.rs
src/test/assembly/asm/wasm-types.rs
+0
-1
src/test/assembly/static-relocation-model.rs
src/test/assembly/static-relocation-model.rs
+0
-1
src/test/codegen/function-arguments.rs
src/test/codegen/function-arguments.rs
+0
-2
src/test/codegen/issue-73031.rs
src/test/codegen/issue-73031.rs
+0
-1
src/test/codegen/issue-75525-bounds-checks.rs
src/test/codegen/issue-75525-bounds-checks.rs
+0
-1
src/test/codegen/issue-75546.rs
src/test/codegen/issue-75546.rs
+0
-1
src/test/codegen/issue-77812.rs
src/test/codegen/issue-77812.rs
+0
-1
src/test/codegen/non-terminate/infinite-loop-1.rs
src/test/codegen/non-terminate/infinite-loop-1.rs
+0
-1
src/test/codegen/non-terminate/infinite-loop-2.rs
src/test/codegen/non-terminate/infinite-loop-2.rs
+0
-1
src/test/codegen/non-terminate/infinite-recursion.rs
src/test/codegen/non-terminate/infinite-recursion.rs
+0
-1
src/test/codegen/non-terminate/nonempty-infinite-loop.rs
src/test/codegen/non-terminate/nonempty-infinite-loop.rs
+0
-1
src/test/codegen/repr-transparent-aggregates-1.rs
src/test/codegen/repr-transparent-aggregates-1.rs
+0
-1
src/test/codegen/repr-transparent-aggregates-2.rs
src/test/codegen/repr-transparent-aggregates-2.rs
+0
-1
src/test/codegen/repr-transparent-aggregates-3.rs
src/test/codegen/repr-transparent-aggregates-3.rs
+0
-1
src/test/codegen/wasm_casts_trapping.rs
src/test/codegen/wasm_casts_trapping.rs
+0
-1
src/test/run-make-fulldeps/split-debuginfo/Makefile
src/test/run-make-fulldeps/split-debuginfo/Makefile
+0
-5
src/test/run-make-fulldeps/split-dwarf/Makefile
src/test/run-make-fulldeps/split-dwarf/Makefile
+0
-5
src/test/ui/asm/x86_64/sym.rs
src/test/ui/asm/x86_64/sym.rs
+1
-1
src/test/ui/cmse-nonsecure/cmse-nonsecure-entry/params-on-stack.rs
...ui/cmse-nonsecure/cmse-nonsecure-entry/params-on-stack.rs
+0
-1
src/test/ui/function-pointer/function-pointer-comparison-issue-54685.rs
...nction-pointer/function-pointer-comparison-issue-54685.rs
+0
-1
未找到文件。
.github/workflows/ci.yml
浏览文件 @
e9f545b9
...
...
@@ -43,7 +43,7 @@ jobs:
-
name
:
mingw-check
os
:
ubuntu-latest-xl
env
:
{}
-
name
:
x86_64-gnu-llvm-1
1
-
name
:
x86_64-gnu-llvm-1
2
os
:
ubuntu-latest-xl
env
:
{}
-
name
:
x86_64-gnu-tools
...
...
@@ -274,7 +274,7 @@ jobs:
-
name
:
x86_64-gnu-distcheck
os
:
ubuntu-latest-xl
env
:
{}
-
name
:
x86_64-gnu-llvm-1
1
-
name
:
x86_64-gnu-llvm-1
2
env
:
RUST_BACKTRACE
:
1
os
:
ubuntu-latest-xl
...
...
compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp
浏览文件 @
e9f545b9
...
...
@@ -681,7 +681,6 @@ void LLVMSelfProfileInitializeCallbacks(
PassInstrumentationCallbacks
&
PIC
,
void
*
LlvmSelfProfiler
,
LLVMRustSelfProfileBeforePassCallback
BeforePassCallback
,
LLVMRustSelfProfileAfterPassCallback
AfterPassCallback
)
{
#if LLVM_VERSION_GE(12, 0)
PIC
.
registerBeforeNonSkippedPassCallback
([
LlvmSelfProfiler
,
BeforePassCallback
](
StringRef
Pass
,
llvm
::
Any
Ir
)
{
std
::
string
PassName
=
Pass
.
str
();
...
...
@@ -699,25 +698,6 @@ void LLVMSelfProfileInitializeCallbacks(
[
LlvmSelfProfiler
,
AfterPassCallback
](
StringRef
Pass
,
const
PreservedAnalyses
&
Preserved
)
{
AfterPassCallback
(
LlvmSelfProfiler
);
});
#else
PIC
.
registerBeforePassCallback
([
LlvmSelfProfiler
,
BeforePassCallback
](
StringRef
Pass
,
llvm
::
Any
Ir
)
{
std
::
string
PassName
=
Pass
.
str
();
std
::
string
IrName
=
LLVMRustwrappedIrGetName
(
Ir
);
BeforePassCallback
(
LlvmSelfProfiler
,
PassName
.
c_str
(),
IrName
.
c_str
());
return
true
;
});
PIC
.
registerAfterPassCallback
(
[
LlvmSelfProfiler
,
AfterPassCallback
](
StringRef
Pass
,
llvm
::
Any
Ir
)
{
AfterPassCallback
(
LlvmSelfProfiler
);
});
PIC
.
registerAfterPassInvalidatedCallback
(
[
LlvmSelfProfiler
,
AfterPassCallback
](
StringRef
Pass
)
{
AfterPassCallback
(
LlvmSelfProfiler
);
});
#endif
PIC
.
registerBeforeAnalysisCallback
([
LlvmSelfProfiler
,
BeforePassCallback
](
StringRef
Pass
,
llvm
::
Any
Ir
)
{
...
...
@@ -778,22 +758,13 @@ LLVMRustOptimizeWithNewPassManager(
PTO
.
LoopInterleaving
=
UnrollLoops
;
PTO
.
LoopVectorization
=
LoopVectorize
;
PTO
.
SLPVectorization
=
SLPVectorize
;
#if LLVM_VERSION_GE(12, 0)
PTO
.
MergeFunctions
=
MergeFunctions
;
#else
// MergeFunctions is not supported by NewPM in older LLVM versions.
(
void
)
MergeFunctions
;
#endif
// FIXME: We may want to expose this as an option.
bool
DebugPassManager
=
false
;
PassInstrumentationCallbacks
PIC
;
#if LLVM_VERSION_GE(12, 0)
StandardInstrumentations
SI
(
DebugPassManager
);
#else
StandardInstrumentations
SI
;
#endif
SI
.
registerCallbacks
(
PIC
);
if
(
LlvmSelfProfiler
){
...
...
@@ -817,18 +788,14 @@ LLVMRustOptimizeWithNewPassManager(
PGOOptions
::
NoCSAction
,
DebugInfoForProfiling
);
}
#if LLVM_VERSION_GE(12, 0) && !LLVM_VERSION_GE(13,0)
PassBuilder
PB
(
DebugPassManager
,
TM
,
PTO
,
PGOOpt
,
&
PIC
);
#else
PassBuilder
PB
(
TM
,
PTO
,
PGOOpt
,
&
PIC
);
#endif
#if LLVM_VERSION_GE(13, 0)
PassBuilder
PB
(
TM
,
PTO
,
PGOOpt
,
&
PIC
);
LoopAnalysisManager
LAM
;
FunctionAnalysisManager
FAM
;
CGSCCAnalysisManager
CGAM
;
ModuleAnalysisManager
MAM
;
#else
PassBuilder
PB
(
DebugPassManager
,
TM
,
PTO
,
PGOOpt
,
&
PIC
);
LoopAnalysisManager
LAM
(
DebugPassManager
);
FunctionAnalysisManager
FAM
(
DebugPassManager
);
CGSCCAnalysisManager
CGAM
(
DebugPassManager
);
...
...
@@ -960,7 +927,6 @@ LLVMRustOptimizeWithNewPassManager(
// At the same time, the LTO pipelines do support O0 and using them is required.
bool
IsLTO
=
OptStage
==
LLVMRustOptStage
::
ThinLTO
||
OptStage
==
LLVMRustOptStage
::
FatLTO
;
if
(
OptLevel
==
OptimizationLevel
::
O0
&&
!
IsLTO
)
{
#if LLVM_VERSION_GE(12, 0)
for
(
const
auto
&
C
:
PipelineStartEPCallbacks
)
PB
.
registerPipelineStartEPCallback
(
C
);
for
(
const
auto
&
C
:
OptimizerLastEPCallbacks
)
...
...
@@ -968,31 +934,9 @@ LLVMRustOptimizeWithNewPassManager(
// Pass false as we manually schedule ThinLTOBufferPasses below.
MPM
=
PB
.
buildO0DefaultPipeline
(
OptLevel
,
/* PreLinkLTO */
false
);
#else
for
(
const
auto
&
C
:
PipelineStartEPCallbacks
)
C
(
MPM
,
OptLevel
);
for
(
const
auto
&
C
:
OptimizerLastEPCallbacks
)
C
(
MPM
,
OptLevel
);
MPM
.
addPass
(
AlwaysInlinerPass
(
EmitLifetimeMarkers
));
if
(
PGOOpt
)
{
PB
.
addPGOInstrPassesForO0
(
MPM
,
DebugPassManager
,
PGOOpt
->
Action
==
PGOOptions
::
IRInstr
,
/*IsCS=*/
false
,
PGOOpt
->
ProfileFile
,
PGOOpt
->
ProfileRemappingFile
);
}
#endif
}
else
{
#if LLVM_VERSION_GE(12, 0)
for
(
const
auto
&
C
:
PipelineStartEPCallbacks
)
PB
.
registerPipelineStartEPCallback
(
C
);
#else
for
(
const
auto
&
C
:
PipelineStartEPCallbacks
)
PB
.
registerPipelineStartEPCallback
([
C
,
OptLevel
](
ModulePassManager
&
MPM
)
{
C
(
MPM
,
OptLevel
);
});
#endif
if
(
OptStage
!=
LLVMRustOptStage
::
PreLinkThinLTO
)
{
for
(
const
auto
&
C
:
OptimizerLastEPCallbacks
)
PB
.
registerOptimizerLastEPCallback
(
C
);
...
...
@@ -1003,7 +947,6 @@ LLVMRustOptimizeWithNewPassManager(
MPM
=
PB
.
buildPerModuleDefaultPipeline
(
OptLevel
,
DebugPassManager
);
break
;
case
LLVMRustOptStage
::
PreLinkThinLTO
:
#if LLVM_VERSION_GE(12, 0)
MPM
=
PB
.
buildThinLTOPreLinkDefaultPipeline
(
OptLevel
);
// The ThinLTOPreLink pipeline already includes ThinLTOBuffer passes. However, callback
// passes may still run afterwards. This means we need to run the buffer passes again.
...
...
@@ -1011,35 +954,20 @@ LLVMRustOptimizeWithNewPassManager(
// before the RequiredLTOPreLinkPasses, in which case we can remove these hacks.
if
(
OptimizerLastEPCallbacks
.
empty
())
NeedThinLTOBufferPasses
=
false
;
#else
MPM
=
PB
.
buildThinLTOPreLinkDefaultPipeline
(
OptLevel
,
DebugPassManager
);
#endif
for
(
const
auto
&
C
:
OptimizerLastEPCallbacks
)
C
(
MPM
,
OptLevel
);
break
;
case
LLVMRustOptStage
::
PreLinkFatLTO
:
#if LLVM_VERSION_GE(12, 0)
MPM
=
PB
.
buildLTOPreLinkDefaultPipeline
(
OptLevel
);
NeedThinLTOBufferPasses
=
false
;
#else
MPM
=
PB
.
buildLTOPreLinkDefaultPipeline
(
OptLevel
,
DebugPassManager
);
#endif
break
;
case
LLVMRustOptStage
::
ThinLTO
:
// FIXME: Does it make sense to pass the ModuleSummaryIndex?
// It only seems to be needed for C++ specific optimizations.
#if LLVM_VERSION_GE(12, 0)
MPM
=
PB
.
buildThinLTODefaultPipeline
(
OptLevel
,
nullptr
);
#else
MPM
=
PB
.
buildThinLTODefaultPipeline
(
OptLevel
,
DebugPassManager
,
nullptr
);
#endif
break
;
case
LLVMRustOptStage
::
FatLTO
:
#if LLVM_VERSION_GE(12, 0)
MPM
=
PB
.
buildLTODefaultPipeline
(
OptLevel
,
nullptr
);
#else
MPM
=
PB
.
buildLTODefaultPipeline
(
OptLevel
,
DebugPassManager
,
nullptr
);
#endif
break
;
}
}
...
...
compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp
浏览文件 @
e9f545b9
...
...
@@ -263,11 +263,7 @@ extern "C" void LLVMRustAddByValCallSiteAttr(LLVMValueRef Instr, unsigned Index,
extern
"C"
void
LLVMRustAddStructRetCallSiteAttr
(
LLVMValueRef
Instr
,
unsigned
Index
,
LLVMTypeRef
Ty
)
{
CallBase
*
Call
=
unwrap
<
CallBase
>
(
Instr
);
#if LLVM_VERSION_GE(12, 0)
Attribute
Attr
=
Attribute
::
getWithStructRetType
(
Call
->
getContext
(),
unwrap
(
Ty
));
#else
Attribute
Attr
=
Attribute
::
get
(
Call
->
getContext
(),
Attribute
::
StructRet
);
#endif
AddAttribute
(
Call
,
Index
,
Attr
);
}
...
...
@@ -311,11 +307,7 @@ extern "C" void LLVMRustAddByValAttr(LLVMValueRef Fn, unsigned Index,
extern
"C"
void
LLVMRustAddStructRetAttr
(
LLVMValueRef
Fn
,
unsigned
Index
,
LLVMTypeRef
Ty
)
{
Function
*
F
=
unwrap
<
Function
>
(
Fn
);
#if LLVM_VERSION_GE(12, 0)
Attribute
Attr
=
Attribute
::
getWithStructRetType
(
F
->
getContext
(),
unwrap
(
Ty
));
#else
Attribute
Attr
=
Attribute
::
get
(
F
->
getContext
(),
Attribute
::
StructRet
);
#endif
AddAttribute
(
F
,
Index
,
Attr
);
}
...
...
@@ -1024,17 +1016,11 @@ extern "C" LLVMMetadataRef
LLVMRustDIBuilderCreateDebugLocation
(
unsigned
Line
,
unsigned
Column
,
LLVMMetadataRef
ScopeRef
,
LLVMMetadataRef
InlinedAt
)
{
#if LLVM_VERSION_GE(12, 0)
MDNode
*
Scope
=
unwrapDIPtr
<
MDNode
>
(
ScopeRef
);
DILocation
*
Loc
=
DILocation
::
get
(
Scope
->
getContext
(),
Line
,
Column
,
Scope
,
unwrapDIPtr
<
MDNode
>
(
InlinedAt
));
return
wrap
(
Loc
);
#else
DebugLoc
debug_loc
=
DebugLoc
::
get
(
Line
,
Column
,
unwrapDIPtr
<
MDNode
>
(
ScopeRef
),
unwrapDIPtr
<
MDNode
>
(
InlinedAt
));
return
wrap
(
debug_loc
.
getAsMDNode
());
#endif
}
extern
"C"
int64_t
LLVMRustDIBuilderCreateOpDeref
()
{
...
...
@@ -1249,10 +1235,8 @@ extern "C" LLVMTypeKind LLVMRustGetTypeKind(LLVMTypeRef Ty) {
return
LLVMScalableVectorTypeKind
;
case
Type
::
BFloatTyID
:
return
LLVMBFloatTypeKind
;
#if LLVM_VERSION_GE(12, 0)
case
Type
::
X86_AMXTyID
:
return
LLVMX86_AMXTypeKind
;
#endif
}
report_fatal_error
(
"Unhandled TypeID."
);
}
...
...
@@ -1710,23 +1694,15 @@ LLVMRustBuildVectorReduceMax(LLVMBuilderRef B, LLVMValueRef Src, bool IsSigned)
}
extern
"C"
LLVMValueRef
LLVMRustBuildVectorReduceFMin
(
LLVMBuilderRef
B
,
LLVMValueRef
Src
,
bool
NoNaN
)
{
#if LLVM_VERSION_GE(12, 0)
Instruction
*
I
=
unwrap
(
B
)
->
CreateFPMinReduce
(
unwrap
(
Src
));
I
->
setHasNoNaNs
(
NoNaN
);
return
wrap
(
I
);
#else
return
wrap
(
unwrap
(
B
)
->
CreateFPMinReduce
(
unwrap
(
Src
),
NoNaN
));
#endif
}
extern
"C"
LLVMValueRef
LLVMRustBuildVectorReduceFMax
(
LLVMBuilderRef
B
,
LLVMValueRef
Src
,
bool
NoNaN
)
{
#if LLVM_VERSION_GE(12, 0)
Instruction
*
I
=
unwrap
(
B
)
->
CreateFPMaxReduce
(
unwrap
(
Src
));
I
->
setHasNoNaNs
(
NoNaN
);
return
wrap
(
I
);
#else
return
wrap
(
unwrap
(
B
)
->
CreateFPMaxReduce
(
unwrap
(
Src
),
NoNaN
));
#endif
}
extern
"C"
LLVMValueRef
...
...
src/bootstrap/native.rs
浏览文件 @
e9f545b9
...
...
@@ -378,11 +378,11 @@ fn check_llvm_version(builder: &Builder<'_>, llvm_config: &Path) {
let
version
=
output
(
cmd
.arg
(
"--version"
));
let
mut
parts
=
version
.split
(
'.'
)
.take
(
2
)
.filter_map
(|
s
|
s
.parse
::
<
u32
>
()
.ok
());
if
let
(
Some
(
major
),
Some
(
_
minor
))
=
(
parts
.next
(),
parts
.next
())
{
if
major
>=
1
1
{
if
major
>=
1
2
{
return
;
}
}
panic!
(
"
\n\n
bad LLVM version: {}, need >=1
1
.0
\n\n
"
,
version
)
panic!
(
"
\n\n
bad LLVM version: {}, need >=1
2
.0
\n\n
"
,
version
)
}
fn
configure_cmake
(
...
...
src/ci/docker/host-x86_64/x86_64-gnu-llvm-1
1
/Dockerfile
→
src/ci/docker/host-x86_64/x86_64-gnu-llvm-1
2
/Dockerfile
浏览文件 @
e9f545b9
...
...
@@ -14,8 +14,8 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
cmake
\
sudo
\
gdb
\
llvm-1
1
-tools
\
llvm-1
1
-dev
\
llvm-1
2
-tools
\
llvm-1
2
-dev
\
libedit-dev
\
libssl-dev
\
pkg-config
\
...
...
@@ -29,7 +29,7 @@ RUN sh /scripts/sccache.sh
# using llvm-link-shared due to libffi issues -- see #34486
ENV
RUST_CONFIGURE_ARGS \
--build=x86_64-unknown-linux-gnu \
--llvm-root=/usr/lib/llvm-1
1
\
--llvm-root=/usr/lib/llvm-1
2
\
--enable-llvm-link-shared \
--set rust.thin-lto-import-instr-limit=10
...
...
src/ci/github-actions/ci.yml
浏览文件 @
e9f545b9
...
...
@@ -284,7 +284,7 @@ jobs:
-
name
:
mingw-check
<<
:
*job-linux-xl
-
name
:
x86_64-gnu-llvm-1
1
-
name
:
x86_64-gnu-llvm-1
2
<<
:
*job-linux-xl
-
name
:
x86_64-gnu-tools
...
...
@@ -431,7 +431,7 @@ jobs:
-
name
:
x86_64-gnu-distcheck
<<
:
*job-linux-xl
-
name
:
x86_64-gnu-llvm-1
1
-
name
:
x86_64-gnu-llvm-1
2
env
:
RUST_BACKTRACE
:
1
<<
:
*job-linux-xl
...
...
src/test/assembly/asm/aarch64-outline-atomics.rs
浏览文件 @
e9f545b9
// min-llvm-version: 12.0
// assembly-output: emit-asm
// compile-flags: -O
// compile-flags: --target aarch64-unknown-linux-gnu
...
...
src/test/assembly/asm/powerpc-types.rs
浏览文件 @
e9f545b9
// min-llvm-version: 12.0.
0
// min-llvm-version: 12.0.
1
// revisions: powerpc powerpc64
// assembly-output: emit-asm
//[powerpc] compile-flags: --target powerpc-unknown-linux-gnu
...
...
src/test/assembly/asm/riscv-types.rs
浏览文件 @
e9f545b9
...
...
@@ -5,7 +5,6 @@
//[riscv32] compile-flags: --target riscv32imac-unknown-none-elf
//[riscv32] needs-llvm-components: riscv
// compile-flags: -C target-feature=+d
// min-system-llvm-version: 12.0
#![feature(no_core,
lang_items,
rustc_attrs)]
#![crate_type
=
"rlib"
]
...
...
src/test/assembly/asm/wasm-types.rs
浏览文件 @
e9f545b9
// min-llvm-version: 12.0.0
// assembly-output: emit-asm
// compile-flags: --target wasm32-unknown-unknown
// compile-flags: --crate-type cdylib
...
...
src/test/assembly/static-relocation-model.rs
浏览文件 @
e9f545b9
// min-llvm-version: 12.0.0
// revisions: x64 A64 ppc64le
// assembly-output: emit-asm
// [x64] compile-flags: --target x86_64-unknown-linux-gnu -Crelocation-model=static
...
...
src/test/codegen/function-arguments.rs
浏览文件 @
e9f545b9
// compile-flags: -O -C no-prepopulate-passes
//
// min-system-llvm-version: 12.0
#![crate_type
=
"lib"
]
#![feature(rustc_attrs)]
...
...
src/test/codegen/issue-73031.rs
浏览文件 @
e9f545b9
// min-llvm-version: 12.0.0
// compile-flags: -O
#![crate_type
=
"lib"
]
...
...
src/test/codegen/issue-75525-bounds-checks.rs
浏览文件 @
e9f545b9
// Regression test for #75525, verifies that no bounds checks are generated.
// min-llvm-version: 12.0.0
// compile-flags: -O
#![crate_type
=
"lib"
]
...
...
src/test/codegen/issue-75546.rs
浏览文件 @
e9f545b9
// min-llvm-version: 12.0.0
// compile-flags: -O
#![crate_type
=
"lib"
]
...
...
src/test/codegen/issue-77812.rs
浏览文件 @
e9f545b9
// min-llvm-version: 12.0.0
// compile-flags: -O
#![crate_type
=
"lib"
]
...
...
src/test/codegen/non-terminate/infinite-loop-1.rs
浏览文件 @
e9f545b9
// min-llvm-version: 12.0
// compile-flags: -C opt-level=3
#![crate_type
=
"lib"
]
...
...
src/test/codegen/non-terminate/infinite-loop-2.rs
浏览文件 @
e9f545b9
// min-llvm-version: 12.0
// compile-flags: -C opt-level=3
#![crate_type
=
"lib"
]
...
...
src/test/codegen/non-terminate/infinite-recursion.rs
浏览文件 @
e9f545b9
// min-llvm-version: 12.0
// compile-flags: -C opt-level=3
#![crate_type
=
"lib"
]
...
...
src/test/codegen/non-terminate/nonempty-infinite-loop.rs
浏览文件 @
e9f545b9
// min-llvm-version: 12.0
// compile-flags: -C opt-level=3
#![crate_type
=
"lib"
]
...
...
src/test/codegen/repr-transparent-aggregates-1.rs
浏览文件 @
e9f545b9
// compile-flags: -C no-prepopulate-passes
//
// min-system-llvm-version: 12.0
// ignore-arm
// ignore-aarch64
// ignore-mips
...
...
src/test/codegen/repr-transparent-aggregates-2.rs
浏览文件 @
e9f545b9
// compile-flags: -C no-prepopulate-passes
//
// min-system-llvm-version: 12.0
// ignore-aarch64
// ignore-emscripten
// ignore-mips64
...
...
src/test/codegen/repr-transparent-aggregates-3.rs
浏览文件 @
e9f545b9
// compile-flags: -C no-prepopulate-passes
//
// min-system-llvm-version: 12.0
// only-mips64
// See repr-transparent.rs
...
...
src/test/codegen/wasm_casts_trapping.rs
浏览文件 @
e9f545b9
// only-wasm32
// compile-flags: -C target-feature=-nontrapping-fptoint
// min-llvm-version: 12.0
#![crate_type
=
"lib"
]
// CHECK-LABEL: @cast_f64_i64
...
...
src/test/run-make-fulldeps/split-debuginfo/Makefile
浏览文件 @
e9f545b9
-include
../tools.mk
# Needs commit 6ffcb2937c96bd0d7a55b984b5eb8f381b68e322,
# "[llvm-dwp] Join dwo paths correctly when DWOPath is absolute",
# backported to 12.x in b1106a5b3bc94f6da11682007d101823f81bad30.
# min-llvm-version: 12.0
all
:
off packed unpacked
ifeq
($(UNAME),Darwin)
...
...
src/test/run-make-fulldeps/split-dwarf/Makefile
浏览文件 @
e9f545b9
...
...
@@ -2,11 +2,6 @@
# only-linux
# Needs commit 6ffcb2937c96bd0d7a55b984b5eb8f381b68e322,
# "[llvm-dwp] Join dwo paths correctly when DWOPath is absolute",
# backported to 12.x in b1106a5b3bc94f6da11682007d101823f81bad30.
# min-llvm-version: 12.0
all
:
$(RUSTC)
-Z
unstable-options
-C
split-debuginfo
=
packed
-C
debuginfo
=
2 foo.rs
-g
rm
$(TMPDIR)
/foo.dwp
...
...
src/test/ui/asm/x86_64/sym.rs
浏览文件 @
e9f545b9
// min-llvm-version: 12.0.
0
// min-llvm-version: 12.0.
1
// only-x86_64
// only-linux
// run-pass
...
...
src/test/ui/cmse-nonsecure/cmse-nonsecure-entry/params-on-stack.rs
浏览文件 @
e9f545b9
// build-fail
// compile-flags: --target thumbv8m.main-none-eabi --crate-type lib
// needs-llvm-components: arm
// min-llvm-version: 12.0
#![feature(cmse_nonsecure_entry,
no_core,
lang_items)]
#![no_core]
#[lang=
"sized"
]
...
...
src/test/ui/function-pointer/function-pointer-comparison-issue-54685.rs
浏览文件 @
e9f545b9
// min-llvm-version: 12.0
// compile-flags: -C opt-level=3
// run-pass
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录