Skip to content
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

Fix ByVal args handling #197

Merged
merged 8 commits into from
Nov 4, 2021
Merged

Fix ByVal args handling #197

merged 8 commits into from
Nov 4, 2021

Conversation

frabert
Copy link
Collaborator

@frabert frabert commented Nov 3, 2021

Fixes #195

@pgoodman
Copy link
Contributor

pgoodman commented Nov 3, 2021

@frabert Are any of the things in tyat build_linux for ubuntu 20.04 on llvm-12 issues?

@frabert
Copy link
Collaborator Author

frabert commented Nov 3, 2021

The issue seems to be about dangling references or something like that...

Use still stuck around after Def is destroyed:  <badref> = load i32, i32* @SDVO_CMD_GET_MAX_OVERSCAN_H, align 4, !dbg !DILocation(line: 74, column: 8, scope: <0x4f579c0>), !tbaa <0x4f5a598>
rellic-decomp-12.0: /__w/cxx-common/cxx-common/vcpkg/buildtrees/llvm-12/src/org-12.0.1-5ce32a7629.clean/llvm/lib/IR/Value.cpp:100: llvm::Value::~Value(): Assertion `materialized_use_empty() && "Uses remain when a value is destroyed!"' failed.```

lib/AST/FixByVal.cpp Outdated Show resolved Hide resolved
@frabert frabert marked this pull request as ready for review November 3, 2021 22:55
lib/AST/IRToASTVisitor.cpp Show resolved Hide resolved
lib/AST/IRToASTVisitor.cpp Outdated Show resolved Hide resolved
lib/AST/IRToASTVisitor.cpp Outdated Show resolved Hide resolved
@pgoodman pgoodman merged commit 274625f into master Nov 4, 2021
@pgoodman pgoodman deleted the fix-byval-args branch November 4, 2021 17:46
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.

Incorrect result when decompiling pass-by-value struct arguments via WebAssembly
2 participants