Skip to content

More filecheck cleanup - #3

Merged
TIHan merged 4 commits into
TIHan:super-filecheckfrom
markples:test/super-filecheck-more
Sep 20, 2022
Merged

More filecheck cleanup#3
TIHan merged 4 commits into
TIHan:super-filecheckfrom
markples:test/super-filecheck-more

Conversation

@markples

@markplesmarkples commented Sep 20, 2022

Copy link
Copy Markdown

The important thing here is undoing the change to environment variable handling since it is not needed and can be reasoned about (reviewed) separately. I think the rest is general cleanup.

I haven't yet looked at the diff from super-filecheck + this PR against runtime main. I'd like to verify that the environment variable changes are all gone.

@TIHan
TIHan merged commit bd12e2f into TIHan:super-filecheckSep 20, 2022
@markples
markples deleted the test/super-filecheck-more branch December 9, 2022 23:14
TIHan pushed a commit that referenced this pull request Jul 11, 2023
…tnet#87189)
This fixes a startup crash on Big Sur:
> error: * Assertion at /Users/runner/work/1/s/src/mono/mono/utils/mono-hwcap-arm64.c:35, condition `res == 0' not met
Because sysctl can't find some of these options:
$ sysctl hw.optional.armv8_crc32
hw.optional.armv8_crc32: 1
$ sysctl hw.optional.arm.FEAT_RDM
sysctl: unknown oid 'hw.optional.arm.FEAT_RDM'
$ sysctl hw.optional.arm.FEAT_DotProd
sysctl: unknown oid 'hw.optional.arm.FEAT_DotProd'
$ sysctl hw.optional.arm.FEAT_SHA1
sysctl: unknown oid 'hw.optional.arm.FEAT_SHA1'
$ sysctl hw.optional.arm.FEAT_SHA256
sysctl: unknown oid 'hw.optional.arm.FEAT_SHA256'
$ sysctl hw.optional.arm.FEAT_AES
sysctl: unknown oid 'hw.optional.arm.FEAT_AES'
Full stack trace:
* thread #1, queue = 'com.apple.main-thread', stop reason = breakpoint 2.1
* frame #0: 0x0000010ef37560 libmonosgen-2.0.dylib`monoeg_assertion_message
frame #1: 0x0000010ef375cc libmonosgen-2.0.dylib`mono_assertion_message + 32
frame #2: 0x0000010ef40d6c libmonosgen-2.0.dylib`mono_hwcap_arch_init + 544
frame #3: 0x0000010ef54bd8 libmonosgen-2.0.dylib`mono_hwcap_init + 72
frame dotnet#4: 0x0000010ee14dc0 libmonosgen-2.0.dylib`parse_optimizations + 52
frame dotnet#5: 0x0000010edbed48 libmonosgen-2.0.dylib`mono_init
frame dotnet#6: 0x0000010ee18968 libmonosgen-2.0.dylib`mono_jit_init_version
frame dotnet#7: 0x0000010f48a300 libxamarin-dotnet-debug.dylib`xamarin_bridge_initialize + 216
frame dotnet#8: 0x0000010f4900a4 libxamarin-dotnet-debug.dylib`xamarin_main + 376
TIHan pushed a commit that referenced this pull request May 18, 2024
…#102133)
This generalizes the indir reordering optimization (that currently only
triggers for loads) to kick in for GT_STOREIND nodes.
The main complication with doing this is the fact that the data node of
the second indirection needs its own reordering with the previous
indirection. The existing logic works by reordering all nodes between
the first and second indirection that are unrelated to the second
indirection's computation to happen after it. Once that is done we know
that there are no uses of the first indirection's result between it and
the second indirection, so after doing the necessary interference checks
we can safely move the previous indirection to happen after the data
node of the second indirection.
Example:
```csharp
class Body { public double x, y, z, vx, vy, vz, mass; }
static void Advance(double dt, Body[] bodies)
{
foreach (Body b in bodies)
{
b.x += dt * b.vx;
b.y += dt * b.vy;
b.z += dt * b.vz;
}
}
```
Diff:
```diff
@@ -1,18 +1,17 @@
-G_M55007_IG04: ;; offset=0x001C
+G_M55007_IG04: ;; offset=0x0020
ldr x3, [x0, w1, UXTW #3]
ldp d16, d17, [x3, #0x08]
ldp d18, d19, [x3, #0x20]
fmul d18, d0, d18
fadd d16, d16, d18
- str d16, [x3, #0x08]
- fmul d16, d0, d19
- fadd d16, d17, d16
- str d16, [x3, #0x10]
+ fmul d18, d0, d19
+ fadd d17, d17, d18
+ stp d16, d17, [x3, #0x08]
ldr d16, [x3, #0x18]
ldr d17, [x3, #0x30]
fmul d17, d0, d17
fadd d16, d16, d17
str d16, [x3, #0x18]
add w1, w1, #1
cmp w2, w1
bgt G_M55007_IG04
```
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@markples@TIHan