- User Since
- Jun 2 2016, 11:01 PM (356 w, 1 d)
Feb 9 2023
The patch is merged (again). Please let me know if it causes any regressions for in-tree targets or tests.
Feb 8 2023
Feb 1 2023
Jan 31 2023
- Fixed code style issues.
@tra, can you please check if it is OK to merge this patch?
- Rolled back changes for param address space: treat it as constant memory until cvta.param is supported.
- Changed tests to use opaque pointers.
Jan 25 2023
Jan 24 2023
Just to summarize, the current implementation of padding in libomptarget has a bug, but it was hidden until we changed default alignment of allocas in D135462. This bug is now gating D135462 and Pavel and I were trying to investigate it. @jdoerfert, @grokos, your feedback is very welcome, since we're not really familiar with the code in OpenMP runtime.
Jan 14 2023
Jan 12 2023
Jan 11 2023
I think the current patch is the way to go: we want to treat LDU and LDG as regular instructions and exclude them from memory analysis. Therefore memory references are not needed and we can drop them.
Jan 10 2023
Jan 6 2023
Jan 4 2023
Committed in rG6ff87fed441680f0d673186e602c6017fef68640
Dec 28 2022
Dec 20 2022
It appears that the issue is caused by libomptarget mapping code that adds padding if the begin address does not have alignment of 8 (search for "alignment" in omptarget.cpp). The problem is that the padding is not applied consistently, so we may have a mapping without the padding (size == 8), and then get a request for a mapping with the padding (size == 12). Notice that we don't have Using a padding of 4 bytes for begin address for the first mapping, and we have it for the same exact pointer for the second mapping.
Dec 19 2022
I checked OpenMP tests, and the difference is pretty much what was expected. This is what we have as an input (the patch does not change the IR):
Dec 15 2022
Dec 13 2022
Dec 12 2022
@efriedma, can you please check this patch again?
- param pointers may alias global pointers.
- added more test cases for param.
Dec 9 2022
- Replaced pointsToConstantMemory with getModRefInfoMask due to the API change.
- Removed DataLayout variable that was unused.
Dec 1 2022
Nov 15 2022
Nov 1 2022
Oct 25 2022
The patch looks fine to me. TEST_SUITE_RUN_UNDER is a great alternative, but just setting these env variables should be enough for now.
@jdenny, can you please take a look at this patch?
Oct 14 2022
- Fixed typos
Oct 13 2022
- Applied code review comments
Oct 11 2022
Without the patch, @callee has alignment of 16, while the call site uses alignment of 4 for param memory.
We also need D134548 to fix handling of bitcasts.
Oct 10 2022
This took a while, I'm sorry for not following up earlier.
- Removed calls to AAResultBase and the extra check for GV->isConstant.
- Removed an outdated comment
- Added another testcase to AArch64/preferred-alignment.ll
Oct 7 2022
A similar issue was discussed and fixed in D79532, where promotion of alignment caused stack realignment.
This patch now removes promotion of alignment, so we always use the specified alignment.
Oct 3 2022
Jun 27 2022
Jun 15 2022
Jun 13 2022
- Added ptxas RUN lines.
- Removed test case with .local global variable because ptxas does not support them.
May 30 2022
May 18 2022
Thanks a lot for the patch! It would be great to get this issue finally fixed. I assume that this is the main patch, other patches in the stack seem like just preparation/adjustments needed for this one to work.
May 3 2022
May 2 2022
Sorry, this got pushed back by other things, but I'd like to return to this conversation. I've uploaded a patch to add a simple AA that takes NVPTX address spaces into account and implements pointsToConstantMemory (D124787). This patch should be useful on its own, but I'm no longer sure that it is enough to safely (performace-wise) add mayLoad to LDU/LDG instructions.
Apr 28 2022
Apr 27 2022
I missed two other tests that failed because of the same issue: debug-file-loc.ll and debug-file-loc-only.ll.
@thakis tried to fix them in a1bb5719eca6 (thanks a lot!), but I'm not sure if it helped - we need two backslash characters in the regex.