- User Since
- Jan 15 2018, 8:31 AM (47 w, 1 d)
Mon, Dec 10
There may be changes to some details in the LLVM patch; once they are finalized I will update the Clang patch.
Use the same ELF section name as GCC
I'm not certain who else might want to review this, but I'm adding some who have reviewed the touched files recently.
Fri, Dec 7
Mon, Dec 3
I posted to the commit first by accident; copying here:
I realize now that this is insufficient. The other DI* metadata which have a file: (e.g. DILocalVariable) can point to an arbitrary DIFile, and I don't confirm that it matches the source: of all other files in the same DICompileUnit.
Fri, Nov 30
The Verifier patch has landed as https://reviews.llvm.org/rL348022
Thu, Nov 29
The constraint is only per-CU. I've attempted to capture this in the latest patch, although I don't quite understand the interaction of all of the DI* metadata, so I may have still missed cases.
Wed, Nov 28
Tue, Nov 27
Update documentation for new option
Actually, after thinking about this I agree more with the approach of dropping or somehow warning/failing in the DWARF backend, rather than verifying at the IR level. Conceivably another DI backend which implements embedded source might not have the same restriction as DWARF, so restricting the IR doesn't seem right.
See https://reviews.llvm.org/D54953 for the Verifier work.
LGTM; if there are other regressions we can address them as they come up, but I don't see any major ones now.
Fri, Nov 16
Update documentation for new option and error in the driver when generating for unsupported object-file format.
Use unique_ptr for HSAMetadataStreamer
Thu, Nov 15
Preserve docs for code object v2 metadata
Looking a bit further, it seems some other object-file formats have conventions for naming (e.g. Mach-O sections are _snake_case) and so .LLVM.command.line may not end up being what we want universally.
Wed, Nov 14
Change canonical option name to -frecord-command-line and add an alias from -frecord-gcc-switches
Remove new ".commandline" ASM directive in favor of standard ones (e.g. .section, .ascii)
Sorry for taking so long to look at this. I am running some OCL conformance tests to get an idea of what impact this will have in terms of regressions, but if we believe this is the correct thing to do I don't think that should have any impact on when it is merged anyway.
Tue, Nov 13
Update getAMDGPUNote param name to match its new type
Add missing AMDGPUNote type
The heavy use of templates does lead to some awkward usage, but it can also make some common use-cases very natural. I agree there is probably room to improve, but it is orthogonal to this patch.
Mon, Nov 12
I don't quite understand what distinguishes the two versions of MCSubtargetInfo (getSTI() vs STM), but it appears a patch from Konstantin earlier this year changed this specific instance from STM.getFeatureBits() to getSTI(). Changing this back LGTM but I don't know what the rationale was in the first place, if it wasn't a typo, so I don't want to sign off without asking.
Nov 6 2018
I don't believe that is currently the case (the unrestricted linking of OCL code to OCL code via a dynamic linker), but we do have the notion of a static link step, followed by dynamic linking at runtime. The static link step is currently via IR, but we plan to support linking object files. Maybe I misunderstand the distinction between linkage and visibility, but it seems reasonable that a user would want to have e.g. a non-kernel function participate in static linking, but not be preemptible in the final shared object. The intention with this patch is to allow this with something like -fvisibility hidden without disrupting kernel symbols, which must appear in the dynsym for the reasons mentioned earlier in the thread.
I still think disambiguating "indirect call" in LLVM is worthwhile, so here is another attempt at addressing feedback.
Nov 5 2018
Oct 31 2018
Remove unused AMDGPUSubtarget::EnableVGPRSpilling; I missed this in the first patch.
@klimek is there anyone I should add to take a look at this? As far as the YAML is concerned I believe this is a non-functional change.
Add lit LABEL for test case
Oct 30 2018
Oct 29 2018
Oct 26 2018
Oct 25 2018
Move addPass for new pass
Oct 23 2018
Rebase and update:
Add test for promoting invoke instruction
Don't mark namespace-scope global variable declarations in OpenCL with explicit default visibility
Update note type value
Oct 19 2018
Update note type value.