llvm will look at both 1. the values of "target-features" and 2. the function string attributes. this removes the redundant function string attribute because it is not needed at all. rustc sets the `+backchain` attribute through `target_features_attr(...)`
15 lines
443 B
Rust
15 lines
443 B
Rust
//@ add-minicore
|
|
//@ compile-flags: -Copt-level=3 --crate-type=lib --target=s390x-unknown-linux-gnu -Ctarget-feature=+backchain
|
|
//@ needs-llvm-components: systemz
|
|
#![crate_type = "lib"]
|
|
#![feature(no_core, lang_items)]
|
|
#![no_core]
|
|
|
|
extern crate minicore;
|
|
use minicore::*;
|
|
|
|
#[no_mangle]
|
|
pub fn test_backchain() {
|
|
// CHECK: @test_backchain() unnamed_addr #0
|
|
}
|
|
// CHECK: attributes #0 = { {{.*}}"target-features"="{{[^"]*}}+backchain{{.*}} }
|