rnk (Reid Kleckner)
User

Projects

User does not belong to any projects.
User Since
Jan 2 2013, 4:34 PM (220 w, 6 d)

Recent Activity

Fri, Mar 24

rnk committed rL298750: [codeview] Don't assert when the user violates the ODR.
[codeview] Don't assert when the user violates the ODR
Fri, Mar 24, 4:41 PM
rnk added a comment to D31358: [asan] Put ctor/dtor in comdat..
In D31358#710413, @pcc wrote:

If you put the constructor in a comdat, will it be preserved on Windows? I believe that the COFF equivalent of .init_array is not treated as a GC root by the linker.

Fri, Mar 24, 4:37 PM
rnk accepted D31349: IR: Replace the "Linker Options" module flag with "llvm.linker.options" named metadata..

After briefly attempting to rework D31352 to work without this patch, I now see why you want to do this. Working with module flags is hard and working with named md nodes is easier. Module flags still seem appropriate for integer settings that need to match during LTO, but I don't think there are many appending module flags that wouldn't be better served by named md nodes.

Fri, Mar 24, 3:29 PM
rnk committed rL298733: Document how to fetch monorepo SVN revision notes.
Document how to fetch monorepo SVN revision notes
Fri, Mar 24, 1:59 PM
rnk added inline comments to D31349: IR: Replace the "Linker Options" module flag with "llvm.linker.options" named metadata..
Fri, Mar 24, 1:37 PM
rnk committed rL298717: [PDB] Split item and type records when merging type streams.
[PDB] Split item and type records when merging type streams
Fri, Mar 24, 10:39 AM
rnk closed D31316: [PDB] Split item and type records when merging type streams by committing rL298717: [PDB] Split item and type records when merging type streams.
Fri, Mar 24, 10:39 AM
rnk added inline comments to D31316: [PDB] Split item and type records when merging type streams.
Fri, Mar 24, 10:13 AM

Thu, Mar 23

rnk created D31316: [PDB] Split item and type records when merging type streams.
Thu, Mar 23, 5:52 PM
rnk committed rL298662: [sancov] Don't instrument blocks with no insertion point.
[sancov] Don't instrument blocks with no insertion point
Thu, Mar 23, 4:43 PM
rnk committed rL298649: [PDB] Use two DBs when dumping the IPI stream.
[PDB] Use two DBs when dumping the IPI stream
Thu, Mar 23, 2:48 PM
rnk closed D31309: [PDB] Use two DBs when dumping the IPI stream by committing rL298649: [PDB] Use two DBs when dumping the IPI stream.
Thu, Mar 23, 2:48 PM
rnk created D31309: [PDB] Use two DBs when dumping the IPI stream.
Thu, Mar 23, 2:16 PM
rnk updated subscribers of D31270: [wip] IR: Move linker options to top-level global metadata and remove dllexport storage class..

I'm opposed to getting rid of the dllexport bit on GlobalValue, and so far on the bug, both @majnemer and @rjmccall seem to be opposed to it as well. I also asked @chandlerc about it in person, and he wasn't in favor, although I'm not sure how strong his opinion was.

Thu, Mar 23, 10:26 AM

Wed, Mar 22

rnk committed rL298564: [codeview] Move type index remapping logic to type merger.
[codeview] Move type index remapping logic to type merger
Wed, Mar 22, 5:26 PM
rnk closed D31267: [codeview] Move type index remapping logic to type merger by committing rL298564: [codeview] Move type index remapping logic to type merger.
Wed, Mar 22, 5:26 PM
rnk added inline comments to D31267: [codeview] Move type index remapping logic to type merger.
Wed, Mar 22, 4:42 PM
rnk added inline comments to D31267: [codeview] Move type index remapping logic to type merger.
Wed, Mar 22, 4:35 PM
rnk created D31267: [codeview] Move type index remapping logic to type merger.
Wed, Mar 22, 4:26 PM
rnk created D31261: [IR] De-virtualize ~Value to save a vptr.
Wed, Mar 22, 2:32 PM
rnk added a comment to D31239: [WIP] Add Caching of Known Bits in InstCombine.

We can't just keep passing more analysis pointers throughout our simplification utilities. We might want some wrapper of common, almost globally used analyses that optionally contains DL, TLI, DT, AC, etc.

Wed, Mar 22, 1:38 PM
rnk added a comment to D31248: [X86] Implement __readgsqword (and the rest) as builtins (PR32373).

Yep, thanks, looks good!

Wed, Mar 22, 1:03 PM
rnk committed rL298545: Use lld-link /nopdb to suppress PDB generation when DWARF is required.
Use lld-link /nopdb to suppress PDB generation when DWARF is required
Wed, Mar 22, 1:01 PM
rnk committed rL298544: Add a /nopdb flag to disable PDB generation.
Add a /nopdb flag to disable PDB generation
Wed, Mar 22, 1:01 PM
rnk added inline comments to D30018: [XRay] Add __xray_customeevent(...) as a clang-supported builtin.
Wed, Mar 22, 11:07 AM
rnk added inline comments to D30388: [XRay] Add -fxray-{always,never}-instrument= flags to clang.
Wed, Mar 22, 10:56 AM
rnk added a comment to D30388: [XRay] Add -fxray-{always,never}-instrument= flags to clang.

I think you need some driver logic to make sure the xray lists show up in .d files so that modifications to them trigger rebuilds in most build systems. See the SanitizerArgs.cpp driver logic for this.

Wed, Mar 22, 10:52 AM

Tue, Mar 21

rnk added a comment to D31224: [COFF] Put the PDB next to the image if the user doesn't pass /PDB:.

This broke a CFI stats test, which I XFAILd in a follow up:
http://lab.llvm.org:8011/builders/sanitizer-windows/builds/8407

Tue, Mar 21, 6:59 PM
rnk committed rL298476: XFAIL CFI stats test while LLD produces corrupt PDBs that confuse DIA.
XFAIL CFI stats test while LLD produces corrupt PDBs that confuse DIA
Tue, Mar 21, 6:57 PM
rnk committed rL298475: Update LLD tests for codeview dumping changes.
Update LLD tests for codeview dumping changes
Tue, Mar 21, 6:56 PM
rnk committed rL298474: [codeview] Use separate records for LF_SUBSTR_LIST and LF_ARGLIST.
[codeview] Use separate records for LF_SUBSTR_LIST and LF_ARGLIST
Tue, Mar 21, 6:49 PM
rnk committed rL298467: [COFF] Put the PDB next to the image if the user doesn't pass /PDB:.
[COFF] Put the PDB next to the image if the user doesn't pass /PDB:
Tue, Mar 21, 6:09 PM
rnk closed D31224: [COFF] Put the PDB next to the image if the user doesn't pass /PDB: by committing rL298467: [COFF] Put the PDB next to the image if the user doesn't pass /PDB:.
Tue, Mar 21, 6:09 PM
rnk created D31224: [COFF] Put the PDB next to the image if the user doesn't pass /PDB:.
Tue, Mar 21, 5:30 PM
rnk added a comment to D31218: [compiler-rt] build compiler-rt runtimes without LTO.

I agree with this in principle. The high-level LLVM_ENABLE_LTO flag shouldn't affect compiler-rt. We should have a different way of getting compiler-rt bitcode libraries if we want them.

Tue, Mar 21, 3:34 PM
rnk committed rL298450: Revert "[compiler-rt][asan] Turn on ASAN unittests for win64.".
Revert "[compiler-rt][asan] Turn on ASAN unittests for win64."
Tue, Mar 21, 3:19 PM
rnk updated the diff for D31198: [IR] Make AttributeSetNode public, avoid temporary AttributeList copies.
  • Fix bug in addAttribute implementation
Tue, Mar 21, 1:00 PM
rnk created D31198: [IR] Make AttributeSetNode public, avoid temporary AttributeList copies.
Tue, Mar 21, 11:21 AM
rnk added inline comments to D18046: [X86] Providing correct unwind info in function epilogue.
Tue, Mar 21, 10:50 AM
rnk added a reviewer for D18046: [X86] Providing correct unwind info in function epilogue: iteratee.
Tue, Mar 21, 10:47 AM
rnk added a reviewer for D18046: [X86] Providing correct unwind info in function epilogue: MatzeB.
Tue, Mar 21, 10:45 AM
rnk committed rL298402: Remove stray paren that got in while attempting to fix the build for….
Remove stray paren that got in while attempting to fix the build for…
Tue, Mar 21, 10:28 AM
rnk committed rL298399: Update for LLVM API rename of AttributeSet -> AttributeList.
Update for LLVM API rename of AttributeSet -> AttributeList
Tue, Mar 21, 10:21 AM
rnk committed rL298398: Fix RST docs AttributeList heading underline.
Fix RST docs AttributeList heading underline
Tue, Mar 21, 10:17 AM
rnk committed rL298393: Rename AttributeSet to AttributeList.
Rename AttributeSet to AttributeList
Tue, Mar 21, 10:11 AM
rnk accepted D31174: [X86][MS-compatability] allow MS TYPE/SIZE/LENGTH operators as a part of a compound expression.

lgtm

Tue, Mar 21, 10:10 AM
rnk accepted D31173: [X86][MS-compatability] allow MS TYPE/SIZE/LENGTH operators as a part of a compound expression.

lgtm

Tue, Mar 21, 10:10 AM
rnk closed D31102: Rename AttributeSet to AttributeList by committing rL298393: Rename AttributeSet to AttributeList.
Tue, Mar 21, 10:10 AM
rnk committed rL298394: Update Clang for LLVM rename AttributeSet -> AttributeList.
Update Clang for LLVM rename AttributeSet -> AttributeList
Tue, Mar 21, 10:10 AM

Mon, Mar 20

rnk accepted D31162: IRGen: Do not set dllexport on declarations..

Lgtm

Mon, Mar 20, 6:24 PM
rnk committed rL298327: [COFF] Don't let /def override /out filename.
[COFF] Don't let /def override /out filename
Mon, Mar 20, 5:25 PM
rnk closed D31152: [COFF] Don't let /def override /out filename by committing rL298327: [COFF] Don't let /def override /out filename.
Mon, Mar 20, 5:25 PM
rnk added a comment to D31152: [COFF] Don't let /def override /out filename.

I'm going to go ahead and land this to try to green the Chromium bots. We can reorganize later if we like.

Mon, Mar 20, 5:17 PM
rnk added a comment to D31152: [COFF] Don't let /def override /out filename.

I think it would be better if Config->OutputFile is always either empty or the true final output name. Otherwise we might query it somewhere in the middle of options processing and get an incorrect value.

Mon, Mar 20, 3:19 PM
rnk added a comment to D31102: Rename AttributeSet to AttributeList.

I sent an RFC: http://lists.llvm.org/pipermail/llvm-dev/2017-March/111326.html

Mon, Mar 20, 3:12 PM
rnk added a comment to D31150: [tblgen] GCC/MS builtin to target intrisics map..
In D31150#705628, @rnk wrote:

lgtm

Can you give an example of what this would enable?

The use case is a module which contains function calls a particular backend would like to lower into intrinsic calls. Enabling the builtin-to-intrinsics map would allow to automate a little bit that process.

Mon, Mar 20, 3:03 PM
rnk updated the summary of D31152: [COFF] Don't let /def override /out filename.
Mon, Mar 20, 3:02 PM
rnk created D31152: [COFF] Don't let /def override /out filename.
Mon, Mar 20, 3:02 PM
rnk accepted D31150: [tblgen] GCC/MS builtin to target intrisics map..

Can you give an example of what this would enable?

Mon, Mar 20, 1:32 PM
rnk committed rL298276: [WinEH] Adjust decision to emit SEH moves for leaf functions.
[WinEH] Adjust decision to emit SEH moves for leaf functions
Mon, Mar 20, 10:58 AM

Fri, Mar 17

rnk created D31102: Rename AttributeSet to AttributeList.
Fri, Mar 17, 2:07 PM
rnk committed rL298116: [X86] Emit fewer instructions to allocate >16GB stack frames.
[X86] Emit fewer instructions to allocate >16GB stack frames
Fri, Mar 17, 1:38 PM
rnk closed D30052: [X86] Emit fewer instructions to allocate >16GB stack frames by committing rL298116: [X86] Emit fewer instructions to allocate >16GB stack frames.
Fri, Mar 17, 1:38 PM
rnk committed rL298106: Fix wasm build after arg_begin iterator type change.
Fix wasm build after arg_begin iterator type change
Fri, Mar 17, 10:36 AM
rnk committed rL298105: Store Arguments in a flat array instead of an iplist.
Store Arguments in a flat array instead of an iplist
Fri, Mar 17, 10:28 AM
rnk closed D31058: Store Arguments in a flat array instead of an iplist by committing rL298105: Store Arguments in a flat array instead of an iplist.
Fri, Mar 17, 10:28 AM
rnk added inline comments to D31058: Store Arguments in a flat array instead of an iplist.
Fri, Mar 17, 10:28 AM
rnk accepted D27050: [X86] Make library calls sensitive to regparm module flag (Fixes PR3997)..

lgtm

Fri, Mar 17, 8:37 AM

Thu, Mar 16

rnk accepted D31061: [pdb] Fix an uninitialized read, and add a test for it..

lgtm

Thu, Mar 16, 5:12 PM
rnk added inline comments to D31058: Store Arguments in a flat array instead of an iplist.
Thu, Mar 16, 4:51 PM
rnk updated the diff for D31058: Store Arguments in a flat array instead of an iplist.
  • Delete stale typedef, sink arrayref helper
Thu, Mar 16, 4:39 PM
rnk committed rL298011: Update for LLVM API removal of Function::getArgumentList().
Update for LLVM API removal of Function::getArgumentList()
Thu, Mar 16, 4:26 PM
rnk added inline comments to D31058: Store Arguments in a flat array instead of an iplist.
Thu, Mar 16, 4:23 PM
rnk committed rL298010: Remove getArgumentList() in favor of arg_begin(), args(), etc.
Remove getArgumentList() in favor of arg_begin(), args(), etc
Thu, Mar 16, 4:11 PM
rnk closed D31052: Remove getArgumentList() in favor of arg_begin(), args(), etc by committing rL298010: Remove getArgumentList() in favor of arg_begin(), args(), etc.
Thu, Mar 16, 4:11 PM
rnk committed rL298009: Remove dead F parameter from Argument constructor.
Remove dead F parameter from Argument constructor
Thu, Mar 16, 4:11 PM
rnk committed rL298003: Make Argument::getArgNo() constant time, not O(#args).
Make Argument::getArgNo() constant time, not O(#args)
Thu, Mar 16, 3:38 PM
rnk closed D31057: Make Argument::getArgNo() constant time, not O(#args) by committing rL298003: Make Argument::getArgNo() constant time, not O(#args).
Thu, Mar 16, 3:38 PM
rnk created D31058: Store Arguments in a flat array instead of an iplist.
Thu, Mar 16, 2:57 PM
rnk created D31057: Make Argument::getArgNo() constant time, not O(#args).
Thu, Mar 16, 2:56 PM
rnk committed rL297998: Create msbuild only when using MSVC.
Create msbuild only when using MSVC
Thu, Mar 16, 2:33 PM
rnk committed rL297985: Create msbuild only when using MSVC.
Create msbuild only when using MSVC
Thu, Mar 16, 1:36 PM
rnk closed D29952: Create msbuild only when using MSVC by committing rL297985: Create msbuild only when using MSVC.
Thu, Mar 16, 1:36 PM
rnk created D31052: Remove getArgumentList() in favor of arg_begin(), args(), etc.
Thu, Mar 16, 1:22 PM
rnk committed rL297975: Use arg_begin() instead of getArgumentList().begin(), the argument list is an….
Use arg_begin() instead of getArgumentList().begin(), the argument list is an…
Thu, Mar 16, 12:07 PM
rnk committed rL297964: [cmake] Refactor warning flag logic to use Unix warnings with clang-cl.
[cmake] Refactor warning flag logic to use Unix warnings with clang-cl
Thu, Mar 16, 10:17 AM
rnk closed D30992: [cmake] Refactor warning flag logic to use Unix warnings with clang-cl by committing rL297964: [cmake] Refactor warning flag logic to use Unix warnings with clang-cl.
Thu, Mar 16, 10:17 AM
rnk committed rL297963: [IR] Inline some Function accessors.
[IR] Inline some Function accessors
Thu, Mar 16, 10:09 AM

Wed, Mar 15

rnk committed rL297879: Fix -Wstring-conversion instance.
Fix -Wstring-conversion instance
Wed, Mar 15, 1:02 PM
rnk created D30992: [cmake] Refactor warning flag logic to use Unix warnings with clang-cl.
Wed, Mar 15, 11:41 AM
rnk committed rL297863: Move some LAST_* enum sentinels out of their enums.
Move some LAST_* enum sentinels out of their enums
Wed, Mar 15, 10:55 AM

Tue, Mar 14

rnk committed rL297764: Fix arch-specific-libdir tests on Windows.
Fix arch-specific-libdir tests on Windows
Tue, Mar 14, 11:36 AM
rnk accepted D30893: [Support][CommandLine] Make it possible to get error messages from ParseCommandLineOptions when ignoring errors..

lgtm

Tue, Mar 14, 11:26 AM
rnk committed rL297761: Warn on enum assignment to bitfields that can't fit all values.
Warn on enum assignment to bitfields that can't fit all values
Tue, Mar 14, 11:13 AM
rnk closed D30923: Warn on enum assignment to bitfields that can't fit all values by committing rL297761: Warn on enum assignment to bitfields that can't fit all values.
Tue, Mar 14, 11:13 AM
rnk added a comment to D30923: Warn on enum assignment to bitfields that can't fit all values.

Cool, thanks for the reviews, this is definitely in better shape now. This is off by default, so I'm going to commit and experiment with it on a few codebases.

Tue, Mar 14, 11:09 AM
rnk added a comment to D30923: Warn on enum assignment to bitfields that can't fit all values.
In D30923#700696, @rnk wrote:

Do you think it's worth indicating that the error can be suppressed with an explicit cast, or is that wasted space?

What might this look like? Also, I don't see a regression test for this.

Tue, Mar 14, 10:44 AM
rnk updated the diff for D30923: Warn on enum assignment to bitfields that can't fit all values.
  • Test that explicit casts suppress the warning
Tue, Mar 14, 10:44 AM
rnk added inline comments to D30893: [Support][CommandLine] Make it possible to get error messages from ParseCommandLineOptions when ignoring errors..
Tue, Mar 14, 10:41 AM
rnk accepted D30947: [Driver] Fix arch-specific-libdir-rpath.c.

lgtm

Tue, Mar 14, 10:38 AM