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
06073c9dfc
Add more SIMD
2022-06-06 22:08:07 -04:00
Antoni Boucher
3b35940443
Implement more SIMD
2022-06-06 22:08:07 -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
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
Antoni Boucher
4a9744059f
Feature gate call to get_size() for libgccjit 12
2022-05-04 22:20:38 -04:00
Antoni Boucher
603d342e00
Feature-gate for libgccjit 12
2022-05-04 21:26:25 -04:00
Antoni Boucher
4b40ac790d
Support more SIMD intrinsics and refactor argument adjustment
2022-05-03 22:35:26 -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
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
Antoni Boucher
4d7de81199
Add feature for future libgccjit 12 release
2022-04-13 23:01:01 -04:00
Oli Scherer
d71f633d38
Mark scalar layout unions so that backends that do not support partially initialized scalars can special case them.
2022-04-05 13:18:21 +00:00
Yuri Astrakhan
74edcb8bd1
Spellchecking some comments
...
This PR attempts to clean up some minor spelling mistakes in comments
2022-03-30 01:39:38 -04:00
Antoni Boucher
267e5e1ea7
Add support for target builtins
2022-03-29 22:50:20 -04:00
Antoni Boucher
02970a6ca8
Add support for target builtins
2022-03-29 21:41:17 -04:00
bjorn3
3888aafe3a
Merge commit '39683d8eb7a32a74bea96ecbf1e87675d3338506' into sync_cg_gcc-2022-03-26
2022-03-26 18:29:37 +01:00
bjorn3
6faa6a28ba
Rustup to rustc 1.61.0-nightly ( d53246fed
2022-03-25)
2022-03-26 14:12:44 +01:00
bjorn3
db591778ac
Sync from rust bc881e83d1
2022-03-26 12:52:21 +01:00
cuishuang
8238b91402
all: fix some typos
...
Signed-off-by: cuishuang <imcusg@gmail.com>
2022-03-03 19:47:23 +08:00
Erik Desjardins
962b8cf38b
Revert "Auto merge of #92419 - erikdesjardins:coldland, r=nagisa"
...
This reverts commit 4f49627c6f
, reversing
changes made to 028c6f1454
.
2022-02-27 23:11:03 -05:00
Antoni Boucher
dcc0853a34
Add support for on_stack parameters
2022-02-27 22:23:03 -05:00
bjorn3
f7063174a4
Support -Cpanic=unwind without unwinding
2022-02-26 19:35:33 +01:00
bjorn3
3e35fab71e
Fix inttoptr
2022-02-26 09:41:37 +01:00
bjorn3
a7c1c47c83
Fix review comments
2022-02-25 17:25:32 +01:00
bjorn3
62e9b50f8d
Remove current_block field of CodegenCx
...
This field often had the wrong value when using multiple builders at the
same time.
2022-02-25 15:38:23 +01:00
bjorn3
07afdb8c0d
Use bitcast for ptrtoint and inttoptr
...
This works now
2022-02-25 15:36:08 +01:00
bjorn3
b48ed38482
Make bx.block non-optional
2022-02-25 15:30:07 +01:00
bjorn3
ff6b398f1b
Use bx.switch_to_block where possible
2022-02-25 15:28:56 +01:00
bjorn3
471234f8aa
Sync from rust 3d127e2040
2022-02-24 19:25:07 +01:00
bjorn3
18c34e41a4
Introduce Bx::switch_to_block
2022-02-24 12:18:21 +01:00
bjorn3
56b7080bdb
Remove build_sibling_block
2022-02-20 13:38:15 +01:00
bjorn3
5067ad9edc
Replace unimplemented with todo in apply_attrs_to_cleanup_callsite
2022-02-01 17:58:06 +01:00
bjorn3
28ba4302cc
Sync from rust a00e130dae
2022-02-01 17:49:41 +01:00
antoyo
41f20fa3a5
Support 128-bit integers on platforms without native support ( #103 )
...
* Use sized integer types
* Add support for integer types not supported on some platforms
* Add feature to test non-native integers in CI
2022-01-30 21:45:14 -05:00
bjorn3
4bdc78436b
Merge landing_pad and set_cleanup into cleanup_landing_pad
2022-01-24 14:10:05 +01:00
bjorn3
2eaf0bc20a
Merge add_handler into catch_switch
...
Some codegen backends may require all handlers to be immediately known
2022-01-24 14:10:05 +01:00
bjorn3
81597f2721
Remove unused return values from resume and cleanup_ret
...
Given that these instructions are diverging, not every codegen backend
may be able to produce a return value for them.
2022-01-24 13:48:09 +01:00
bjorn3
ba419539d5
Reorder unwinding related builder methods to differentiate between dwarf and msvc instructions
2022-01-24 13:45:34 +01:00
bors
da4a39264b
Auto merge of #92419 - erikdesjardins:coldland, r=nagisa
...
Mark drop calls in landing pads `cold` instead of `noinline`
Now that deferred inlining has been disabled in LLVM (#92110 ), this shouldn't cause catastrophic size blowup.
I confirmed that the test cases from https://github.com/rust-lang/rust/issues/41696#issuecomment-298696944 still compile quickly (<1s) after this change. ~Although note that I wasn't able to reproduce the original issue using a recent rustc/llvm with deferred inlining enabled, so those tests may no longer be representative. I was also unable to create a modified test case that reproduced the original issue.~ (edit: I reproduced it on CI by accident--the first commit timed out on the LLVM 12 builder, because I forgot to make it conditional on LLVM version)
r? `@nagisa`
cc `@arielb1` (this effectively reverts #42771 "mark calls in the unwind path as !noinline")
cc `@RalfJung` (fixes #46515 )
edit: also fixes #87055
2022-01-01 13:28:13 +00:00
bjorn3
54d2ec1a82
Merge commit '1411a98352ba6bee8ba3b0131c9243e5db1e6a2e' into sync_cg_clif-2021-12-31
2021-12-31 16:26:32 +01:00
Erik Desjardins
f3e1f33e3c
keep noinline for system llvm < 14
2021-12-30 00:15:51 -05:00
Erik Desjardins
2fec53053e
Mark drop calls in landing pads cold instead of noinline
...
Now that deferred inlining has been disabled in LLVM,
this shouldn't cause catastrophic size blowup.
2021-12-29 15:47:49 -05:00