| Age | Commit message (Collapse) | Author | Lines |
|
compiletest: Rewrite extract_*_version functions
This makes extract_lldb_version has the same version type like
extract_gdb_version.
|
|
Stabilize control-flow-guard codegen option
This is the stabilization PR discussed in #68793. It converts the `-Z control-flow-guard` debugging option into a codegen option (`-C control-flow-guard`), and changes the associated tests.
|
|
functions
This patch extends the existing `type_i8p` method so that it requires an
explicit address space to be specified. Before this patch, the
`type_i8p` method implcitily assumed the default address space, which is
not a safe transformation on all targets, namely AVR.
The Rust compiler already has support for tracking the "instruction
address space" on a per-target basis. This patch extends the code
generation routines so that an address space must always be specified.
In my estimation, around 15% of the callers of `type_i8p` produced
invalid code on AVR due to the loss of address space prior to LLVM final
code generation. This would lead to unavoidable assertion errors
relating to invalid bitcasts.
With this patch, the address space is always either 1) explicitly set to
the instruction address space because the logic is dealing with functions
which must be placed there, or 2) explicitly set to the default address
space 0 because the logic can only operate on data space pointers and thus
we keep the existing semantics of assuming the default, "data" address space.
|
|
|
|
|
|
Fix 44056 test with debug on macos.
The test `codegen/issue-44056-macos-tls-align.rs` fails on macos if `debug-assertions` is enabled in `config.toml`. It has the following error:
```
/Users/eric/Proj/rust/rust/src/test/codegen/issue-44056-macos-tls-align.rs:9:11: error: CHECK: expected string not found in input
// CHECK: @STATIC_VAR_1 = thread_local local_unnamed_addr global <{ [32 x i8] }> zeroinitializer, section "__DATA,__thread_bss", align 4
^
/Users/eric/Proj/rust/rust/build/x86_64-apple-darwin/test/codegen/issue-44056-macos-tls-align/issue-44056-macos-tls-align.ll:1:1: note: scanning from here
; ModuleID = 'issue_44056_macos_tls_align.3a1fbbbh-cgu.0'
^
/Users/eric/Proj/rust/rust/build/x86_64-apple-darwin/test/codegen/issue-44056-macos-tls-align/issue-44056-macos-tls-align.ll:9:1: note: possible intended match here
@STATIC_VAR_1 = thread_local global <{ [32 x i8] }> zeroinitializer, section "__DATA,__thread_bss", align 4
^
```
Comparing the output, the actual output is missing the text "`local_unnamed_addr`".
The fix here is to ignore `local_unnamed_addr`, as it doesn't seem relevant to the test.
|
|
Ignoring test case: [codegen] repr-transparent-aggregates-1.rs for aarch64
Ignoring test case: [codegen] repr-transparent-aggregates-1.rs for aarch64.
Copyright (c) 2020, Arm Limited.
|
|
|
|
#71669: add ui, codegen tests for volatile + nearby int intrinsics
Added some tests for intrinsics. See https://github.com/rust-lang/rust/issues/71669.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Copyright (c) 2020, Arm Limited.
|
|
Prepare for LLVM 11
These are just the code changes needed to build with the current LLVM master (version 11).
r? @nikic
|
|
Omit DW_AT_linkage_name when it is the same as DW_AT_name
The DWARF standard suggests that it might be useful to include
`DW_AT_linkage_name` when it is *distinct* from the identifier name.
Fixes #46487.
Fixes #59422.
|
|
|
|
This keeps FileCheck from tripping over unimportant differences in
codegen.
|
|
|
|
..which doesn't use variant types.
|
|
Don't be so reliant on particular line ordering (though FileCheck makes
this hard in general, IMO). Also disable for MSVC.
|
|
|
|
Rollup of 9 pull requests
Successful merges:
- #72456 (Try to suggest dereferences on trait selection failed)
- #72788 (Projection bound validation)
- #72790 (core/time: Add Duration methods for zero)
- #73227 (Allow multiple `asm!` options groups and report an error on duplicate options)
- #73287 (lint: normalize projections using opaque types)
- #73291 (Pre-compute `LocalDefId` <-> `HirId` mappings and remove `NodeId` <-> `HirId` conversion APIs)
- #73378 (Remove use of specialization from librustc_arena)
- #73411 (Update bootstrap to rustc 1.45.0-beta.2 (1dc0f6d8e 2020-06-15))
- #73443 (ci: allow gating GHA on everything but macOS)
Failed merges:
r? @ghost
|
|
|
|
Update CFGuard syntax
Update the naming and syntax of the control-flow-guard option, as discussed in #68793.
r? @Mark-Simulacrum
|
|
memory access sanity checks: abort instead of panic
Suggested by @Mark-Simulacrum, this should help reduce the performance impact of these checks.
|
|
compiletest: Add directives to detect sanitizer support
Add needs-sanitizer-{address,leak,memory,thread} directive indicating
that test requires target with support for specific sanitizer.
This is an addition to the existing needs-sanitizer-support directive
indicating that test requires a sanitizer runtime library.
The existing needs-sanitizer-support directive could be incorporated into the
new ones, but I decided to retain it, since it enables running sanitizer
codegen tests even when building of sanitizer runtime libraries is disabled.
|
|
Test that bounds checks are elided when slice len is checked up-front
Closes #69101
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Add needs-sanitizer-{address,leak,memory,thread} directive indicating
that test requires target with support for specific sanitizer.
This is an addition to the existing needs-sanitizer-support directive
indicating that test requires a sanitizer runtime library.
|
|
Fix codegen tests for RISC-V
Some codegen tests didn't seem relevant (e.g. unsupported annotations).
The RISC-V abi tests were broken by LLVM 10, c872dcf fixes that (cc: @msizanoen1)
I'm not sure about skipping catch-unwind.rs and included that change here mostly as a request for comment - I can't tell if that's a bug.
|
|
This reverts commit 611988551fba1bcbb33ae2e1e0171cb8d2e70d5a.
|
|
It isn't clear to me if this is a bug or not, hence the FIXME
|
|
|
|
LLVM 10 includes a009a60a917bc30940422bcef73f8270566d78db which will
print value numbers for unnamed func args.
Update these tests to be in line with the referenced clang tests.
|
|
|
|
The DWARF standard suggests that it might be useful to include
`DW_AT_linkage_name` when it is *distinct* from the identifier name.
|