rust/compiler
Michael Goulet 4a24aab220
Rollup merge of #96971 - zhaixiaojuan:master, r=wesleywiser
Initial support for loongarch64-unknown-linux-gnu

Hi, We hope to add a new port in rust for LoongArch.

LoongArch intro
LoongArch is a RISC style ISA which is independently designed by Loongson
Technology in China. It is divided into two versions, the 32-bit version (LA32)
and the 64-bit version (LA64). LA64 applications have application-level
backward binary compatibility with LA32 applications. LoongArch is composed of
a basic part (Loongson Base) and an expanded part. The expansion part includes
Loongson Binary Translation (LBT), Loongson VirtualiZation (LVZ), Loongson SIMD
EXtension (LSX) and Loongson Advanced SIMD EXtension(LASX).

Currently the LA464 processor core supports LoongArch ISA and the Loongson
3A5000 processor integrates 4 64-bit LA464 cores. LA464 is a four-issue 64-bit
high-performance processor core. It can be used as a single core for high-end
embedded and desktop applications, or as a basic processor core to form an
on-chip multi-core system for server and high-performance machine applications.

Documentations:
ISA:
https://loongson.github.io/LoongArch-Documentation/LoongArch-Vol1-EN.html
ABI:
https://loongson.github.io/LoongArch-Documentation/LoongArch-ELF-ABI-EN.html
More docs can be found at:
https://loongson.github.io/LoongArch-Documentation/README-EN.html

Since last year, we have locally adapted two versions of rust, rust1.41 and rust1.57, and completed the test locally.
I'm not sure if I'm submitting all the patches at once, so I split up the patches and here's one of the commits
2023-04-11 20:28:45 -07:00
..
rustc fix link 2023-03-11 10:53:47 -06:00
rustc_abi Fix some clippy::complexity 2023-04-09 23:22:14 +02:00
rustc_apfloat compiler: remove unnecessary imports and qualified paths 2022-12-10 18:45:34 +01:00
rustc_arena Allow clippy::from_mut_ref 2023-04-09 22:29:56 +02:00
rustc_ast Rename ast::Static to ast::StaticItem to match ast::ConstItem 2023-04-04 15:34:40 +00:00
rustc_ast_lowering Rename ast::Static to ast::StaticItem to match ast::ConstItem 2023-04-04 15:34:40 +00:00
rustc_ast_passes Rollup merge of #109923 - ElectrifyPro:visibility, r=wesleywiser 2023-04-11 12:18:50 +09:00
rustc_ast_pretty Remove identity casts 2023-04-09 23:22:14 +02:00
rustc_attr Bless tidy 2023-03-27 18:58:07 +00:00
rustc_baked_icu_data update ICU4X to 1.1.0 2023-02-04 22:28:59 +01:00
rustc_borrowck Auto merge of #110036 - jackh726:placeholder_boundvar, r=nnethercote 2023-04-07 14:26:24 +00:00
rustc_builtin_macros Auto merge of #110092 - clubby789:builtin-macros-translatable, r=compiler-errors 2023-04-11 14:40:54 +00:00
rustc_codegen_cranelift Rename Abort terminator to Terminate 2023-04-06 09:34:16 +01:00
rustc_codegen_gcc Rollup merge of #96971 - zhaixiaojuan:master, r=wesleywiser 2023-04-11 20:28:45 -07:00
rustc_codegen_llvm Auto merge of #109862 - klensy:llvm-dd, r=nikic 2023-04-08 15:57:59 +00:00
rustc_codegen_ssa Rollup merge of #96971 - zhaixiaojuan:master, r=wesleywiser 2023-04-11 20:28:45 -07:00
rustc_const_eval Auto merge of #102906 - nbdd0121:mir, r=wesleywiser,tmiasko 2023-04-07 10:31:14 +00:00
rustc_data_structures Inline format_args 2023-04-09 23:29:39 +02:00
rustc_driver Remove unneeded extern crate 2023-02-02 07:47:39 +01:00
rustc_driver_impl implement --print=all-target-specs-json 2023-04-03 09:24:14 +02:00
rustc_error_codes Make "unneccesary visibility qualifier" error much more clear 2023-04-03 21:52:27 -05:00
rustc_error_messages Stabilize a portion of 'once_cell' 2023-03-29 18:04:44 -04:00
rustc_errors Auto merge of #110092 - clubby789:builtin-macros-translatable, r=compiler-errors 2023-04-11 14:40:54 +00:00
rustc_expand Fix some clippy::complexity 2023-04-09 23:22:14 +02:00
rustc_feature Auto merge of #106281 - JulianKnodt:transmute_const_generics, r=b-naber 2023-04-08 19:47:22 +00:00
rustc_fs_util Add try_canonicalize to rustc_fs_util and use it over fs::canonicalize 2023-03-16 21:50:23 +01:00
rustc_graphviz Fix uninlined_format_args for some compiler crates 2023-01-05 19:01:12 +01:00
rustc_hir Fix some clippy::complexity 2023-04-09 23:22:14 +02:00
rustc_hir_analysis rustc_metadata: Filter encoded data more aggressively using DefKind 2023-04-10 16:24:36 +03:00
rustc_hir_pretty Remove identity casts 2023-04-09 23:22:14 +02:00
rustc_hir_typeck Auto merge of #109850 - MU001999:master, r=estebank 2023-04-11 03:07:58 +00:00
rustc_incremental Check for escape sequences in Fluent resources 2023-03-29 18:34:29 +01:00
rustc_index Fix some clippy::complexity 2023-04-09 23:22:14 +02:00
rustc_infer Auto merge of #108698 - IntQuant:issue-100717-infer-6, r=davidtwco 2023-04-10 19:38:48 +00:00
rustc_interface Migrate sess.opts.tests uses to sess.is_test_crate() 2023-04-09 21:37:31 +02:00
rustc_lexer fix(lexer): not skipped whitespace warning for '\x0c' 2023-03-09 22:44:58 +08:00
rustc_lint Use HashMap entry APIs more 2023-04-09 21:59:28 +02:00
rustc_lint_defs Rollup merge of #108588 - ehuss:lint-docs-produces, r=eholk 2023-03-23 19:55:45 +01:00
rustc_llvm Rollup merge of #96971 - zhaixiaojuan:master, r=wesleywiser 2023-04-11 20:28:45 -07:00
rustc_log write threads info into log only when debugging 2023-04-04 15:31:37 +08:00
rustc_macros Auto merge of #110092 - clubby789:builtin-macros-translatable, r=compiler-errors 2023-04-11 14:40:54 +00:00
rustc_metadata rustc_metadata: Filter encoded data more aggressively using DefKind 2023-04-10 16:24:36 +03:00
rustc_middle Auto merge of #109778 - petrochenkov:allkind, r=cjgillot 2023-04-11 00:39:27 +00:00
rustc_mir_build Auto merge of #102906 - nbdd0121:mir, r=wesleywiser,tmiasko 2023-04-07 10:31:14 +00:00
rustc_mir_dataflow Revert box_free unwind action 2023-04-06 09:34:16 +01:00
rustc_mir_transform Auto merge of #110031 - compiler-errors:generic-elaboration, r=b-naber 2023-04-09 00:18:10 +00:00
rustc_monomorphize Rename Abort terminator to Terminate 2023-04-06 09:34:16 +01:00
rustc_parse Remove identity casts 2023-04-09 23:22:14 +02:00
rustc_parse_format Improve heuristics for format_args literal being suggestable 2023-03-14 13:20:39 +00:00
rustc_passes Migrate sess.opts.tests uses to sess.is_test_crate() 2023-04-09 21:37:31 +02:00
rustc_plugin_impl expand: Pass ast::Crate by reference to AST transforming passes 2023-03-23 14:20:55 +04:00
rustc_privacy rustc_middle: Remove Option from module_reexports query 2023-04-08 13:29:16 +03:00
rustc_query_impl Auto merge of #110012 - matthiaskrgr:rollup-sgmm5xv, r=matthiaskrgr 2023-04-06 18:48:42 +00:00
rustc_query_system Fix some clippy::complexity 2023-04-09 23:22:14 +02:00
rustc_resolve Auto merge of #109638 - NotStirred:suggest/non-derive, r=davidtwco 2023-04-10 21:50:46 +00:00
rustc_serialize Remove f32 & f64 from MemDecoder/MemEncoder 2023-04-06 00:54:07 -07:00
rustc_session Rollup merge of #110124 - Nilstrieb:📎-told-me-so, r=compiler-errors 2023-04-10 14:13:16 +05:30
rustc_smir Fix new usage of old api 2023-04-06 09:34:16 +01:00
rustc_span Fix some clippy::complexity 2023-04-09 23:22:14 +02:00
rustc_symbol_mangling Remove index from BrAnon 2023-04-06 23:01:40 -04:00
rustc_target Rollup merge of #96971 - zhaixiaojuan:master, r=wesleywiser 2023-04-11 20:28:45 -07:00
rustc_trait_selection Stall auto-trait assembly for int/float vars in new solver 2023-04-10 15:54:14 +00:00
rustc_traits Remove u32 on BoundTyKind::Anon 2023-04-06 23:08:04 -04:00
rustc_transmute Some simple clippy::perf fixes 2023-04-09 21:59:28 +02:00
rustc_ty_utils Update compiler/rustc_ty_utils/src/layout.rs 2023-04-08 21:40:33 +01:00
rustc_type_ir Generate simpler MIR for shifts 2023-03-22 13:32:12 -07:00