File tree 1 file changed +5
-0
lines changed
compiler/rustc_codegen_llvm/src
1 file changed +5
-0
lines changed Original file line number Diff line number Diff line change @@ -145,8 +145,13 @@ pub unsafe fn create_module<'ll>(
145
145
let llvm_version = llvm_util:: get_version ( ) ;
146
146
if llvm_version < ( 16 , 0 , 0 ) {
147
147
if sess. target . arch == "s390x" {
148
+ // LLVM 16 data layout changed to always set 64-bit vector alignment,
149
+ // which is conditional in earlier LLVM versions.
150
+ // https://reviews.llvm.org/D131158 for the discussion.
148
151
target_data_layout = target_data_layout. replace ( "-v128:64" , "" ) ;
149
152
} else if sess. target . arch == "riscv64" {
153
+ // LLVM 16 introduced this change so as to produce more efficient code.
154
+ // See https://reviews.llvm.org/D116735 for the discussion.
150
155
target_data_layout = target_data_layout. replace ( "-n32:64-" , "-n64-" ) ;
151
156
}
152
157
}
You can’t perform that action at this time.
0 commit comments