Feed All Stories

Today

NoQ accepted D52337: [analyzer] Highlight sink nodes in red in exploded graph.
Fri, Sep 21, 12:10 PM
NoQ added a comment to D52337: [analyzer] Highlight sink nodes in red in exploded graph.

Maybe use text as well? It's hard to decipher color coding if you're not the one who introduced it.

Fri, Sep 21, 12:10 PM
bogner added a dependency for D52374: [MachineCopyPropagation] Reimplement CopyTracker in terms of register units: D52370: [MachineCopyPropagation] Rework how we manage RegMask clobbers.
Fri, Sep 21, 12:08 PM
bogner added a dependent revision for D52370: [MachineCopyPropagation] Rework how we manage RegMask clobbers: D52374: [MachineCopyPropagation] Reimplement CopyTracker in terms of register units.
Fri, Sep 21, 12:08 PM
NoQ accepted D52336: [analyzer] [NFC] Prefer make_unique over "new".
Fri, Sep 21, 12:08 PM
bogner created D52374: [MachineCopyPropagation] Reimplement CopyTracker in terms of register units.
Fri, Sep 21, 12:08 PM
aardappel created D52373: [WebAssembly] Simplified selecting asmmatcher stack instructions..
Fri, Sep 21, 12:04 PM
vlad.tsyrklevich committed rL342763: SafeStack: Fix flaky test (PR39001).
SafeStack: Fix flaky test (PR39001)
Fri, Sep 21, 12:04 PM
vlad.tsyrklevich committed rCRT342763: SafeStack: Fix flaky test (PR39001).
SafeStack: Fix flaky test (PR39001)
Fri, Sep 21, 12:03 PM
vlad.tsyrklevich closed D52330: SafeStack: Fix flaky test (PR39001).
Fri, Sep 21, 12:03 PM
wgml added inline comments to D52136: [clang-tidy] Add modernize-concat-nested-namespaces check.
Fri, Sep 21, 11:58 AM · Restricted Project
tkrasnukha committed rLLDB342762: Move architecture-specific address adjustment to architecture plugins.
Move architecture-specific address adjustment to architecture plugins
Fri, Sep 21, 11:58 AM
tkrasnukha committed rL342762: Move architecture-specific address adjustment to architecture plugins.
Move architecture-specific address adjustment to architecture plugins
Fri, Sep 21, 11:58 AM
Diffusion closed D48623: Move architecture-specific address adjustment to architecture plugins..
Fri, Sep 21, 11:58 AM
wgml updated the diff for D52136: [clang-tidy] Add modernize-concat-nested-namespaces check.
Fri, Sep 21, 11:57 AM · Restricted Project
tlively created D52372: [WebAssembly] SIMD conversions.
Fri, Sep 21, 11:57 AM
hsaito added a comment to D52327: [Loop Vectorizer] Abandon vectorization when no integer IV found.

Sorry, I totally forgot about my old patch https://reviews.llvm.org/D47216.

  1. I like your two different message version better than changing Line 788 condition to if (!WidestIndTy). That's good.
  2. Please add non-NULL assertion after "Type *IdxTy = Legal->getWidestInductionType();" in InnerLoopVectorizer::getOrCreateTripCount().
  3. Please include LIT test from D47216.
Fri, Sep 21, 11:55 AM
juliehockett updated the diff for D52313: [clang-doc] Avoid parsing undefined base classes.

Adding test case

Fri, Sep 21, 11:55 AM · Restricted Project
pirama updated the diff for D52368: [libc++abi] is_strcmp parameter to is_equal is unused for WIN32.

Simplify patch.

Fri, Sep 21, 11:55 AM
dim updated subscribers of D52240: Partial Fix for PR#38964.

Marshall, can you confirm that the change does not break check-cxx-abilist on OS X. I'm fine with the change if that's not broken.

Fri, Sep 21, 11:55 AM
efriedma accepted D52353: Fix asserts when linking wrong address space declarations.

The only edge case I'm concerned about is that If you link together two modules, and neither has a definition, we just arbitrarily choose an address-space. But the AsmPrinter should be able to handle that, I guess.

Fri, Sep 21, 11:55 AM
tatyana-krasnukha added a comment to D48623: Move architecture-specific address adjustment to architecture plugins..

Thanks for your patience;)

Fri, Sep 21, 11:55 AM
tlively committed rL342761: [WebAssembly][NFC] Rename simd-conversions test to simd-bitcasts.
[WebAssembly][NFC] Rename simd-conversions test to simd-bitcasts
Fri, Sep 21, 11:49 AM
tlively closed D52333: [WebAssembly][NFC] Rename simd-conversions test to simd-bitcasts.
Fri, Sep 21, 11:48 AM
ctice committed rL342760: Pass code-model through Module IR to LTO which will use it..
Pass code-model through Module IR to LTO which will use it.
Fri, Sep 21, 11:43 AM
Diffusion closed D52322: Pass code-model through Module IR to LTO which will use is.
Fri, Sep 21, 11:42 AM
clayborg accepted D48623: Move architecture-specific address adjustment to architecture plugins..

much better! Thanks for making the changes

Fri, Sep 21, 11:42 AM
aardappel added a comment to D51662: [WebAssembly] Made assembler only use stack instruction tablegen defs.

@tlively that is entirely possible, I'll give it a go.

Fri, Sep 21, 11:39 AM
compnerd accepted D52344: [Clang][CodeGen][ObjC]: Fix non-bridged CoreFoundation builds on ELF targets that use `-fconstant-cfstrings`..

This looks fine to me, but this definitely should have an accompanying test.

Fri, Sep 21, 11:38 AM
jfb committed rL342759: [NFC] use bit_cast in PointerSumType.
[NFC] use bit_cast in PointerSumType
Fri, Sep 21, 11:37 AM
ctice committed rC342758: Add necessary support for storing code-model to module IR..
Add necessary support for storing code-model to module IR.
Fri, Sep 21, 11:36 AM
ctice committed rL342758: Add necessary support for storing code-model to module IR..
Add necessary support for storing code-model to module IR.
Fri, Sep 21, 11:36 AM
Diffusion closed D52323: Add necessary support for storing code-model to module IR..
Fri, Sep 21, 11:36 AM
tkrasnukha committed rLLDB342757: build: add libedit to include paths.
build: add libedit to include paths
Fri, Sep 21, 11:36 AM
tkrasnukha committed rL342757: build: add libedit to include paths.
build: add libedit to include paths
Fri, Sep 21, 11:36 AM
Diffusion closed D51999: build: add libedit to include paths.
Fri, Sep 21, 11:36 AM
lebedev.ri added a comment to D51929: [DAGCombiner] use UADDO to optimize saturated unsigned add.

I'm not following the 'adc' suggestion though. That uses the carry from a previous op in the addition. What would that code sequence look like?

Uhm, after thinking a bit more, i think we'd only care about ADD? I haven't really thought about it though.
But in ADC case, i guess the same as with ADD, but prefixed with CLC -> no point in using ADC in the first place.

Fri, Sep 21, 11:35 AM
gromer added inline comments to D51812: Simplify CheckFallThroughForBody.
Fri, Sep 21, 11:31 AM
compnerd accepted D51999: build: add libedit to include paths.

LGTM, thanks!

Fri, Sep 21, 11:29 AM
spatel committed rL342756: [x86] add (negative) andnp test for D52318; NFC.
[x86] add (negative) andnp test for D52318; NFC
Fri, Sep 21, 11:26 AM
erik.pilkington added reviewers for D52339: Support enums with a fixed underlying type in all language modes: jlebar, Anastasia.
Fri, Sep 21, 11:24 AM
gromer updated the diff for D51812: Simplify CheckFallThroughForBody.
Fri, Sep 21, 11:22 AM
george.burgess.iv accepted D52268: [AST] Squeeze some bits in LinkageComputer.

LGTM too.

Fri, Sep 21, 11:22 AM · Restricted Project
spatel added a comment to D51929: [DAGCombiner] use UADDO to optimize saturated unsigned add.

Do we somehow enforce that in %r = select i1 %c, i32 -1, i32 %a, -1 is in the middle?
If not, we miss at least one case i think:

That's correct. I think there are also 4 swapped variants for the pattern with a variable and a 'not' op (online version of Alive looks dead? cc'ing @nlopes):
...

My plan is to canonicalize all of the patterns in IR. If I'm seeing it correctly, there shouldn't be anything blocking those canonicalizations because we only try to form the uaddo here when the cmp (setcc) has one use (the select). That should let us get by with just the basic matching here in the backend.

Ok, sounds good. At worst, this can be extended.
I'm not sure why there is no x86 test coverage.
Won't ADC work for this purpose?
ADD evaluates the result for both signed and unsigned integer operands and sets the CF and OF flags to indicate a carry (overflow) in the signed or unsigned result, respectively, too.
Some plumbing missing?

I think this looks good, but maybe wait a bit just in case someone else wants to comment.

Fri, Sep 21, 11:17 AM
tatyana-krasnukha updated the diff for D48623: Move architecture-specific address adjustment to architecture plugins..
Fri, Sep 21, 11:16 AM
mstorsjo updated the diff for D38513: [LLD] [COFF] Add support for GNU binutils import libraries.

Split two functions out of createSections, changed const StringRef& into plain StringRef.

Fri, Sep 21, 11:12 AM
erik.pilkington added a comment to D52339: Support enums with a fixed underlying type in all language modes.

There's no reason to make this an ObjC2-only feature; we should probably eliminate that distinction throughout the compiler.

Fri, Sep 21, 11:11 AM
spatel updated the diff for D51553: [DAGCombiner][x86] add transform/hook to load a scalar directly for use in a vector binop.

Patch updated:
Disallow the transform on x86 if we're optimizing for size. Test added at rL342755.

Fri, Sep 21, 11:11 AM
mclow.lists added a comment to D52368: [libc++abi] is_strcmp parameter to is_equal is unused for WIN32.

This seems like overkill to me; why not add (void) use_strcmp right before line 67 instead?

Fri, Sep 21, 11:10 AM
efriedma accepted D50229: [ARM][AArch64] Add feature +fp16fml.

LGTM

Fri, Sep 21, 11:10 AM
spatel added inline comments to D51553: [DAGCombiner][x86] add transform/hook to load a scalar directly for use in a vector binop.
Fri, Sep 21, 11:10 AM
cryptoad created D52371: [sanitizer] Introduce a new SizeClassMap with minimal amount of cached entries.
Fri, Sep 21, 11:10 AM
efriedma accepted D52085: [ARM][ARMLoadStoreOptimizer].

LGTM

Fri, Sep 21, 11:10 AM
rjmccall added a comment to D52339: Support enums with a fixed underlying type in all language modes.

From the last line in the paper, it seems that C++ compatibility is a goal of the paper (or at least a consideration). We should probably think about this if/when the final wording gets accepted though.

Agreed. WG14's charter explicitly prefers compatibility with C++ when possible.

The part that I wasn't quite sure on were the type constraints in the proposal. C++ allows any integral type and ignores cv qualifiers, but the proposal lists specific types and doesn't discuss qualifiers. By my reading, this is code allowed in C++ but prohibited in the proposed wording:

enum E : const int32_t {
  One
};

(Because the type is int32_t and is cv-qualified.) However, it's possible that's an oversight rather than an intentional design. I'll bring it up with Clive to see, but perhaps we can spot other divergences and can provide him with a list of concerns on the implementation side.

Fri, Sep 21, 11:06 AM
spatel committed rL342755: [x86] add test with optsize attribute for scalar->vector transform; NFC.
[x86] add test with optsize attribute for scalar->vector transform; NFC
Fri, Sep 21, 11:05 AM
tlively added a comment to D51662: [WebAssembly] Made assembler only use stack instruction tablegen defs.

Would setting the isCodeGenOnly on the non-stack instructions accomplish this as well?

Fri, Sep 21, 11:03 AM
bogner created D52370: [MachineCopyPropagation] Rework how we manage RegMask clobbers.
Fri, Sep 21, 11:03 AM
rjmccall accepted D52352: llvm-diff: Fix crash on anonymous functions.

LGTM. And yeah, I don't have a better recommendation in the short term. Long-term, maybe we can try to match them up by uses or types.

Fri, Sep 21, 11:03 AM
rjmccall accepted D52268: [AST] Squeeze some bits in LinkageComputer.

LinkageComputer isn't actually persisted anywhere, right? And there's maybe one computer active at once? So this compression is theoretically saving one pointer of stack space but forcing a bunch of bit-manipulation every time these fields are accessed.

It is not persisted but this saves one pointer per entry in the map. Another factor is that hashing a pair involves hashing
each component and then combining the result, which is comparatively much more expansive than just hashing a PointerIntPair,
which involves only a shift and a xor. The field storing the LVComputationKind is never directly read but only used to differentiate
various kinds of computations in the map. I went back and instrumented the lookup function LinkageComputer::lookup with rdtsc,
and (with all the usual caveats about microbenchmarks and rdtsc) I get that this cuts the number of ticks spent inside lookup
from about 8e6 to 3.5e6. Now of course taking a step back this represent only milliseconds and is firmly in the category of
"way to small to bother", but now we might as well do it.

Fri, Sep 21, 10:59 AM · Restricted Project
plotfi added inline comments to D51841: [llvm-objcopy] Dwarf decompression support. .
Fri, Sep 21, 10:59 AM
plotfi updated the diff for D51841: [llvm-objcopy] Dwarf decompression support. .
Fri, Sep 21, 10:59 AM
plotfi updated the diff for D51841: [llvm-objcopy] Dwarf decompression support. .
Fri, Sep 21, 10:53 AM
ruiu committed rLLD342754: Update release notes..
Update release notes.
Fri, Sep 21, 10:51 AM
ruiu committed rL342754: Update release notes..
Update release notes.
Fri, Sep 21, 10:51 AM
aardappel committed rL342753: [WebAssembly] Made assembler only use stack instruction tablegen defs.
[WebAssembly] Made assembler only use stack instruction tablegen defs
Fri, Sep 21, 10:51 AM
aardappel closed D51662: [WebAssembly] Made assembler only use stack instruction tablegen defs.
Fri, Sep 21, 10:50 AM
vlad.tsyrklevich added inline comments to D52330: SafeStack: Fix flaky test (PR39001).
Fri, Sep 21, 10:50 AM
tra committed rL342752: [CUDA] Fixed parsing of optional template-argument-list..
[CUDA] Fixed parsing of optional template-argument-list.
Fri, Sep 21, 10:50 AM
tra committed rC342752: [CUDA] Fixed parsing of optional template-argument-list..
[CUDA] Fixed parsing of optional template-argument-list.
Fri, Sep 21, 10:50 AM
tra closed D52321: [CUDA] Fixed parsing of optional template-argument-list..
Fri, Sep 21, 10:50 AM
nemanjai added a comment to D52345: [PowerPC] optimize conditional branch on CRSET/CRUNSET.

I'm just curious, is there something that runs after this pass that will clean up unreachable blocks if any became unreachable? For example, if MBB1 is the only predecessor of MBB2 and MBB2 is removed as a successor to MBB1, will something remove MBB2 afterwards.

Fri, Sep 21, 10:50 AM
sebpop accepted D52367: Remove address taken, add optnone.

lgtm

Fri, Sep 21, 10:47 AM
tejohnson accepted D52323: Add necessary support for storing code-model to module IR..

LGTM

Fri, Sep 21, 10:44 AM
aaron.ballman added a comment to D52339: Support enums with a fixed underlying type in all language modes.

From the last line in the paper, it seems that C++ compatibility is a goal of the paper (or at least a consideration). We should probably think about this if/when the final wording gets accepted though.

Fri, Sep 21, 10:44 AM
kparzysz committed rL342751: [Hexagon] Avoid functions with exception handling in HexagonConstExtenders.
[Hexagon] Avoid functions with exception handling in HexagonConstExtenders
Fri, Sep 21, 10:44 AM
erik.pilkington added inline comments to D52339: Support enums with a fixed underlying type in all language modes.
Fri, Sep 21, 10:44 AM
tatyana-krasnukha updated the diff for D51999: build: add libedit to include paths.

LLDB's static libraries link each other as INTERFACE, that's why CMake doesn't propagate lldbHost's include directories to lldbCore and lldbInterpreter.
For lldbHost itself, I had to use PUBLIC, because its sources require includes libedit headers and unittests inherit this path too.

Fri, Sep 21, 10:44 AM
tejohnson accepted D52322: Pass code-model through Module IR to LTO which will use is.

LGTM with a minor change suggested.

Fri, Sep 21, 10:44 AM
lebedev.ri accepted D51929: [DAGCombiner] use UADDO to optimize saturated unsigned add.

Do we somehow enforce that in %r = select i1 %c, i32 -1, i32 %a, -1 is in the middle?
If not, we miss at least one case i think:

That's correct. I think there are also 4 swapped variants for the pattern with a variable and a 'not' op (online version of Alive looks dead? cc'ing @nlopes):
...

My plan is to canonicalize all of the patterns in IR. If I'm seeing it correctly, there shouldn't be anything blocking those canonicalizations because we only try to form the uaddo here when the cmp (setcc) has one use (the select). That should let us get by with just the basic matching here in the backend.

Ok, sounds good. At worst, this can be extended.
I'm not sure why there is no x86 test coverage.
Won't ADC work for this purpose?
ADD evaluates the result for both signed and unsigned integer operands and sets the CF and OF flags to indicate a carry (overflow) in the signed or unsigned result, respectively, too.
Some plumbing missing?

Fri, Sep 21, 10:41 AM
tra updated the diff for D52321: [CUDA] Fixed parsing of optional template-argument-list..

Added '>=' and '>>=' to the list of tokens that may indicate the end of the
empty template argument list.

Fri, Sep 21, 10:40 AM
jfb committed rC342750: [NFC] remove unused variable.
[NFC] remove unused variable
Fri, Sep 21, 10:40 AM
jfb committed rL342750: [NFC] remove unused variable.
[NFC] remove unused variable
Fri, Sep 21, 10:40 AM
dsanders created D52369: [tblgen][disasm] Allow multiple encodings to disassemble to the same instruction.
Fri, Sep 21, 10:39 AM
dsanders added a dependent revision for D52366: [tblgen][disasm] Separate encodings from instructions: D52369: [tblgen][disasm] Allow multiple encodings to disassemble to the same instruction.
Fri, Sep 21, 10:39 AM
cmtice updated the diff for D52322: Pass code-model through Module IR to LTO which will use is.

Use Conf.CodeModel in LTO, if it exists.

Fri, Sep 21, 10:37 AM
tra committed rC342749: [CUDA] Ignore uncallable functions when we check for usual deallocators..
[CUDA] Ignore uncallable functions when we check for usual deallocators.
Fri, Sep 21, 10:31 AM
tra committed rL342749: [CUDA] Ignore uncallable functions when we check for usual deallocators..
[CUDA] Ignore uncallable functions when we check for usual deallocators.
Fri, Sep 21, 10:31 AM
tra closed D51808: [CUDA] Ignore uncallable functions when we check for usual deallocators..
Fri, Sep 21, 10:31 AM
pirama created D52368: [libc++abi] is_strcmp parameter to is_equal is unused for WIN32.
Fri, Sep 21, 10:31 AM
erik.pilkington added a comment to D52339: Support enums with a fixed underlying type in all language modes.
In D52339#1242118, @jfb wrote:
In D52339#1242086, @jfb wrote:

I think we should consider proposing this to the C committee. @aaron.ballman I can help Erik write the paper, would you be able to present it? Too tight for the upcoming meeting, but I'm guessing we have *plenty* of time for ++C17.

It's already been proposed to WG14 and is currently on the SD-3 list of features to consider for C2x. See http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2008.pdf. I know Clive and am happy to point him towards this patch (when it lands) as demonstration of industry desire for the feature, in case he needs to provide updated papers.

Wonderful! Does this match he proposed C2x semantics? Once voted in we'll want to change this from just an extension to also be a -std=c2x thing, better have them match now.

I have to validate that still, but from a quick look, I think we're in the ballpark if not outright compatible.

Fri, Sep 21, 10:31 AM
hfinkel added a comment to D52362: [CloneFunction] Simplify previously unsimplifiable instructions.

Is there any compile-time impact? Should we just simplify all instructions at this later point instead of having two passes?

Fri, Sep 21, 10:28 AM
aaron.ballman added inline comments to D52281: [clang-tidy] Add modernize check to use std::invoke in generic code.
Fri, Sep 21, 10:26 AM · Restricted Project
friss added inline comments to D50254: [RFC] Add GDB remote packet reproducer..
Fri, Sep 21, 10:24 AM
hiraditya created D52367: Remove address taken, add optnone.
Fri, Sep 21, 10:24 AM
dsanders created D52366: [tblgen][disasm] Separate encodings from instructions.
Fri, Sep 21, 10:24 AM
mikhail.ramalho created D52365: [analyzer] Improvements to the SMT API.
Fri, Sep 21, 10:24 AM
andreadb added inline comments to D51553: [DAGCombiner][x86] add transform/hook to load a scalar directly for use in a vector binop.
Fri, Sep 21, 10:20 AM
dsanders updated the summary of D52100: [tblgen] Allow FixedLenDecoderEmitter to use APInt-like objects as InsnType.
Fri, Sep 21, 10:18 AM
shafik added inline comments to D50254: [RFC] Add GDB remote packet reproducer..
Fri, Sep 21, 10:18 AM
LukeCheeseman updated the diff for D52085: [ARM][ARMLoadStoreOptimizer].
  • Remove .ll test and simplify mir test
Fri, Sep 21, 10:18 AM