rnk (Reid Kleckner)
User

Projects

User does not belong to any projects.

User Details

User Since
Jan 2 2013, 4:34 PM (229 w, 1 d)

Recent Activity

Today

rnk added inline comments to D33575: [llvm-ar] Make llvm-lib behave more like the MSVC archiver.
Fri, May 26, 2:12 PM
rnk updated the diff for D33575: [llvm-ar] Make llvm-lib behave more like the MSVC archiver.
  • Preserve old member names when updating archives
Fri, May 26, 1:39 PM
rnk updated the diff for D33575: [llvm-ar] Make llvm-lib behave more like the MSVC archiver.
  • Compute all member names up front
Fri, May 26, 1:18 PM
rnk added a comment to rL304012: Enable __float128 for mingw for GCC compatibility and define….

Make sure to also backport rL304013, it was intended to be part of this.

Fri, May 26, 12:59 PM
rnk committed rL304013: Only define __SIZEOF_FLOAT128__ on x86 as intended in r304012.
Only define __SIZEOF_FLOAT128__ on x86 as intended in r304012
Fri, May 26, 10:48 AM
rnk committed rL304012: Enable __float128 for mingw for GCC compatibility and define….
Enable __float128 for mingw for GCC compatibility and define…
Fri, May 26, 10:38 AM
rnk committed rL304006: Update MS mangling EBNF, NFC.
Update MS mangling EBNF, NFC
Fri, May 26, 10:11 AM

Yesterday

rnk added a comment to D33579: Return a lit.Test.Result object from TestRunner's executeShTest().

lgtm

Thu, May 25, 4:54 PM
rnk updated the diff for D33575: [llvm-ar] Make llvm-lib behave more like the MSVC archiver.
  • revert path append changes
Thu, May 25, 4:54 PM
rnk added inline comments to D33575: [llvm-ar] Make llvm-lib behave more like the MSVC archiver.
Thu, May 25, 4:52 PM
rnk updated the diff for D33575: [llvm-ar] Make llvm-lib behave more like the MSVC archiver.
  • remove errs prints
Thu, May 25, 4:45 PM
rnk added inline comments to D33575: [llvm-ar] Make llvm-lib behave more like the MSVC archiver.
Thu, May 25, 4:45 PM
rnk accepted D33564: [CodeView Type Merging] Make a Type Index Iterator that bypasses the visitor framework.

lgtm!

Thu, May 25, 4:15 PM
rnk created D33575: [llvm-ar] Make llvm-lib behave more like the MSVC archiver.
Thu, May 25, 4:13 PM
rnk added a comment to D33503: Make BinaryStreamReader::readCString a bit faster..

Hm, did my comment not make it through?

Thu, May 25, 2:32 PM
rnk added inline comments to D33564: [CodeView Type Merging] Make a Type Index Iterator that bypasses the visitor framework.
Thu, May 25, 2:09 PM
rnk added a comment to D33564: [CodeView Type Merging] Make a Type Index Iterator that bypasses the visitor framework.

Sweet, the minimal thing. :)

Thu, May 25, 1:57 PM
rnk committed rL303908: Revert "[AMDGPU] add __builtin_amdgcn_s_getpc".
Revert "[AMDGPU] add __builtin_amdgcn_s_getpc"
Thu, May 25, 1:28 PM
rnk accepted D33480: [CodeView Type Merging] Try hard not to deserialize records when re-writing type indices.

lgtm

Thu, May 25, 12:46 PM
rnk accepted D32218: X86AsmParser.cpp asserts: OperandStack.size() > 1 && "Too few operands.".

Sure, lgtm.

Thu, May 25, 10:34 AM

Wed, May 24

rnk added inline comments to D33480: [CodeView Type Merging] Try hard not to deserialize records when re-writing type indices.
Wed, May 24, 11:33 AM
rnk accepted D33506: Don't keep re-allocating the temp serializer..

lgtm

Wed, May 24, 11:22 AM

Tue, May 23

rnk accepted D33471: [asan] Remove allow_user_segv_handler on Windows..

lgtm

Tue, May 23, 4:30 PM
rnk added a comment to D33471: [asan] Remove allow_user_segv_handler on Windows..

This is unfortunate. I want WinASan to behave as much like Linux ASan as possible. The problem is that the MSVC CRT always registers an unhandled exception filter, so we have to overwrite the "user" segv handler if we want ASan to work properly (i.e. catch null derefs) by default.

Tue, May 23, 4:30 PM
rnk accepted D33458: [git-llvm] Check if svn and git-svn have been installed..

lgtm

Tue, May 23, 2:43 PM
rnk committed rL303693: Silence MSVC warning about unsigned integer overflow, which has defined behavior.
Silence MSVC warning about unsigned integer overflow, which has defined behavior
Tue, May 23, 2:35 PM
rnk added inline comments to D33355: [IR] Add additional addParamAttr/removeParamAttr to AttributeList API.
Tue, May 23, 1:07 PM
rnk added inline comments to D33458: [git-llvm] Check if svn and git-svn have been installed..
Tue, May 23, 1:04 PM
rnk accepted D33392: [XRay][clang] Allow imbuing arg1 logging attribute via -fxray-always-instrument=.

lgtm

Tue, May 23, 11:43 AM
rnk committed rL303667: Speculative build fix for non-Windows.
Speculative build fix for non-Windows
Tue, May 23, 11:28 AM
rnk committed rL303665: [PDB] Hash types up front when merging types instead of using StringMap.
[PDB] Hash types up front when merging types instead of using StringMap
Tue, May 23, 11:24 AM
rnk closed D33428: [PDB] Hash types up front when merging types instead of using StringMap by committing rL303665: [PDB] Hash types up front when merging types instead of using StringMap.
Tue, May 23, 11:24 AM
rnk updated subscribers of D33428: [PDB] Hash types up front when merging types instead of using StringMap.
Tue, May 23, 11:19 AM
rnk added inline comments to D33355: [IR] Add additional addParamAttr/removeParamAttr to AttributeList API.
Tue, May 23, 10:22 AM
rnk committed rL303656: Commit AttributeList change that was supposed to be part of r303654.
Commit AttributeList change that was supposed to be part of r303654
Tue, May 23, 10:03 AM
rnk committed rL303654: [IR] Switch AttributeList to use an array for O(1) access.
[IR] Switch AttributeList to use an array for O(1) access
Tue, May 23, 10:02 AM
rnk closed D32819: [IR] Switch AttributeList to use an array for O(1) access by committing rL303654: [IR] Switch AttributeList to use an array for O(1) access.
Tue, May 23, 10:02 AM
rnk updated the diff for D32819: [IR] Switch AttributeList to use an array for O(1) access.
  • Address Hans's comments
Tue, May 23, 9:40 AM
rnk updated subscribers of D32819: [IR] Switch AttributeList to use an array for O(1) access.

Thanks!

Tue, May 23, 9:40 AM
rnk committed rL303642: Add test coverage for recent behavior change in GNU line marker pre-processing.
Add test coverage for recent behavior change in GNU line marker pre-processing
Tue, May 23, 9:09 AM
rnk accepted D33438: We do not google test utils if we disabled LLVM_INCLUDE_TESTS.

lgtm

Tue, May 23, 8:28 AM

Mon, May 22

rnk created D33428: [PDB] Hash types up front when merging types instead of using StringMap.
Mon, May 22, 6:33 PM
rnk committed rL303582: Give files from #line the characteristics of the current file.
Give files from #line the characteristics of the current file
Mon, May 22, 2:43 PM
rnk accepted D33417: Implement various flavors of type merging.

lgtm!

Mon, May 22, 12:52 PM
rnk added a comment to D32819: [IR] Switch AttributeList to use an array for O(1) access.

Added Hans as a reviewer. I think there is consensus from code owners that this is the right thing to do, but I'm still looking for a code reviewer with time.

Mon, May 22, 12:39 PM
rnk updated the diff for D32819: [IR] Switch AttributeList to use an array for O(1) access.
  • rebase
Mon, May 22, 12:38 PM
rnk added a reviewer for D32819: [IR] Switch AttributeList to use an array for O(1) access: hans.
Mon, May 22, 12:38 PM
rnk added a comment to D33333: Emit warning when throw exception in destruct or dealloc functions which has a (possible implicit) noexcept specifier.

Re: clang-tidy, I would rather implement this as a traditional compiler warning.

Mon, May 22, 10:50 AM
rnk added inline comments to D33277: [Clang][x86][Inline Asm] - Enum support for MS syntax.
Mon, May 22, 9:52 AM · Restricted Project
rnk added inline comments to D33278: [LLVM][x86][Inline Asm] - Enum support for MS syntax.
Mon, May 22, 9:51 AM

Fri, May 19

rnk committed rL303458: Fix off-by-one bug in AttributeList::addAttributes index handling.
Fix off-by-one bug in AttributeList::addAttributes index handling
Fri, May 19, 3:37 PM
rnk added inline comments to D33345: [DAG] Mark SPOffset for static allocas attached to stack frame.
Fri, May 19, 3:06 PM
rnk added a comment to D33355: [IR] Add additional addParamAttr/removeParamAttr to AttributeList API.

Thanks for working on this!

Fri, May 19, 2:52 PM

Thu, May 18

rnk added a comment to D33293: Provide a common interface for all collections of types..

I don't think you uploaded the right patch

Thu, May 18, 3:54 PM
rnk added a comment to D33333: Emit warning when throw exception in destruct or dealloc functions which has a (possible implicit) noexcept specifier.

I think we should consider generalizing this to throwing from any noexcept function. We could add a special case diagnostic to explain that destructors and delete operators are noexcept by default in C++11.

Thu, May 18, 1:31 PM
rnk added inline comments to D32998: [SROA] enable splitting for non-whole-alloca loads and stores.
Thu, May 18, 10:54 AM
rnk committed rL303362: [IR] De-virtualize ~Value to save a vptr.
[IR] De-virtualize ~Value to save a vptr
Thu, May 18, 10:38 AM
rnk closed D31261: [IR] De-virtualize ~Value to save a vptr by committing rL303362: [IR] De-virtualize ~Value to save a vptr.
Thu, May 18, 10:37 AM
rnk committed rL303359: [git-llvm] Don't attempt to propget files that don't exist yet in SVN.
[git-llvm] Don't attempt to propget files that don't exist yet in SVN
Thu, May 18, 10:30 AM
rnk updated the diff for D31261: [IR] De-virtualize ~Value to save a vptr.
  • Adjust access specifiers
Thu, May 18, 9:56 AM
rnk added a comment to D31261: [IR] De-virtualize ~Value to save a vptr.

Thanks! Time to find out if this breaks something. :)

Thu, May 18, 9:54 AM

Wed, May 17

rnk committed rL303311: Attempt to pacify ASan and UBSan reports in CrashRecovery tests.
Attempt to pacify ASan and UBSan reports in CrashRecovery tests
Wed, May 17, 3:36 PM
rnk accepted D32982: CodeGenModule: Always output wchar_size; check LLVM assumptions..

I guess this is better than DataLayout. Also, the user experience of mixing two TUs with different -fshort-wchar settings during LTO is better.

Wed, May 17, 3:07 PM
rnk accepted D33229: [BinaryStream] Simplify the process of using BinaryStreams.

lgtm

Wed, May 17, 12:39 PM
rnk added a comment to D33293: Provide a common interface for all collections of types..

Do you think all these TypeCollections should eventually just be the same thing? So, I could read a TypeCollection from a PDB, and then add more type records to it like I would with TypeTableBuilder. Then we would have a full read/write/edit API for types, which is something we seem to want for incremental PDB writing.

Wed, May 17, 12:38 PM
rnk added a comment to D31261: [IR] De-virtualize ~Value to save a vptr.

Have you checked Polly and Clang for changes needed there? Detailed comments below.

Wed, May 17, 12:20 PM
rnk updated the diff for D31261: [IR] De-virtualize ~Value to save a vptr.
  • Address Chandler's comments
Wed, May 17, 12:19 PM
rnk added inline comments to D31261: [IR] De-virtualize ~Value to save a vptr.
Wed, May 17, 12:18 PM
rnk committed rL303279: Re-land r303274: "[CrashRecovery] Use SEH __try instead of VEH when available".
Re-land r303274: "[CrashRecovery] Use SEH __try instead of VEH when available"
Wed, May 17, 11:29 AM
rnk added inline comments to D33277: [Clang][x86][Inline Asm] - Enum support for MS syntax.
Wed, May 17, 10:33 AM · Restricted Project
rnk added a comment to D33278: [LLVM][x86][Inline Asm] - Enum support for MS syntax.

Please consider using the monorepo to upload and submit this as a single patch.

Wed, May 17, 10:33 AM
rnk committed rL303275: Revert "[CrashRecovery] Use SEH __try instead of VEH when available".
Revert "[CrashRecovery] Use SEH __try instead of VEH when available"
Wed, May 17, 10:28 AM
rnk committed rL303274: [CrashRecovery] Use SEH __try instead of VEH when available.
[CrashRecovery] Use SEH __try instead of VEH when available
Wed, May 17, 10:15 AM
rnk closed D33261: [CrashRecovery] Use SEH __try instead of VEH when available by committing rL303274: [CrashRecovery] Use SEH __try instead of VEH when available.
Wed, May 17, 10:15 AM
rnk added a comment to D33261: [CrashRecovery] Use SEH __try instead of VEH when available.

Thanks! Looks like I forgot to send my replies when I re-uploaded my last patch, so they're dated.

Wed, May 17, 10:14 AM

Tue, May 16

rnk updated the diff for D33261: [CrashRecovery] Use SEH __try instead of VEH when available.
  • address comments
Tue, May 16, 4:51 PM
rnk accepted D33258: clang-cl: Fix path-based MSVC version detection.

lgtm

Tue, May 16, 4:35 PM
rnk accepted D33260: [CrashRecovery] Don't treat OutputDebugString as a crash.

lgtm

Tue, May 16, 3:56 PM
rnk added a comment to D33260: [CrashRecovery] Don't treat OutputDebugString as a crash.

I went ahead and did the "right" thing of using SEH instead: https://reviews.llvm.org/D33261

Tue, May 16, 3:45 PM
rnk created D33261: [CrashRecovery] Use SEH __try instead of VEH when available.
Tue, May 16, 3:44 PM
rnk added a comment to D33258: clang-cl: Fix path-based MSVC version detection.

I'd rather not hardcode all the msvc archs. IMO we should just look up one level and check if that's called bin, and continue if so. I think I had:

bool IsBin = llvm::sys::path::filename(PathEntry).compare_lower("bin");
if (!IsBin) {
  PathEntry = llvm::sys::path::parent_path(PathEntry);
  IsBin = llvm::sys::path::filename(TestPath).compare_lower("bin");
}
if (IsBin) {
  ...
Tue, May 16, 2:46 PM
rnk added a comment to D33229: [BinaryStream] Simplify the process of using BinaryStreams.

This makes things shorter, but it does it by using templates to forward constructor arguments. Do we really want to do that? Is there some way we can simplify this code by removing some of the overlapping stream concepts instead?

Tue, May 16, 1:15 PM
rnk committed rL303199: Revert "[X86] Replace slow LEA instructions in X86".
Revert "[X86] Replace slow LEA instructions in X86"
Tue, May 16, 1:08 PM
rnk accepted D33206: [DAG] Elide stores which are overwritten without being observed..

lgtm, thanks!

Tue, May 16, 12:46 PM

Mon, May 15

rnk accepted D33162: IR: Give function GlobalValue::getRealLinkageName() a less misleading name: getPGOName()..

lgtm, ship it

Mon, May 15, 5:41 PM
rnk added a comment to D33162: IR: Give function GlobalValue::getRealLinkageName() a less misleading name: getPGOName()..
In D33162#754180, @pcc wrote:

Most of the uses reads quite wrong since it has nothing to do with PGO.

Yes, that's the point :)

Use of a function named getPGOName() in code that has nothing to do with PGO stands out and makes it more obvious that there is a bug. Using a "better" name would increase the chance of the function being used incorrectly in other places.

Mon, May 15, 2:32 PM
rnk added inline comments to D32218: X86AsmParser.cpp asserts: OperandStack.size() > 1 && "Too few operands.".
Mon, May 15, 1:50 PM
rnk added inline comments to D33206: [DAG] Elide stores which are overwritten without being observed..
Mon, May 15, 1:39 PM
rnk committed rL303083: [ubsan] Don't enable debug info in all tests.
[ubsan] Don't enable debug info in all tests
Mon, May 15, 10:38 AM

Fri, May 12

rnk accepted D33102: [clang] Implement -Wcast-qual for C++.

Looks good, do you need someone to commit this? You might also consider requesting commit access: http://llvm.org/docs/DeveloperPolicy.html#obtaining-commit-access

Fri, May 12, 4:20 PM
rnk accepted D33039: [inline asm] dot operator while using imm generates wrong ir + asm.

Looks good.

Fri, May 12, 3:45 PM
rnk accepted D31383: [inline asm] "=i" output constraint support - gcc compatiblity.

lgtm

Fri, May 12, 3:41 PM
rnk added a reviewer for D32998: [SROA] enable splitting for non-whole-alloca loads and stores: rnk.
Fri, May 12, 3:35 PM
rnk added a comment to D32688: [Coverage] Comdat section name should be same as the variable name in COFF format.

Are we sure we want it like this? Doesn't this retain instrprof data structures from both A.obj and B.obj for inline functions present in both objs? Won't that be a problem?

Fri, May 12, 3:17 PM
rnk accepted D33148: add generic annotated builder and clang-with-thin-lto-windows.

lgtm!

Fri, May 12, 3:01 PM
rnk added a comment to D32498: [CodeView] omit forward references for unnamed structs and unions.

I think I've convinced myself that it's impossible to create a cycle in the C type graph. I'll sleep better if you check for an empty identifier in addition to an empty name on the DICompositeType. That is essentially a proxy for "is this a C++ type" because all C++ types have identifiers, which are effectively mangled names.

Fri, May 12, 2:59 PM
rnk added inline comments to D33148: add generic annotated builder and clang-with-thin-lto-windows.
Fri, May 12, 2:11 PM
rnk added a comment to D33148: add generic annotated builder and clang-with-thin-lto-windows.

Great, I'm looking forward to rewriting the standard 32-bit builder to use this. :)

Fri, May 12, 2:03 PM
rnk accepted D33009: [CodeView] Add an amortized O(1) random access type visitor.

lgtm

Fri, May 12, 11:14 AM
rnk added a comment to D33009: [CodeView] Add an amortized O(1) random access type visitor.

Thanks, one more round of comments and I think we're done. I'm just staring at data structure code trying to make it simple.

Fri, May 12, 10:54 AM