Skip to content

Unblock merge #302

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 10,000 commits into from
Closed

Unblock merge #302

wants to merge 10,000 commits into from

Conversation

DougGregor
Copy link
Contributor

No description provided.

Teemperor and others added 30 commits March 8, 2021 11:28
…date

This function returns true if the ValueObject should be updated. The current
implementation checks whether the current CompilerType is inside the current
scratch AST. If the type is in the scratch AST then the ValueObject is marked
as out of date and will be updated.

From what I can see this check is inverted. It was added as part of a patch
that implemented recreating the scratch AST (8c9ffb1)
and the idea seems to be that the CompilerType should be re-evaluated in case
the current type is in a no longer existing or outdated scratch AST. The current
implementation however is checking the opposite (the ValueObject is marked
as out of date if its type is in the current scratch AST).

From what I can see we create CompilerTypes in the scratch AST so this
check is essentially always marking a ValueObjectDynamic as out-of-date.
Swifterror loads aren't really loads at all, but copies from the designated
swifterror register, so FastISel shouldn't try to turn them into a real load.
FastISel: do not fold a swifterror load into anything.
[CodeGen] Use musttail for swiftasync->swiftasync calls.
Currently, `print_module_map` is only respected for ubsan if it is ran in tandem with asan. This patch adds support for this flag in standalone mode. I copied the pattern used to implement this for asan.

Also added a common `print_module_map` lit test for Darwin only. Since the print messages are different per platform, we need to write a regex test to cover them. This test is coming in a separate patch

rdar://56135732

Reviewed By: vitalybuka, vsk, delcypher

Differential Revision: https://reviews.llvm.org/D97746

(cherry picked from commit 9059903)
Disable the -Welaborated-enum-base to build the Foundation on Linux
[Swift async] Add a baseline test for arguments and locals in logical frames
[lldb][swift] Also cache successful library loads in SwiftASTContext
[lldb][swift] Don't search all images in SwiftASTContext::LoadLibrary UsingPaths
…dsUpdate

[lldb][swift] Fix inverted cache check in DynamicValueTypeInfoNeedsUpdate
Make NSErrorDomain argument operate on the identifier instead of VarDecl
Use lit's with_system_environment function to propagate environment
variables to the tests. Include the usual suspects, as well as the
variables already explicitly forwarded.

(cherry picked from commit 080ded7)
This variable is used to reducing the likelihood of hitting module cache
issues in CI where different branches can potentially run on the same
machine.

(cherry picked from commit c2d2adb)
Update the crashlog script for changes to the JSON schema.

rdar://75122914

Differential revision: https://reviews.llvm.org/D98219

(cherry picked from commit cc52ea3)
…55be50dccc77464cad

[lldb] Update crashlog script for JSON changes
…660690a06503d226d7+c2d2adbce9299e562abd00b8f3139933beb97e17

🍒/ganymede/080ded7445cc670cf2628e660690a06503d226d7+c2d2adbce9299e562abd00b8f3139933beb97e17
Turn `-Wreturn-type` into an error.

This is currently used by libcxx, libcxxabi, and libunwind, and would be a good default
for all of llvm. I'm not aware of any cases where this shouldn't be an error. This
ensures different build configs, merges, and downstream branches catch issues sooner.

Differential Revision: https://reviews.llvm.org/D98224

(cherry picked from commit ce94a16)
…format_arg attribute

This is useful for APIs that want to produce an attributed NSString as a result of
some formatting API call.
Cherry-pick from main for x2
It is easier to read the unwind logging when you can see
when the inferior resumes / stops and we're doing new unwinds.

(cherry picked from commit ea659ea)
…2645)

* Don't create a swift async unwind plan when in a function prologue

If a swift async function does a standard ABI function call into
a normal function, at the start, we will still have the caller's
async register values (e.g. deref frame pointer shows us an
AsyncContext address with high-nibble flags set).

This patch changes SwiftLanguageRuntime to detect when we are in the
middle of a function prologue, and not return an async unwind plan
in that case.

* If Function found for $pc, don't also look at Symbol
  * Fix addressing-mode range for StoreSwiftAsyncContext
  * Constrain GISel instruction correctly.
  * Rename calling conv in .td
  * Base preserved mask on CC of callee, not caller.
  * Fix x86 FastISel
  * Change type of pop size to int (NFC since unsigned wrap is fine).
Cherry-pick recent changes to LLVM swift async stuff
SavchenkoValeriy and others added 25 commits March 30, 2021 18:20
`allocClassWithName` allocates an object with the given type.
The type is actually provided as a string argument (type's name).
This creates a possibility for not particularly useful warnings
from the analyzer.

In order to combat with those, this patch checks for casts of the
`allocClassWithName` results to types mentioned directly as its
argument.  All other uses of this method should be reasoned about
as before.

rdar://72165694

Differential Revision: https://reviews.llvm.org/D99500

(cherry picked from commit 9037730)
rdar://75020762

Differential Revision: https://reviews.llvm.org/D99274

(cherry picked from commit af7e1f0)
Currently performExtendCombine assumes that the src-element bitwidth * 2
is a valid MVT. But this is not the case for i1 and it causes a crash on
the v64i1 test cases added in this patch.

It turns out that this code appears to not be needed; the same patterns are
handled by other code and we end up with the same results, even without the
custom lowering. I also added additional test cases in a50037a.

Let's just remove the unneeded code.

Reviewed By: dmgreen

Differential Revision: https://reviews.llvm.org/D99437

(cherry-picked from 4822830)
… it.

Similar to the workaround code in ScalarizeVecRes_UnaryOp, ScalarizeVecRes_SETCC
, ScalarizeVecRes_VSELECT, etc.

If we have a case like this:

```
define <1 x half> @func(<1 x float> %x) {
  %tmp = fptrunc <1 x float> %x to <1 x half>
  ret <1 x half> %tmp
}
```

On AArch64, the <1 x float> is legal. So, this will crash if we call
GetScalarizedVector on it.

Differential Revision: https://reviews.llvm.org/D98208
… calls.

When -enable-swifttailcc-musttail-check is passed (off by default), we will
check that all swiftasync->swiftasync tail calls are marked musttail.

Fixes rdar://75899279.
[SelectionDAG] Don't scalarize vector fpround sources that don't need it.
This patch adds a new isIntOrFPConstant  helper function to check if a
SDValue is a integer of FP constant. This pattern is used in various
places.

There also are places that incorrectly just check for integer constants,
e.g. D99384, so hopefully this helper will help people avoid that issue.

Reviewed By: RKSimon

Differential Revision: https://reviews.llvm.org/D99428

(cherry-picked from eb3d9f2)
Currently the code only checks for integer constants (ConstantSDNode)
and triggers an infinite cycle for single-element floating point
vector constants. We need to check for both FP and integer constants.

Reviewed By: t.p.northover

Differential Revision: https://reviews.llvm.org/D99384

(cherry-picked from 52e0150)
Add debug info support for swiftasync arguments to GlobalISel
Add optional verification to check that tail calls from swifttail->swiftail are marked musttail.
This patch contains two bugfixes:
1. iterate over the MachineRefInfo's livein values instead of the MBB
2. move all DBG_VALUEs that point into an asyn context to the very beginning of the first basic block

rdar://75904857
Improve LiveDebugValues for arm64 Swift async variables.
Code assumes that uses of single predecessor phis are not live accross
suspend points. Cleanup any single predecessor phis preceeding the code
making this assumption.

rdar://76020301
Fix coro lowering of single predecessor phis
@repo-lockdown
Copy link

repo-lockdown bot commented Apr 2, 2021

This repository does not accept pull requests. Please follow http://llvm.org/docs/Contributing.html#how-to-submit-a-patch for contribution to LLVM.

@repo-lockdown repo-lockdown bot closed this Apr 2, 2021
@repo-lockdown repo-lockdown bot locked and limited conversation to collaborators Apr 2, 2021
@DougGregor DougGregor deleted the unblock-merge branch April 2, 2021 05:48
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.