Skip to content

Fix lowering of big structs passed by value#751

Draft
Jezurko wants to merge 2 commits into
masterfrom
jezko/big-struct
Draft

Fix lowering of big structs passed by value#751
Jezurko wants to merge 2 commits into
masterfrom
jezko/big-struct

Conversation

@Jezurko

@Jezurko Jezurko commented Nov 22, 2024

Copy link
Copy Markdown
Contributor
  • Don't load+store in caller
  • Fix loads and stores in callee
  • Check if we need additional checks
  • Add test:
struct big { int i[sizeof (int) >= 4 && sizeof (void *) >= 4 ? 0x4000 : 4]; };
struct big gb;
int foo (struct big b, int x) { return b.i[x]; }
int main (void) { return foo (gb, 0) + foo (gb, 1); }

@Jezurko Jezurko assigned Jezurko and unassigned Jezurko Nov 22, 2024
@github-actions

github-actions Bot commented Jan 6, 2025

Copy link
Copy Markdown
Contributor

Cpp-Linter Report ⚠️

Some files did not pass the configured checks!

clang-format (v19.1.1) reports: 1 file(s) not formatted
  • lib/vast/Conversion/ABI/LowerABI.cpp

Have any feedback or feature suggestions? Share it here.

Sign up for free to 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.

1 participant