rust/compiler/rustc_codegen_llvm/src
bors 72c7b70267 Auto merge of #80838 - nagisa:nagisa/stack-probe-type, r=cuviper
Target stack-probe support configurable finely

This adds capability to configure the target's stack probe support in a
more precise manner than just on/off. In particular now we allow
choosing between always inline-asm, always call or either one of those
depending on the LLVM version.

Note that this removes the ability to turn off the generation of the
stack-probe attribute. This is valid to replace it with inline-asm for all targets because
`probe-stack="inline-asm"` will not generate any machine code on targets
that do not currently support stack probes. This makes support for stack
probes on targets that don't have any right now automatic with LLVM
upgrades in the future.

(This is valid to do based on the fact that clang unconditionally sets
this attribute when `-fstack-clash-protection` is used, AFAICT)

cc #77885
r? `@cuviper`
2021-01-24 09:44:42 +00:00
..
back Use Option::map_or instead of .map(..).unwrap_or(..) 2021-01-14 19:23:59 +01:00
coverageinfo remove redundant closures (clippy::redundant_closure) 2021-01-03 13:34:24 +01:00
debuginfo Rollup merge of #81008 - tmiasko:generator-layout-err, r=tmandry 2021-01-15 18:26:16 +09:00
llvm Use probe-stack=inline-asm in LLVM 11+ 2021-01-14 22:49:16 -05:00
abi.rs Rename prefix_chunk to prefix_chunk_size 2020-11-21 19:22:31 +01:00
allocator.rs Collapse all uses of target.options.foo into target.foo 2020-11-08 17:29:13 +03:00
asm.rs Add wasm32 support to inline asm 2020-12-01 12:18:21 -06:00
attributes.rs Target stack-probe support configurable finely 2021-01-16 12:38:02 +02:00
base.rs Update and improve rustc_codegen_{llvm,ssa} docs 2020-12-22 19:42:23 -08:00
builder.rs Fix even more clippy warnings 2020-10-30 10:13:39 -04:00
callee.rs rustc_target: Rename some target options to avoid tautology 2020-11-08 17:29:13 +03:00
common.rs Update and improve rustc_codegen_{llvm,ssa} docs 2020-12-22 19:42:23 -08:00
consts.rs Collapse all uses of target.options.foo into target.foo 2020-11-08 17:29:13 +03:00
context.rs Use probe-stack=inline-asm in LLVM 11+ 2021-01-14 22:49:16 -05:00
declare.rs Collapse all uses of target.options.foo into target.foo 2020-11-08 17:29:13 +03:00
intrinsic.rs use strip_prefix over slicing (clippy::manual_strip) 2020-12-11 23:02:17 +01:00
lib.rs Use LLVMGetHostCPUFeatures instead of stdsimd 2021-01-07 23:25:19 -05:00
llvm_util.rs Rollup merge of #81095 - LingMan:unwrap, r=oli-obk 2021-01-17 12:24:59 +00:00
metadata.rs Collapse all uses of target.options.foo into target.foo 2020-11-08 17:29:13 +03:00
mono_item.rs mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
type_.rs Remove MMX from Rust 2020-09-20 15:13:11 +02:00
type_of.rs Revert "cg_llvm: fewer_names in uncached_llvm_type" 2020-12-17 16:40:47 +00:00
va_arg.rs Prefer enum Endian in rustc_target::Target 2021-01-06 13:34:19 +00:00
value.rs mv compiler to compiler/ 2020-08-30 18:45:07 +03:00