Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
int
Rust
提交
14798d69
R
Rust
项目概览
int
/
Rust
12 个月 前同步成功
通知
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,发现更多精彩内容 >>
提交
14798d69
编写于
8月 20, 2018
作者:
D
Denis Merigoux
提交者:
Eduard-Mihai Burtescu
11月 16, 2018
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Generalized BasicBlocks in BuilderMethods trait
上级
34c5dc04
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
16 addition
and
8 deletion
+16
-8
src/librustc_codegen_llvm/base.rs
src/librustc_codegen_llvm/base.rs
+4
-3
src/librustc_codegen_llvm/builder.rs
src/librustc_codegen_llvm/builder.rs
+2
-1
src/librustc_codegen_llvm/mir/operand.rs
src/librustc_codegen_llvm/mir/operand.rs
+4
-2
src/librustc_codegen_llvm/traits.rs
src/librustc_codegen_llvm/traits.rs
+6
-2
未找到文件。
src/librustc_codegen_llvm/base.rs
浏览文件 @
14798d69
...
...
@@ -76,6 +76,7 @@
use
rustc_data_structures
::
indexed_vec
::
Idx
;
use
traits
::
BuilderMethods
;
use
llvm
::
BasicBlock
;
use
std
::
any
::
Any
;
use
std
::
cmp
;
...
...
@@ -391,7 +392,7 @@ pub fn call_assume(bx: &Builder<'_, 'll, '_>, val: &'ll Value) {
pub
fn
from_immediate
<
'a
,
'll
:
'a
,
'tcx
:
'll
,
Value
:
?
Sized
,
Builder
:
BuilderMethods
<
'a
,
'll
,
'tcx
,
Value
>>
(
Builder
:
BuilderMethods
<
'a
,
'll
,
'tcx
,
Value
,
BasicBlock
>>
(
bx
:
&
Builder
,
val
:
&
'll
Value
)
->
&
'll
Value
where
Value
:
ValueTrait
{
...
...
@@ -426,7 +427,7 @@ pub fn to_immediate_scalar(
pub
fn
call_memcpy
<
'a
,
'll
:
'a
,
'tcx
:
'll
,
Value
:
?
Sized
,
Builder
:
BuilderMethods
<
'a
,
'll
,
'tcx
,
Value
>>
(
Builder
:
BuilderMethods
<
'a
,
'll
,
'tcx
,
Value
,
BasicBlock
>>
(
bx
:
&
Builder
,
dst
:
&
'll
Value
,
dst_align
:
Align
,
...
...
@@ -452,7 +453,7 @@ pub fn call_memcpy<'a, 'll: 'a, 'tcx: 'll,
pub
fn
memcpy_ty
<
'a
,
'll
:
'a
,
'tcx
:
'll
,
Value
:
?
Sized
,
Builder
:
BuilderMethods
<
'a
,
'll
,
'tcx
,
Value
>>
(
Builder
:
BuilderMethods
<
'a
,
'll
,
'tcx
,
Value
,
BasicBlock
>>
(
bx
:
&
Builder
,
dst
:
&
'll
Value
,
dst_align
:
Align
,
...
...
src/librustc_codegen_llvm/builder.rs
浏览文件 @
14798d69
...
...
@@ -55,7 +55,8 @@ pub struct MemFlags: u8 {
}
}
impl
BuilderMethods
<
'a
,
'll
,
'tcx
,
Value
>
for
Builder
<
'a
,
'll
,
'tcx
>
{
impl
BuilderMethods
<
'a
,
'll
,
'tcx
,
Value
,
BasicBlock
>
for
Builder
<
'a
,
'll
,
'tcx
>
{
fn
new_block
<
'b
>
(
cx
:
&
'a
CodegenCx
<
'll
,
'tcx
>
,
llfn
:
&
'll
Value
,
...
...
src/librustc_codegen_llvm/mir/operand.rs
浏览文件 @
14798d69
...
...
@@ -22,6 +22,7 @@
use
glue
;
use
traits
::
BuilderMethods
;
use
llvm
::
BasicBlock
;
use
std
::
fmt
;
...
...
@@ -281,7 +282,8 @@ pub fn unaligned_volatile_store(
impl
<
'a
,
'll
:
'a
,
'tcx
:
'll
,
Value
:
?
Sized
>
OperandValue
<&
'll
Value
>
where
Value
:
ValueTrait
,
Builder
<
'a
,
'll
,
'tcx
,
&
'll
Value
>
:
BuilderMethods
<
'a
,
'll
,
'tcx
,
Value
>
Builder
<
'a
,
'll
,
'tcx
,
&
'll
Value
>
:
BuilderMethods
<
'a
,
'll
,
'tcx
,
Value
,
BasicBlock
>
{
pub
fn
nontemporal_store
(
self
,
...
...
@@ -291,7 +293,7 @@ pub fn nontemporal_store(
self
.store_with_flags
(
bx
,
dest
,
MemFlags
::
NONTEMPORAL
);
}
fn
store_with_flags
<
Builder
:
BuilderMethods
<
'a
,
'll
,
'tcx
,
Value
>>
(
fn
store_with_flags
<
Builder
:
BuilderMethods
<
'a
,
'll
,
'tcx
,
Value
,
BasicBlock
>>
(
self
,
bx
:
&
Builder
,
dest
:
PlaceRef
<
'tcx
,
&
'll
Value
>
,
...
...
src/librustc_codegen_llvm/traits.rs
浏览文件 @
14798d69
...
...
@@ -10,7 +10,7 @@
use
llvm
::{
AtomicRmwBinOp
,
AtomicOrdering
,
SynchronizationScope
,
AsmDialect
};
use
llvm
::{
IntPredicate
,
RealPredicate
,
OperandBundleDef
};
use
llvm
::{
self
,
BasicBlock
}
;
use
llvm
;
use
common
::
*
;
use
type_
::
Type
;
use
libc
::
c_char
;
...
...
@@ -23,7 +23,11 @@
use
std
::
ops
::
Range
;
pub
trait
BuilderMethods
<
'a
,
'll
:
'a
,
'tcx
:
'll
,
Value
:
?
Sized
>
{
pub
trait
BuilderMethods
<
'a
,
'll
:
'a
,
'tcx
:
'll
,
Value
:
?
Sized
,
BasicBlock
:
?
Sized
>
{
fn
new_block
<
'b
>
(
cx
:
&
'a
CodegenCx
<
'll
,
'tcx
,
&
'll
Value
>
,
llfn
:
&
'll
Value
,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录