Fix nullptr math & clean segment_csr_cpu.cpp #292
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When I run this code with LLVM-12's undefined behaviour sanitizer enabled, I see:
This is because on Line 41 we have
int64_t *arg_out_data = nullptr;. The value ofarg_out_datais set conditionally, butarg_out_datais used unconditionally within the "segment_csr" kernel. Adding an if-statement gates that.I've also added
constand de-shadowed variables in a few places to make the code more readable.