-
Notifications
You must be signed in to change notification settings - Fork 12.5k
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
LLVM codegen: Don't emit zero-sized padding for fields #87254
LLVM codegen: Don't emit zero-sized padding for fields #87254
Commits on Aug 4, 2021
-
LLVM codegen: Don't emit zero-sized padding for fields
LLVM codegen: Don't emit zero-sized padding for whiles because that has no use and makes it impossible to generate the return types that LLVM expects for certain ARM SIMD intrinsics.
Configuration menu - View commit details
-
Copy full SHA for 738868b - Browse repository at this point
Copy the full SHA 738868bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 60a523d - Browse repository at this point
Copy the full SHA 60a523dView commit details -
Configuration menu - View commit details
-
Copy full SHA for e410658 - Browse repository at this point
Copy the full SHA e410658View commit details -
Don't cache projection if no padding is used.
In this case we can just return memory_index(index) which is readily available.
Configuration menu - View commit details
-
Copy full SHA for e899082 - Browse repository at this point
Copy the full SHA e899082View commit details -
Configuration menu - View commit details
-
Copy full SHA for 50be80b - Browse repository at this point
Copy the full SHA 50be80bView commit details -
Add testcase for proper LLVM representation of SIMD types.
Testcase to make sure that no 0-sized padding is inserted in structs and that structs are represented as expected by Neon intrinsics in LLVM.
Configuration menu - View commit details
-
Copy full SHA for 4a8202c - Browse repository at this point
Copy the full SHA 4a8202cView commit details -
Fix va_args calling on aarch64 non-macos/ios.
emit_aapcs_va_arg() emits hardcoded field indexes to access the aarch64-specific `VaListImpl` struct. Due to the removed padding those indexes have changed.
Configuration menu - View commit details
-
Copy full SHA for 7dbc568 - Browse repository at this point
Copy the full SHA 7dbc568View commit details
Commits on Aug 5, 2021
-
Store field remapping information together with the LLVM type in a ne…
…w TypeLowering struct instead of an extra cache.
Configuration menu - View commit details
-
Copy full SHA for 4a4e9e3 - Browse repository at this point
Copy the full SHA 4a4e9e3View commit details -
Replace hard-coded field indexes with lookup on aarch64 non-macos.
The indexes into the VaListImpl struct used on aarch64 ABI (not macos/ios) are hard-coded which is brittle so we replace them with the usual lookup. The varargs ffi is tested in ui/abi/variadic-ffi.rs on aarch64 Linux.
Configuration menu - View commit details
-
Copy full SHA for 89a369a - Browse repository at this point
Copy the full SHA 89a369aView commit details
Commits on Aug 9, 2021
-
Configuration menu - View commit details
-
Copy full SHA for c627c0d - Browse repository at this point
Copy the full SHA c627c0dView commit details -
Configuration menu - View commit details
-
Copy full SHA for c1d0f0a - Browse repository at this point
Copy the full SHA c1d0f0aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1d4972e - Browse repository at this point
Copy the full SHA 1d4972eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 02295f4 - Browse repository at this point
Copy the full SHA 02295f4View commit details