Uh oh!
There was an error while loading. Please reload this page.
[LLVM 4.0] Use llvm::Attribute APIs instead of "raw value" APIs - #37831
Conversation
rust-highfive
commented
Nov 17, 2016
r? @eddyb (rust_highfive has picked a reviewer for you, use r? to override) |
shepmaster
commented
Nov 17, 2016
Do we build against all the |
hanna-kruppe
commented
Nov 17, 2016
The llvm::Attribute API seems to go back to at least 3.6 (e.g. this document is essentially unchanged since before 3.7) |
eddyb
commented
Nov 17, 2016
@bors r+ |
bors
commented
Nov 17, 2016
📌 Commit cbc59b8 has been approved by |
There was a problem hiding this comment.
It's ok to remove these, crates in this crate graph currently don't explicitly depend on the std crate and below (so this is expected)
cbc59b8 to
15aaf94Comparealexcrichton
commented
Nov 17, 2016
@bors: r=eddyb |
bors
commented
Nov 17, 2016
📌 Commit 15aaf94 has been approved by |
…moved in LLVM 4.0. The librustc_llvm API remains mostly unchanged, except that llvm::Attribute is no longer a bitflag but represents only a *single* attribute. The ability to store many attributes in a small number of bits and modify them without interacting with LLVM is only used in rustc_trans::abi and closely related modules, and only attributes for function arguments are considered there. Thus rustc_trans::abi now has its own bit-packed representation of argument attributes, which are translated to rustc_llvm::Attribute when applying the attributes.
15aaf94 to
30daedfComparehanna-kruppe
commented
Nov 17, 2016
Fixed an embarrassing compile error introduced in a last-minute renaming. |
eddyb
commented
Nov 17, 2016
@bors r+ |
bors
commented
Nov 17, 2016
📌 Commit 30daedf has been approved by |
bors
commented
Nov 19, 2016
[LLVM 4.0] Use llvm::Attribute APIs instead of "raw value" APIs The latter will be removed in LLVM 4.0 (see llvm-mirror/llvm@4a6fc8b). The librustc_llvm API remains mostly unchanged, except that llvm::Attribute is no longer a bitflag but represents only a *single* attribute. The ability to store many attributes in a small number of bits and modify them without interacting with LLVM is only used in rustc_trans::abi and closely related modules, and only attributes for function arguments are considered there. Thus rustc_trans::abi now has its own bit-packed representation of argument attributes, which are translated to rustc_llvm::Attribute when applying the attributes. cc #37609
The latter will be removed in LLVM 4.0 (see llvm-mirror/llvm@4a6fc8b).
The librustc_llvm API remains mostly unchanged, except that llvm::Attribute is no longer a bitflag but represents only a single attribute.
The ability to store many attributes in a small number of bits and modify them without interacting with LLVM is only used in rustc_trans::abi and closely related modules, and only attributes for function arguments are considered there.
Thus rustc_trans::abi now has its own bit-packed representation of argument attributes, which are translated to rustc_llvm::Attribute when applying the attributes.
cc #37609