rust/compiler
David Rheinsberg a0771bdabb codegen-llvm: never combine DSOLocal and DllImport
Prevent DllImport from being attached to DSOLocal definitions in the
LLVM IR. The combination makes no sense, since definitions local to the
compilation unit will never be imported from external objects.

Additionally, LLVM will refuse the IR if it encounters the
combination (introduced in [1]):

  if (GV.hasDLLImportStorageClass())
    Assert(!GV.isDSOLocal(),
           "GlobalValue with DLLImport Storage is dso_local!", &GV);

Right now, codegen-llvm will only apply DllImport to constants and rely
on call-stubs for functions. Hence, we simply extend the codegen of
constants to skip DllImport for any local definitions.

This was discovered when switching the EFI targets to the static
relocation model [2]. With this fixed, we can start another attempt at
this.

[1] 509132b368
[2] https://github.com/rust-lang/rust/issues/101656
2022-11-29 10:57:25 +01:00
..
rustc rustc: Use unix_sigpipe instead of rustc_driver::set_sigpipe_handler 2022-10-02 17:49:36 +02:00
rustc_abi Simplify and document range layout computation 2022-11-25 08:39:11 +00:00
rustc_apfloat
rustc_arena rustc_arena: remove a couple of ref patterns 2022-11-22 18:49:29 +00:00
rustc_ast Rename NestedMetaItem::[Ll]iteral as NestedMetaItem::[Ll]it. 2022-11-28 15:18:53 +11:00
rustc_ast_lowering Rename ast::Lit as ast::MetaItemLit. 2022-11-28 15:18:49 +11:00
rustc_ast_passes Use as_deref in compiler (but only where it makes sense) 2022-11-16 21:58:58 +00:00
rustc_ast_pretty Rename NestedMetaItem::[Ll]iteral as NestedMetaItem::[Ll]it. 2022-11-28 15:18:53 +11:00
rustc_attr Rename NestedMetaItem::[Ll]iteral as NestedMetaItem::[Ll]it. 2022-11-28 15:18:53 +11:00
rustc_baked_icu_data Update crate documentation of rustc_baked_icu_data crate 2022-11-18 14:46:36 -08:00
rustc_borrowck Rollup merge of #104956 - mucinoab:issue-104870, r=compiler-errors 2022-11-28 17:25:49 +01:00
rustc_builtin_macros Rename NestedMetaItem::[Ll]iteral as NestedMetaItem::[Ll]it. 2022-11-28 15:18:53 +11:00
rustc_codegen_cranelift Prefer doc comments over //-comments in compiler 2022-11-27 11:19:04 +00:00
rustc_codegen_gcc Rollup merge of #104976 - WaffleLapkin:move_comments, r=cjgillot 2022-11-27 22:14:08 +01:00
rustc_codegen_llvm codegen-llvm: never combine DSOLocal and DllImport 2022-11-29 10:57:25 +01:00
rustc_codegen_ssa Rollup merge of #104360 - petrochenkov:stabverb, r=TaKO8Ki 2022-11-28 15:42:09 +05:30
rustc_const_eval Rollup merge of #104982 - RalfJung:norun, r=oli-obk 2022-11-28 17:25:49 +01:00
rustc_data_structures Auto merge of #97870 - eggyal:inplace_fold_spec, r=wesleywiser 2022-11-19 02:28:47 +00:00
rustc_driver Prefer doc comments over //-comments in compiler 2022-11-27 11:19:04 +00:00
rustc_error_codes Auto merge of #103491 - cjgillot:self-rpit, r=oli-obk 2022-11-21 12:17:03 +00:00
rustc_error_messages Rollup merge of #104621 - YC:master, r=davidtwco 2022-11-22 22:54:40 -05:00
rustc_errors Tweak output 2022-11-28 00:11:12 -08:00
rustc_expand Rollup merge of #104804 - nnethercote:MetaItemLit, r=petrochenkov 2022-11-28 17:25:46 +01:00
rustc_feature Stabilize native library modifier verbatim 2022-11-27 22:36:32 +03:00
rustc_fs_util
rustc_graphviz Add initial version of value analysis and dataflow constant propagation 2022-11-07 10:35:08 +01:00
rustc_hir Rollup merge of #104976 - WaffleLapkin:move_comments, r=cjgillot 2022-11-27 22:14:08 +01:00
rustc_hir_analysis Rename NestedMetaItem::[Ll]iteral as NestedMetaItem::[Ll]it. 2022-11-28 15:18:53 +11:00
rustc_hir_pretty Auto merge of #104048 - cjgillot:split-lifetime, r=compiler-errors 2022-11-27 14:30:19 +00:00
rustc_hir_typeck Rollup merge of #104890 - lcnr:small-cleanup, r=fee1-dead 2022-11-28 15:42:11 +05:30
rustc_incremental Prefer doc comments over //-comments in compiler 2022-11-27 11:19:04 +00:00
rustc_index move things from rustc_target::abi to rustc_abi 2022-11-24 16:26:13 +03:30
rustc_infer Rollup merge of #104936 - cjgillot:self-rpit-orig-too, r=oli-obk 2022-11-28 17:25:47 +01:00
rustc_interface Rename NestedMetaItem::[Ll]iteral as NestedMetaItem::[Ll]it. 2022-11-28 15:18:53 +11:00
rustc_lexer Auto merge of #104507 - WaffleLapkin:asderefsyou, r=wesleywiser 2022-11-24 00:17:35 +00:00
rustc_lint Rename NestedMetaItem::[Ll]iteral as NestedMetaItem::[Ll]it. 2022-11-28 15:18:53 +11:00
rustc_lint_defs Make deref_into_dyn_supertrait lint the impl and not the usage 2022-11-23 15:40:27 +00:00
rustc_llvm [llvm-wrapper] adapt for LLVM API change 2022-11-25 11:29:00 +00:00
rustc_log Use IsTerminal in rustc_log 2022-10-16 15:10:40 +01:00
rustc_macros Auto merge of #103556 - clubby789:specialize-option-partial-eq, r=scottmcm 2022-11-26 08:56:20 +00:00
rustc_metadata Rollup merge of #104360 - petrochenkov:stabverb, r=TaKO8Ki 2022-11-28 15:42:09 +05:30
rustc_middle Rollup merge of #104933 - RalfJung:interpret-partial-ord, r=oli-obk 2022-11-28 17:25:47 +01:00
rustc_mir_build Prefer doc comments over //-comments in compiler 2022-11-27 11:19:04 +00:00
rustc_mir_dataflow Rewrite dest prop. 2022-11-26 18:04:54 -08:00
rustc_mir_transform Rollup merge of #104732 - WaffleLapkin:from_def_idn't, r=compiler-errors 2022-11-28 15:42:10 +05:30
rustc_monomorphize Prefer doc comments over //-comments in compiler 2022-11-27 11:19:04 +00:00
rustc_parse Rename NestedMetaItem::[Ll]iteral as NestedMetaItem::[Ll]it. 2022-11-28 15:18:53 +11:00
rustc_parse_format shift no characters when using raw string literals 2022-11-15 14:28:20 +09:00
rustc_passes Rename NestedMetaItem::[Ll]iteral as NestedMetaItem::[Ll]it. 2022-11-28 15:18:53 +11:00
rustc_plugin_impl Migrate all diagnostics 2022-10-23 10:09:44 +02:00
rustc_privacy Auto merge of #99798 - JulianKnodt:ac1, r=BoxyUwU 2022-11-25 22:56:59 +00:00
rustc_query_impl Rollup merge of #104675 - SarthakSingh31:issue-101666, r=jyn514 2022-11-26 10:39:10 +01:00
rustc_query_system Prefer doc comments over //-comments in compiler 2022-11-27 11:19:04 +00:00
rustc_resolve Rollup merge of #104954 - vincenzopalazzo:macros/prinf, r=estebank 2022-11-28 17:25:48 +01:00
rustc_save_analysis Rollup merge of #104976 - WaffleLapkin:move_comments, r=cjgillot 2022-11-27 22:14:08 +01:00
rustc_serialize Prefer doc comments over //-comments in compiler 2022-11-27 11:19:04 +00:00
rustc_session Stabilize native library modifier verbatim 2022-11-27 22:36:32 +03:00
rustc_smir
rustc_span Rollup merge of #104976 - WaffleLapkin:move_comments, r=cjgillot 2022-11-27 22:14:08 +01:00
rustc_symbol_mangling Rollup merge of #104786 - WaffleLapkin:amp-mut-help, r=compiler-errors 2022-11-26 17:47:23 +01:00
rustc_target Prefer doc comments over //-comments in compiler 2022-11-27 11:19:04 +00:00
rustc_trait_selection Rollup merge of #104907 - compiler-errors:selcx-infcx, r=oli-obk 2022-11-28 15:42:11 +05:30
rustc_traits Rollup merge of #104906 - spastorino:remove-ascribeusertypecx, r=compiler-errors 2022-11-26 10:39:12 +01:00
rustc_transmute Auto merge of #103831 - chenyukang:yukang/fix-103751-ice, r=nagisa 2022-11-05 13:48:30 +00:00
rustc_ty_utils Rollup merge of #105006 - RalfJung:scalar-pair-alignment, r=eddyb 2022-11-28 17:25:50 +01:00
rustc_type_ir Remove some unnecessary slicing 2022-11-21 20:38:55 +00:00