Commit graph

34 commits

Author SHA1 Message Date
sapir
f579dee206 Implement CodeModel 2024-08-05 00:37:59 +03:00
Antoni Boucher
bc8520d98e Revert "Fix LTO tests"
This reverts commit 2d123d08c9.
2024-07-05 11:35:16 -04:00
Antoni Boucher
2d123d08c9 Fix LTO tests
FIXME: we now have fat LTO objects even when only bitcode is requested.
2024-07-05 10:42:03 -04:00
Antoni Boucher
05a41b88a9 Merge branch 'master' into sync_from_rust_2024_07_02 2024-07-02 12:40:16 -04:00
Antoni Boucher
bbc765b49b Fix clippy warnings 2024-07-02 12:27:31 -04:00
Antoni Boucher
21b1b11981 WIP: Implement dummy ThinLTO
FIXME: This seems very slow.
==> Not sure anymore: compare with the master branch.
2024-07-02 12:27:25 -04:00
Robert Zakrzewski
dabf5faff0 Add support for Float64 2024-06-21 22:10:52 +02:00
Antoni Boucher
c4e7c04de9 Fix location of check for sized floating-point types 2024-06-21 16:12:05 +02:00
tempdragon
6f76488b2f fix(fmt/style): Remove unncessary clones, into's and deref's 2024-03-11 10:24:22 +08:00
Guillaume Gomez
faebf73983 Merge commit 'b385428e3d' into subtree-update_cg_gcc_2024-03-05 2024-03-05 19:58:36 +01:00
Antoni Boucher
c2c68e3f4d Format the code 2024-02-28 17:49:16 -05:00
tempdragon
ef158f295e feat(debuginfo.rs): Add Comments on functions of LLVM Origin 2024-02-29 02:39:39 +08:00
tempdragon
eaeb54448e fix(base): Remove the set_debug_info() in compile_codegen_unit 2024-02-29 01:29:20 +08:00
tempdragon
09fd9087b6 fix(code fmt): builder.rs & base.rs 2024-02-28 11:38:44 +08:00
tempdragon
c638defad7 feat(debuginfo): Init Commit for debuginfo Support
TODO:
1. Add int.rs locations
2. Add demangling support
3. Add debug scope support
4. Add vtable support
5. Clean up builder.rs locations
2024-02-24 20:12:08 +08:00
vuittont60
4e8627cf89
Fix typo src/base.rs 2024-01-09 10:53:00 +08:00
Antoni Boucher
456754c21a Pass TyCtxt by value 2023-11-19 14:04:40 -05:00
Antoni Boucher
75fce09751 Merge commit '2e8386e9fb' into subtree-update_cg_gcc_2023-11-17 2023-11-19 13:42:13 -05:00
Antoni Boucher
9f4f90b19a Merge commit 'e4fe941b11' into subtree-update_cg_gcc_2023-10-25 2023-10-26 17:42:02 -04:00
Antoni Boucher
22e6f6caaf Fix checks 2023-10-09 16:03:05 -04:00
Antoni Boucher
242a482c88 Merge commit '11a0cceab9' into subtree-update_cg_gcc_2023-10-09 2023-10-09 15:53:34 -04:00
Nicholas Nethercote
4bebfae44a Introduce MonoItemData.
It replaces `(Linkage, Visibility)`, making the code nicer. Plus the
next commit will add another field.
2023-07-17 08:44:48 +10:00
Antoni Boucher
d725cfb6ab Merge commit '08a6d6e16b' into sync-cg_gcc-2023-03-04 2023-03-05 12:03:19 -05:00
Jeremy Stucki
b4e9ba5cf3 rustc: Remove needless lifetimes 2022-12-20 22:10:40 +01:00
Joshua Nelson
bca7b0279f Rename debugging_opts to unstable_opts
This is no longer used only for debugging options (e.g. `-Zoutput-width`, `-Zallow-features`).
Rename it to be more clear.
2022-07-13 17:47:06 -05:00
Antoni Boucher
fac57d9a06 Merge commit 'e8dca3e87d' into sync_from_cg_gcc 2022-06-06 22:04:37 -04:00
bjorn3
3888aafe3a Merge commit '39683d8eb7' into sync_cg_gcc-2022-03-26 2022-03-26 18:29:37 +01:00
bjorn3
54d2ec1a82 Merge commit '1411a98352' into sync_cg_clif-2021-12-31 2021-12-31 16:26:32 +01:00
Nikita Popov
98afc30b95 Use object crate for .rustc metadata generation
We already use the object crate for generating uncompressed .rmeta
metadata object files. This switches the generation of compressed
.rustc object files to use the object crate as well. These have
slightly different requirements in that .rmeta should be completely
excluded from any final compilation artifacts, while .rustc should
be part of shared objects, but not loaded into memory.

The primary motivation for this change is #90326: In LLVM 14, the
current way of setting section flags (and in particular, preventing
the setting of SHF_ALLOC) will no longer work. There are other ways
we could work around this, but switching to the object crate seems
like the most elegant, as we already use it for .rmeta, and as it
makes this independent of the codegen backend. In particular, we
don't need separate handling in codegen_llvm and codegen_gcc.
codegen_cranelift should be able to reuse the implementation as
well, though I have omitted that here, as it is not based on
codegen_ssa.

This change mostly extracts the existing code for .rmeta handling
to allow using it for .rustc as well, and adjust the codegen
infrastructure to handle the metadata object file separately: We
no longer create a backend-specific module for it, and directly
produce the compiled module instead.

This does not fix #90326 by itself yet, as .llvmbc will need to be
handled separately.
2021-12-07 09:39:05 +01:00
Camille GILLOT
ce9faca631 Make hash_result an Option. 2021-10-20 18:29:18 +02:00
Camille GILLOT
27a819ebc7 Rebase fallout. 2021-09-30 20:22:42 +02:00
antoyo
64c561dc22
Fix global initialization (#91)
* Make define_global() return a RValue directly
* Return LValue in functions declaring a global variable
* Remove useless cast
* Fix bytes_in_context to use an array rvalue
* Remove global_names which is unused
* Make const_struct create a constant struct
* Correctly initialize global in static_addr_of_mut
* Fix global variable initialization
* Remove workaround for ARGV
2021-09-26 12:20:02 -04:00
antoyo
e228f0c16e
Cleanup (#67) 2021-08-15 08:28:46 -04:00
Antoni Boucher
afae271d5d Initial commit 2021-08-12 21:46:50 -04:00