rnk (Reid Kleckner)
User

Projects

User Details

User Since
Jan 2 2013, 4:34 PM (288 w, 6 d)

Recent Activity

Mon, Jun 25

rnk added inline comments to D48567: [COFF] Fix constant sharing regression for MinGW.
Mon, Jun 25, 2:39 PM
rnk committed rL335508: Re-land r335297 "[X86] Implement more of x86-64 large and medium PIC code….
Re-land r335297 "[X86] Implement more of x86-64 large and medium PIC code…
Mon, Jun 25, 11:21 AM
This revision was not accepted when it landed; it landed in state Needs Review.
Mon, Jun 25, 11:21 AM

Sat, Jun 23

rnk committed rC335419: Attempt to fix latent tablegen dependency issue.
Attempt to fix latent tablegen dependency issue
Sat, Jun 23, 10:38 AM
rnk committed rL335419: Attempt to fix latent tablegen dependency issue.
Attempt to fix latent tablegen dependency issue
Sat, Jun 23, 10:37 AM
rnk accepted D48516: ADT: Use EBO to shrink SmallVector size 1.

Thanks for finding that!

Sat, Jun 23, 9:46 AM

Fri, Jun 22

rnk committed rL335409: [AMDGPU] Update includes for intrinsic changes :(.
[AMDGPU] Update includes for intrinsic changes :(
Fri, Jun 22, 8:10 PM
rnk committed rL335407: [IR] Split Intrinsics.inc into enums and implementations.
[IR] Split Intrinsics.inc into enums and implementations
Fri, Jun 22, 7:07 PM
rnk committed rL335406: Avoid including intrin.h from MathExtras.h.
Avoid including intrin.h from MathExtras.h
Fri, Jun 22, 6:24 PM
rnk updated the diff for D47211: [X86] Implement more of x86-64 large and medium PIC code models.
  • rebase over ELF rtdyld changes
Fri, Jun 22, 5:16 PM
rnk added a comment to D48417: Fix global variable addressing code generation issue in PIC medium code model.

@rnk, I see that this patch touches isOffsetSuitableForCodeModel , but D47211 does not.

Fri, Jun 22, 5:09 PM
rnk committed rL335402: [RuntimeDyld] Implement the ELF PIC large code model relocations.
[RuntimeDyld] Implement the ELF PIC large code model relocations
Fri, Jun 22, 4:59 PM
rnk reopened D47211: [X86] Implement more of x86-64 large and medium PIC code models.
Fri, Jun 22, 4:12 PM
rnk added a comment to D48494: [doc] Show the git config for Windows to do line-endings correctly.

I personally use false, but maybe input would be a good way to go going forward. Honestly, let's go ahead and recommend input. Even if our .gitattributes files don't say the right thing today, we can fix that over time, and then things will be more likely to work out of the box.

Fri, Jun 22, 12:49 PM
rnk added a comment to D48417: Fix global variable addressing code generation issue in PIC medium code model.

I have this change as part of https://reviews.llvm.org/D47211, which I'll try to reland soon.

Fri, Jun 22, 9:58 AM

Thu, Jun 21

rnk committed rL335304: [X86] Fix 32-bit mingw comdat names, only add one underscore.
[X86] Fix 32-bit mingw comdat names, only add one underscore
Thu, Jun 21, 4:11 PM
rnk added a comment to D48402: [mingw] Fix GCC ABI compatibility for comdat things.

Sections:
....

3 .text$___Z3fooi 00000013  00000000  00000000  0000012c  2**4
               CONTENTS, ALLOC, LOAD, RELOC, READONLY, CODE, LINK_ONCE_DISCARD
Could that explain the difference?
Thu, Jun 21, 4:04 PM
rnk added a comment to rL335297: [X86] Implement more of x86-64 large and medium PIC code models.

So I reverted my change for now.

Thu, Jun 21, 3:24 PM
rnk added a comment to rL335297: [X86] Implement more of x86-64 large and medium PIC code models.

I investigated, but it is not trivial to fix.

Thu, Jun 21, 3:23 PM
rnk committed rL335300: Revert r335297 "[X86] Implement more of x86-64 large and medium PIC code models".
Revert r335297 "[X86] Implement more of x86-64 large and medium PIC code models"
Thu, Jun 21, 3:23 PM
rnk committed rL335298: [X86] Commit some comments that weren't in the medium code model patch.
[X86] Commit some comments that weren't in the medium code model patch
Thu, Jun 21, 3:02 PM
rnk committed rL335297: [X86] Implement more of x86-64 large and medium PIC code models.
[X86] Implement more of x86-64 large and medium PIC code models
Thu, Jun 21, 2:59 PM
This revision was not accepted when it landed; it landed in state Needs Review.
Thu, Jun 21, 2:59 PM
rnk updated the diff for D47211: [X86] Implement more of x86-64 large and medium PIC code models.

rebase

Thu, Jun 21, 2:48 PM
rnk committed rL335286: [mingw] Fix GCC ABI compatibility for comdat things.
[mingw] Fix GCC ABI compatibility for comdat things
Thu, Jun 21, 1:32 PM
rnk closed D48402: [mingw] Fix GCC ABI compatibility for comdat things.
Thu, Jun 21, 1:32 PM
rnk updated subscribers of D48426: [clang-cl] Don't emit dllexport inline functions etc. from pch files (PR37801).

LangOpts.ModulesCodegen is very related in spirit to this, but I think we need a distinct option because that was designed to handle all inline functions (too much), not just dllexport inline functions. + @dblaikie

Thu, Jun 21, 1:30 PM
rnk added a comment to D48402: [mingw] Fix GCC ABI compatibility for comdat things.

If we make clang start producing this, how hard would it be to make LLD handle it gracefully? (I don't think I've touched the comdat handling in LLD significantly.)

Thu, Jun 21, 1:21 PM
rnk added a comment to D48448: [X86] Correct the inline assembly implementations of __movsb/w/d/q and __stosw/d/q to mark registers/memory as modified.

Yikes.

Thu, Jun 21, 12:33 PM
rnk added a comment to D48402: [mingw] Fix GCC ABI compatibility for comdat things.

Seems sensible to me. I've tested this change with LLD as linker as well, and it worked just fine for building Qt, and for a small test setup similar to the example in the issue report.

Thu, Jun 21, 10:55 AM
rnk accepted D48187: [Intrinsics] Add/move some builtin declarations in intrin.h to get ms-intrinsics.c to not issue warnings.

lgtm

Thu, Jun 21, 9:53 AM

Wed, Jun 20

rnk added a comment to D47956: [MS] Consder constexpr globals to be inline, as in C++17.

Can we now remove the corresponding MSVC-specific hacks elsewhere (eg, ASTContext::isMSStaticDataMemberInlineDefinition), or do we still need those for const-but-not-constexpr static data members?

Wed, Jun 20, 4:14 PM
rnk added a reviewer for D48402: [mingw] Fix GCC ABI compatibility for comdat things: pirama.
Wed, Jun 20, 4:09 PM
rnk updated the diff for D48402: [mingw] Fix GCC ABI compatibility for comdat things.
  • add missing test
Wed, Jun 20, 4:08 PM
rnk created D48402: [mingw] Fix GCC ABI compatibility for comdat things.
Wed, Jun 20, 3:51 PM
rnk added inline comments to D47956: [MS] Consder constexpr globals to be inline, as in C++17.
Wed, Jun 20, 3:30 PM
rnk added inline comments to D48380: Enable the support for digit separators in C mode in Clang (to be compatible with MSVC).
Wed, Jun 20, 3:26 PM
rnk added a comment to D46652: [clang-cl, PCH] Implement support for MS-style PCH through headers.

@hans, think you'll have time to look at this with your recent dllexport PCH experimentation?

Wed, Jun 20, 2:22 PM
rnk committed rC335175: [MS] Make sure __GetExceptionInfo works on types with no linkage.
[MS] Make sure __GetExceptionInfo works on types with no linkage
Wed, Jun 20, 2:17 PM
rnk committed rL335175: [MS] Make sure __GetExceptionInfo works on types with no linkage.
[MS] Make sure __GetExceptionInfo works on types with no linkage
Wed, Jun 20, 2:16 PM
rnk added inline comments to D48380: Enable the support for digit separators in C mode in Clang (to be compatible with MSVC).
Wed, Jun 20, 1:41 PM

Tue, Jun 19

rnk added a comment to D47211: [X86] Implement more of x86-64 large and medium PIC code models.

ping

Tue, Jun 19, 9:51 PM
rnk committed rCRT335089: [asan] Add flushes to try to fix test.
[asan] Add flushes to try to fix test
Tue, Jun 19, 6:14 PM
rnk committed rL335089: [asan] Add flushes to try to fix test.
[asan] Add flushes to try to fix test
Tue, Jun 19, 6:14 PM
rnk committed rCRT335087: [asan] Add Windows test for handle_segv and SetUnhandledExceptionFilter.
[asan] Add Windows test for handle_segv and SetUnhandledExceptionFilter
Tue, Jun 19, 5:51 PM
rnk committed rL335087: [asan] Add Windows test for handle_segv and SetUnhandledExceptionFilter.
[asan] Add Windows test for handle_segv and SetUnhandledExceptionFilter
Tue, Jun 19, 5:50 PM
rnk accepted D48296: clang-cl: Emit normal narrowing diagnostics for initializer lists if -fmsc-version is at least 1900 (i.e. MSVC2015)..

Thanks! I'd keep it DefaultIgnored: I'd be annoyed if I'd get these by default in C++98 mode.

Tue, Jun 19, 1:21 PM

Mon, Jun 18

rnk committed rCRT335007: [asan] Avoid deadlock when initializing the symbolizer CHECK fails.
[asan] Avoid deadlock when initializing the symbolizer CHECK fails
Mon, Jun 18, 5:41 PM
rnk committed rL335007: [asan] Avoid deadlock when initializing the symbolizer CHECK fails.
[asan] Avoid deadlock when initializing the symbolizer CHECK fails
Mon, Jun 18, 5:41 PM
rnk added a comment to D47988: [CodeGen] Emit MSVC funclet IR for Obj-C exceptions.

In general, it's unfortunate that this has to leave so many C++-runtime-specific tendrils in the ObjC code. Unlike the EH type patch, though, I'm not sure I can see a great alternative here, especially because of the semantic restrictions required by outlining.

Mon, Jun 18, 4:38 PM
rnk added a comment to D48296: clang-cl: Emit normal narrowing diagnostics for initializer lists if -fmsc-version is at least 1900 (i.e. MSVC2015)..

Do you think we should go ahead and remove the DefaultIgnore on these warnings as well? At this point, approximately nobody will see them.

Mon, Jun 18, 2:09 PM
rnk committed rL334973: Fix clangd test to pass when delayed template parsing is on by default.
Fix clangd test to pass when delayed template parsing is on by default
Mon, Jun 18, 11:59 AM
rnk committed rCTE334973: Fix clangd test to pass when delayed template parsing is on by default.
Fix clangd test to pass when delayed template parsing is on by default
Mon, Jun 18, 11:59 AM
rnk accepted D48224: Don't let test/Driver/no-canonical-prefixes.c form a symlink cycle the second time it runs..

lgtm

Mon, Jun 18, 11:36 AM

Jun 14 2018

rnk added a comment to D47210: [lit] Fix the `--max-time` flag feature which was completely broken..

Sorry, I haven't had time to read up and respond to this. It's very likely that I will go on vacation shortly, and then not have time to come back to this until August.

Jun 14 2018, 2:01 PM
rnk committed rL334762: Fix wasm responsefile lld test on Windows.
Fix wasm responsefile lld test on Windows
Jun 14 2018, 1:03 PM
rnk committed rLLD334762: Fix wasm responsefile lld test on Windows.
Fix wasm responsefile lld test on Windows
Jun 14 2018, 1:03 PM
rnk committed rLLD334761: [COFF] Fix /wholearchive: to do libpath search again.
[COFF] Fix /wholearchive: to do libpath search again
Jun 14 2018, 1:00 PM
rnk committed rL334761: [COFF] Fix /wholearchive: to do libpath search again.
[COFF] Fix /wholearchive: to do libpath search again
Jun 14 2018, 1:00 PM
rnk added inline comments to D47565: Fix /WholeArchive bug..
Jun 14 2018, 12:48 PM
rnk added inline comments to D48052: [sanitizer] Don't treat colon before slash as a flag separator.
Jun 14 2018, 10:10 AM

Jun 13 2018

rnk added a comment to D38680: [libunwind] Fix handling of DW_CFA_GNU_args_size.

After a careful review of newer GCC / libgcc and the assembler annotations from LLVM, I have come to the following conclusions:

(1) The semantics have been somewhat changed by GCC in recent years. There is no actual specification, so we have to go by what behavior actually makes sense.
(2) The primary motivation is still that the DW_CFA_GNU_args_size is a call-site specific annotation. It is expected to be applied when the IP is moved by the personality routine to compensate for the call site specific (temporary) adjustment.

Jun 13 2018, 2:22 PM
rnk committed rL334653: [WinASan] Don't instrument globals in sections containing '$'.
[WinASan] Don't instrument globals in sections containing '$'
Jun 13 2018, 1:51 PM

Jun 12 2018

rnk accepted D47565: Fix /WholeArchive bug..

lgtm

Jun 12 2018, 2:42 PM
rnk committed rL334547: Remove malloc.h include from Intel JIT events code.
Remove malloc.h include from Intel JIT events code
Jun 12 2018, 2:19 PM
rnk added a comment to D47988: [CodeGen] Emit MSVC funclet IR for Obj-C exceptions.

Any idea why we would see inlining in one case and not the other? i686 vs. x86-64 doesn't make any difference, and neither does -Os vs. -O1 vs. -O2.

Jun 12 2018, 2:16 PM
rnk committed rL334544: Add null check to Intel JIT event listener.
Add null check to Intel JIT event listener
Jun 12 2018, 1:58 PM
rnk committed rL334543: Fix how LLVMOPTIONALCOMPONENTS is passed to llvm-build.
Fix how LLVMOPTIONALCOMPONENTS is passed to llvm-build
Jun 12 2018, 1:58 PM
rnk closed D47982: Fix when LLVM_USE_INTEL_JITEVENTS and LLVM_USE_OPROFILE not set, llvm-build not gen LibraryDependencies.inc.
Jun 12 2018, 1:58 PM
rnk committed rL334523: [MS][ARM64] Hoist __ImageBase handling into TargetLoweringObjectFileCOFF.
[MS][ARM64] Hoist __ImageBase handling into TargetLoweringObjectFileCOFF
Jun 12 2018, 12:00 PM
rnk closed D47783: [MS][ARM64]: Hoist __ImageBase handling into TargetLoweringObjectFileCOFF::lowerRelativeReference, so that all COFF targets get this..
Jun 12 2018, 12:00 PM
rnk accepted D47565: Fix /WholeArchive bug..

Sorry this got lost.

Jun 12 2018, 11:43 AM

Jun 11 2018

rnk created D48052: [sanitizer] Don't treat colon before slash as a flag separator.
Jun 11 2018, 1:52 PM
rnk added a comment to D47672: [Headers] Add _Interlocked*_HLEAcquire/_HLERelease.

It sounds like adding proper support for HLE prefixes is a largeish project.

ctopper, rnk: Do you think it would be worth adding inline asm versions (with the xacquire/release prefixes) of these intrinsics in the meantime? It would inhibit optimizations but be better than the current state of not having the intrinsics at all.

Jun 11 2018, 1:32 PM
rnk accepted D47783: [MS][ARM64]: Hoist __ImageBase handling into TargetLoweringObjectFileCOFF::lowerRelativeReference, so that all COFF targets get this..

lgtm

Jun 11 2018, 1:17 PM
rnk accepted D45604: Support for multiarch runtimes layout.

Does it have to be a single patch?

Jun 11 2018, 1:04 PM
rnk committed rC334418: Enable crash recovery tests on Windows, globs work in the lit internal shell now.
Enable crash recovery tests on Windows, globs work in the lit internal shell now
Jun 11 2018, 9:54 AM
rnk committed rL334418: Enable crash recovery tests on Windows, globs work in the lit internal shell now.
Enable crash recovery tests on Windows, globs work in the lit internal shell now
Jun 11 2018, 9:54 AM
rnk committed rL334417: [MS] Use mangled names and comdats for string merging with ASan.
[MS] Use mangled names and comdats for string merging with ASan
Jun 11 2018, 9:54 AM
rnk committed rC334417: [MS] Use mangled names and comdats for string merging with ASan.
[MS] Use mangled names and comdats for string merging with ASan
Jun 11 2018, 9:54 AM
rnk accepted D47982: Fix when LLVM_USE_INTEL_JITEVENTS and LLVM_USE_OPROFILE not set, llvm-build not gen LibraryDependencies.inc.

lgtm

Jun 11 2018, 9:53 AM

Jun 8 2018

rnk committed rL334313: [asan] Instrument comdat globals on COFF targets.
[asan] Instrument comdat globals on COFF targets
Jun 8 2018, 11:39 AM
rnk closed D47841: [asan] Instrument comdat globals on COFF targets.
Jun 8 2018, 11:39 AM
rnk created D47956: [MS] Consder constexpr globals to be inline, as in C++17.
Jun 8 2018, 11:25 AM

Jun 7 2018

rnk added a comment to D47841: [asan] Instrument comdat globals on COFF targets.

Think we should go for it?

Jun 7 2018, 6:02 PM
rnk committed rL334254: Revert r334209 "[LSR] Check yet more intrinsic pointer operands".
Revert r334209 "[LSR] Check yet more intrinsic pointer operands"
Jun 7 2018, 5:47 PM
rnk accepted D47862: [CodeGen] Always use MSVC personality for windows-msvc targets.
Jun 7 2018, 5:22 PM
rnk accepted D47913: [Support] Introduce a new utility for testing child process execution.

Looks good, but @dblaikie has helpful thoughts about testing and he is responsive, so I'd let him take a look.

Jun 7 2018, 5:21 PM
rnk updated subscribers of D47687: [Sema] Missing -Wlogical-op-parentheses warnings in macros (PR18971).

@dexonsmith is there someone from Apple who can comment on rdar://8678458 and the merits of disabling this warning in macros? I strongly suspect the original report was dealing with code like assert(x || y && "str");, if so we can go forward with this.

Jun 7 2018, 5:18 PM
rnk added inline comments to D47862: [CodeGen] Always use MSVC personality for windows-msvc targets.
Jun 7 2018, 3:43 PM
rnk accepted D47853: [Frontend] Disallow non-MSVC exception models for windows-msvc targets.

lgtm

Jun 7 2018, 3:42 PM
rnk committed rC334239: [MS] Re-add support for the ARM interlocked bittest intrinscs.
[MS] Re-add support for the ARM interlocked bittest intrinscs
Jun 7 2018, 2:43 PM
rnk committed rL334239: [MS] Re-add support for the ARM interlocked bittest intrinscs.
[MS] Re-add support for the ARM interlocked bittest intrinscs
Jun 7 2018, 2:43 PM
rnk added inline comments to D47852: [Support] Re-work the Flags parameter of the FileSystem open APIs.
Jun 7 2018, 1:21 PM
rnk accepted D47863: [Support] Add support for the OF_Delete open flag on posix platforms.

lgtm

Jun 7 2018, 1:18 PM

Jun 6 2018

rnk accepted D47850: [Driver] Stop passing -fseh-exceptions for x86_64-windows-msvc.

lgtm

Jun 6 2018, 4:04 PM
rnk added a comment to D47841: [asan] Instrument comdat globals on COFF targets.
In D47841#1123978, @pcc wrote:

there is no reason that we cannot also do this for ELF.

I thought we were already using !associated (which translates into SHF_LINK_ORDER) on ELF?

Jun 6 2018, 12:58 PM
rnk created D47841: [asan] Instrument comdat globals on COFF targets.
Jun 6 2018, 12:05 PM
rnk added a comment to D47783: [MS][ARM64]: Hoist __ImageBase handling into TargetLoweringObjectFileCOFF::lowerRelativeReference, so that all COFF targets get this..

Needs a test. I think you can copy llvm/test/MC/COFF/ir-to-imgrel.ll to llvm/test/MC/AArch64/ and modify it accordingly. The test is kind of in the wrong location, though. It should really be in llvm/test/CodeGen/(X86|AArch64), since it's an llc test.

Jun 6 2018, 11:54 AM
rnk added a comment to D47784: [MS][ARM64]: Promote _setjmp to_setjmpex as there is no _setjmp in the ARM64 libvcruntime.lib.

Thanks for the patch!

Jun 6 2018, 11:49 AM