- User Since
- May 4 2020, 11:17 AM (25 w, 3 d)
Wed, Oct 28
Tue, Oct 27
Updating after D90172 and D89802 landed. I don't see it failing the tests anymore but I'll look into it more. I should probably make a test for the source location stuff now that it will all be implemenated.
Changed name_t to map_var_info_t and renamed the Ident.h header.
Restructuring code to use type alias wrapper name_t to make it more obvious what the data is beyond a void *. Restructured Ident.h into a class with a constructor, this will have an extra constructor for the OpenMP Ident_t struct once D87946 is merged. Added a routine to print out the declaration site in the table dump using LIBOMPTARGET_INFO. For example, if I seg-fault in an OpenMP region using env LIBOMPTARGET_INFO=2 I will get this output for a sample program.
Mon, Oct 26
Changing to use the range iterators. There was a reason I did it like that initially but forgot to change it back.
Thu, Oct 22
Wed, Oct 21
Changing to just check if the target triple is of four known 64-bit architectures.
@daltenty Do you think this will fix the problem on AIX?
Changing test to be similar to LLVM's method, checks the linker flags for 32-bit library and only if the target triple is one of the known 64-bit triples.
Tue, Oct 20
Fixed failing tests and added a new Clang test.
Initial version. This fails a few tests and needs additional test cases for the additional functionality as well as support inside the runtime library.
Mon, Oct 19
Checking tests again.
Mon, Oct 12
Current build, fails offloading/target_depend_nowait for an unknown reason after calling cuStreamSynchronize in __tgt_target_teams_mapper_nowait.
Fri, Oct 9
Thu, Oct 8
Updating tests after landing D88594.
Removing the _loc suffix. The Mapper API hasn't been officially released in Clang 11.x so we're still free to make changes. Currently working on augmenting the mapper API with variable declaration information so we can associate mapped pointers with their source names if the user specified debug locations.
Closed accidentally, had the wrong revision link in another patch.
Screwed up and put the wrong revision in the commit message. Closed in rGd564409946a5a13cb6391fc0fec54dcbd6f6d249
Wed, Oct 7
Implementing Ye's code. I changed it to putput the architecture as a dependency and then set the value where we define the default architecture. I did a full build from scratch using this and got the sm_70 libraries for my machine without needing to specify it in my build script.
Okay, I'll push it after this finishes its build and see if buildbot sends me angry emails again.
Changed method for comparing the architectures. Enum is local to the loop so it shouldn't pollute the namespace.
Removing the architecture detection from lit. Simply changing the tests to use specific architectures, in this case x86_64 and aarch64.
Tue, Oct 6
Removing redundant call to find_package.
Mon, Oct 5
Changing method of determining architecture.
Sun, Oct 4
Changed the lit substitution to be for fixing this problem specifically. It made the tests too unreadable and wasn't a good solution since it didn't detect 16 bit architectures anyway.
Fri, Oct 2
Reopening for now.
Adding an extra substitution in lit to solve the problem of automatically populating the test files with incompatible architectures.
Thu, Oct 1
Wed, Sep 30
Committed in rG9d2378b59150, forgot to update the commit message.
Forgot to add one of the test changes from D88594 as it makes this one fail too.
Moving the Clang error checks into D88594.
Sep 29 2020
Adding check for Windows file path. Updating some files after rebasing.
Adding test cases for incompatible architecture messages. Checking the architecture is done by checking all combinations of architectures.
Sep 28 2020
Removed now unused function for generating convergent runtime functions. Updated Clang to print an error message if the user attempts to specify incompatible architectures due to a difference in pointer sizes.
Reusing OMPBuilder from CGOpenMPRuntime. Altered the failing test case. This case failed when compiling for a 32 bit device on a 64 bit host. This case should be considered an error because the host and device have incompatible pointer sizes and shouldn't be able to communicate. The test has been changed to only compile for hosts and devices that have compatible pointer sizes.
This currently fails some Clang tests because of an error with how size_t is handled by Clang versus OMPKinds.def. The compiler will crash when generating code for a 32 bit device on a 64 bit host because Clang uses the size_t from the host while OMPKinds.def uses the size_t from the device.
Sep 27 2020
Sep 25 2020
Should we wait until the next OpenMP LLVM meeting to push this?
Adding message to build with debugging symbols if source location is not found.
Added definition for the ident_t struct from kmp.h along with a method to extract the source location information. Checking the target outcome now prints the file location if ident_t location is available.
Sep 24 2020
Manually adding missing debug info for stack pushing not being generated by Clang. A real solution will require modifying clang's code generation.
Adding test case and changing analysis to use forEachUse. The nvptx file doesn't have the line number information after compiling with debugging symbols so the remark just says "unknown." When you get the remarks from clang it seems to print the information more than necessary.
Sep 23 2020
Changing legacy nowait calls to use the new function interface.