675 Commits

Author SHA1 Message Date
bjorn3
0d28d642b5 Remove the source archive functionality of ArchiveWriter
We now build archives through strictly additive means rather than taking
an existing archive and potentially substracting parts.
2022-06-19 12:56:31 +00:00
bjorn3
2c7038b860 Fix "Remove src_files and remove_file" 2022-06-19 12:56:31 +00:00
antoyo
302157d7bd
Merge pull request #181 from GuillaumeGomez/more-intrinsics
More intrinsics
2022-06-18 11:25:34 -04:00
bjorn3
489d2daec0 Remove src_files and remove_file
They only apply to the main source archive and their role can be
fulfilled through the skip argument of add_archive too.
2022-06-14 15:11:14 +00:00
flip1995
0acd23c1da Add llvm.type.checked.load intrinsic
Add the intrinsic

declare {i8*, i1} @llvm.type.checked.load(i8* %ptr, i32 %offset, metadata %type)

This is used in the VFE optimization when lowering loading functions
from vtables to LLVM IR. The `metadata` is used to map the function to
all vtables this function could belong to. This ensures that functions
from vtables that might be used somewhere won't get removed.
2022-06-14 14:50:52 +02:00
Antoni Boucher
ee4755afdb Add more SIMD 2022-06-09 21:11:30 -04:00
Guillaume Gomez
c66055c193 Generate new intrinsics 2022-06-09 14:25:48 +02:00
Antoni Boucher
fc7030130e Remove unused macro rule 2022-06-07 08:50:13 -04:00
Antoni Boucher
13fa30c6c3 Add more SIMD 2022-06-06 22:08:07 -04:00
Antoni Boucher
b55bd956dc Add more SIMD 2022-06-06 22:08:07 -04:00
Antoni Boucher
e5a1bb2f59 Add more SIMD 2022-06-06 22:08:07 -04:00
Antoni Boucher
fe606eb444 Add more SIMD 2022-06-06 22:08:07 -04:00
Antoni Boucher
df85771b34 Add more SIMD 2022-06-06 22:08:07 -04:00
Antoni Boucher
06073c9dfc Add more SIMD 2022-06-06 22:08:07 -04:00
Antoni Boucher
2fa6a9080b Add more SIMD 2022-06-06 22:08:07 -04:00
Antoni Boucher
f59d345fc1 Refactor 2022-06-06 22:08:07 -04:00
Antoni Boucher
4e802c84c5 Remove intrinsics that were adding by the updated script 2022-06-06 22:08:07 -04:00
Antoni Boucher
3b35940443 Implement more SIMD 2022-06-06 22:08:07 -04:00
Antoni Boucher
fac57d9a06 Merge commit 'e8dca3e87d164d2806098c462c6ce41301341f68' into sync_from_cg_gcc 2022-06-06 22:04:37 -04:00
Antoni Boucher
fb69f73d67 Fix exactudiv 2022-06-06 21:17:14 -04:00
Antoni Boucher
bafdded12b Merge branch 'master' into sync_from_rust2 2022-06-06 20:57:25 -04:00
yvt
10a9c0e57f Mark immutable globals as read-only with LValue::global_set_readonly 2022-05-28 15:18:15 +09:00
Mark Rousskov
a513b2abae Finish bumping stage0
It looks like the last time had left some remaining cfg's -- which made me think
that the stage0 bump was actually successful. This brings us to a released 1.62
beta though.
2022-05-27 07:36:17 -04:00
Tomasz Miąsko
4620b9f823 rustc_codegen_ssa: derive copy and clone for various enums 2022-05-25 10:34:35 +02:00
Tomasz Miąsko
8f0f6e365c rustc_codegen_ssa: cleanup AtomicOrdering
* Remove unused `NotAtomic` ordering.
* Rename `Monotonic` to `Relaxed` - a Rust specific name.
2022-05-25 10:34:35 +02:00
Connor Horman
084d2d7c49 Handle tmm_reg in rustc_codegen_gcc 2022-05-17 06:34:58 -04:00
antoyo
e6dbecdff3
Merge pull request #175 from GuillaumeGomez/llvmint-update
Update llvmint
2022-05-15 10:25:28 -04:00
Guillaume Gomez
be960e1747 Update llvmint 2022-05-15 15:25:12 +02:00
Antoni Boucher
4a9744059f Feature gate call to get_size() for libgccjit 12 2022-05-04 22:20:38 -04:00
Antoni Boucher
e7df0a4b54 Simplify get() after contains() 2022-05-04 21:53:22 -04:00
Antoni Boucher
603d342e00 Feature-gate for libgccjit 12 2022-05-04 21:26:25 -04:00
Antoni Boucher
d4ab681ebd Add comments 2022-05-04 21:17:58 -04:00
Antoni Boucher
41807a3094 Support more SIMD intrinsics 2022-05-03 22:46:40 -04:00
Antoni Boucher
4b40ac790d Support more SIMD intrinsics and refactor argument adjustment 2022-05-03 22:35:26 -04:00
Antoni Boucher
eba654c57a Support more SIMD intrinsics 2022-05-03 17:47:46 -04:00
Antoni Boucher
6bfe2b0b05 Support more SIMD intrinsics 2022-05-03 17:47:46 -04:00
Antoni Boucher
ace3250da8 Fix shuffle_vector 2022-05-03 17:47:46 -04:00
Antoni Boucher
a65418666f Implement simd_select_bitmask 2022-05-03 17:47:46 -04:00
Antoni Boucher
ddc152b04d Add more SIMD 2022-05-03 17:47:46 -04:00
Antoni Boucher
4636c59df5 Add more SIMD 2022-05-03 17:47:46 -04:00
Antoni Boucher
5088fb3d3b Cast arguments in SIMD function 2022-05-03 17:47:46 -04:00
antoyo
852735da05
Merge pull request #171 from GuillaumeGomez/update-intrinsics
Update intrinsics conversion generation
2022-05-03 17:47:03 -04:00
Guillaume Gomez
6e1bf49273 Give priority to intrinsics translations from llvm 2022-05-03 23:00:25 +02:00
Guillaume Gomez
618ba484e9 Handle a syntax corner case where a def does not end with a ; 2022-05-03 23:00:25 +02:00
Guillaume Gomez
f402cfe561 Update intrinsics 2022-05-03 21:24:22 +02:00
Guillaume Gomez
ed0ba311c5 Update intrinsics 2022-05-03 20:55:55 +02:00
yvt
351c683674 Use the given pointee type in <Builder as BuilderMethods>::load
This commit updates this method implementation to return an `RValue` of
the given pointee type.

While this parameter does not seem to have much significance at the
moment, it will likely become important as cg_llvm and cg_ssa migrate to
LLVM opaque pointers and get rid of pointercasts.
2022-05-03 13:53:10 +09:00
yvt
a225f0a66b Pass a pointee type to <Builder as BuilderMethods>::load when calling it ourselves
The parameter name isn't very descriptive, but it actually supposed to
take a pointee type. When calling it ourselves, we've been passing a
*pointer* type, which made it impossible to make any meaningful uses of
this parameter in the method implementation. This commit intends to
rectify that.
2022-05-03 13:53:10 +09:00
bjorn3
dc824452a9 Merge new_metadata into codegen_allocator 2022-04-30 21:20:08 +02:00
bjorn3
c00ecf5d5d Remove config parameter of optimize_fat and avoid interior mutability for module 2022-04-30 20:58:42 +02:00