Today

labath added a comment to D47278: Remove lldb-private headers when building LLDB.framework with CMake.

From a layering perspective, it makes sense for SystemInitializerFull to live in the outermost layer, as it's the thing which makes sure liblldb pulls in all required components. Since it is only included from files in source/API (which is as it should be), maybe we could just make it a private header and move the file to source/API/SystemInitializerFull.h ?

Thu, May 24, 2:44 AM
peter.smith accepted D47217: [cmake] [ARM] Check if VFP is supported before including any VFP builtins.

Thanks for the update. That looks good to me.

Thu, May 24, 2:38 AM
labath added a reviewer for D47275: 1/3: DWARFDIE split out to DWARFBasicDIE: aprantl.

I don't think a name like DWARFUnitDIE is a good one bacause it would make a weird is-a relationship (a DWARFDIE represetning a DW_TAG_variable is certainly not a "unit DIE" yet you could assign it to a DWARFUnitDIE&). We could have a DWARFUnitDIE type if we wanted to, but that would have to be a special type in addition to DWARFBasicDIE. However, I think that would be overkill.

Thu, May 24, 2:32 AM
chandlerc added a comment to D46706: [PM/LoopUnswitch] Support partial trivial unswitching..

Thanks for the review!

Thu, May 24, 2:29 AM
chandlerc updated the diff for D46706: [PM/LoopUnswitch] Support partial trivial unswitching..

Update with fixes from code review.

Thu, May 24, 2:29 AM
dmikulin updated the diff for D46326: ThinLTO+CFI: short-circuit direct calls to jump table entries.

Changed the code not to short circuit functions that can be overridden at run time and not to expose <func>.cfi names to the runtime.
Added a test point to check for that.

Thu, May 24, 2:22 AM
jankratochvil updated the diff for D47276: 2/3: Use DWARFBasicDIE as compile-time protection.
Thu, May 24, 2:22 AM
balazske created D47313: [ASTImporter] Corrected lookup at import of templated record decl.
Thu, May 24, 2:22 AM
jankratochvil updated the diff for D47275: 1/3: DWARFDIE split out to DWARFBasicDIE.
Thu, May 24, 2:22 AM
jankratochvil added a comment to D47275: 1/3: DWARFDIE split out to DWARFBasicDIE.

Marked things that don't belong in DWARFBasicDIE.

Thu, May 24, 2:21 AM
dcederman updated the diff for D47136: [Sparc] Add support for 13-bit PIC.

Added support to the assembler so that it can properly parse the output generated by -fpic.

Thu, May 24, 2:20 AM
dcederman added a comment to D47136: [Sparc] Add support for 13-bit PIC.

Same failure, actually, without the -position-independent, too, actually, should've parsed as VK_SPARC_13. But at least we don't ever actually generate that on output.

Thu, May 24, 2:15 AM
shiva0217 added a comment to D46630: [RISCV] Insert NOPs and R_RISCV_ALIGN relocation type for .align directive when linker relaxation enabled.
In D46630#1110712, @asb wrote:

I think that customising the handling of MCAlignFragment is going to be the more correct (with regards to the LLVM MC design and layering) and maintainable way.

I haven't fully stepped through the ordering of function calls when producing an object. Is your concern that the current call to writeNopData from writeFragment comes too late to create the relocation?

Thu, May 24, 2:12 AM
grimar added a comment to D46874: [MC] - Add .stack_size sections into groups and link them with .text.

What I can probably do is to compute ID based on the .text section name.

So that for no -ffunction-sections case it would emit several .stack_sizes with the same ID and so that final object would contain only a single section finally after merging them,
just like we would want.

It would work for my sample case too I think. Let me try to implement this.

Yes, I think this all makes sense. Here's a summary of what I think is best without -function-sections enabled:

// These two share a .stack_sizes section
void func1() {}
void func2() {}

// These two share a different .stack_sizes section.
void func3()  __attribute__ ((section (".text.other"))) {}
void func4()  __attribute__ ((section (".text.other"))) {}

// This has it's own .stack_sizes section in its group
template <int I> int func5() { return I; }
Thu, May 24, 2:12 AM
ilya-biryukov accepted D47256: [clangd] Fix code completion in MACROs with stringification..

LGTM.

Thu, May 24, 2:10 AM
grimar updated the diff for D46874: [MC] - Add .stack_size sections into groups and link them with .text.
  • Generate unique ID basing on begin symbol.
  • Updated test case.
Thu, May 24, 2:10 AM
a.elovikov created D47312: [NFC][VPlan] Wrap PlainCFGBuilder with an anonymous namespace..
Thu, May 24, 2:10 AM
fhahn added inline comments to D47309: [AArch64][SVE] Asm: Support for DUP (immediate) instructions..
Thu, May 24, 2:01 AM
ilya-biryukov added inline comments to D47063: [clangd] Keep only a limited number of idle ASTs in memory.
Thu, May 24, 2:01 AM
jhenderson added a comment to D46874: [MC] - Add .stack_size sections into groups and link them with .text.

What I can probably do is to compute ID based on the .text section name.

So that for no -ffunction-sections case it would emit several .stack_sizes with the same ID and so that final object would contain only a single section finally after merging them,
just like we would want.

It would work for my sample case too I think. Let me try to implement this.

Thu, May 24, 1:52 AM
ilya-biryukov updated the diff for D47063: [clangd] Keep only a limited number of idle ASTs in memory.
  • Reimplemented LRU cache with shared_ptr and weak_ptr.
Thu, May 24, 1:52 AM
kromanova committed rL333167: Added a testcase for PR31593. A patch (r291535) that fixed this bug didn't have….
Added a testcase for PR31593. A patch (r291535) that fixed this bug didn't have…
Thu, May 24, 1:50 AM
kromanova closed D47129: Testcase for PR31593.
Thu, May 24, 1:50 AM
martong committed rL333166: [ASTImporter] Add unit tests for structural equivalence.
[ASTImporter] Add unit tests for structural equivalence
Thu, May 24, 1:45 AM
martong committed rC333166: [ASTImporter] Add unit tests for structural equivalence.
[ASTImporter] Add unit tests for structural equivalence
Thu, May 24, 1:45 AM
martong closed D46867: [ASTImporter] Add unit tests for structural equivalence.
Thu, May 24, 1:45 AM
jonpa committed rL333165: [ScheduleDAGInstrs / buildSchedGraph] Clear subregister entries also..
[ScheduleDAGInstrs / buildSchedGraph] Clear subregister entries also.
Thu, May 24, 1:44 AM
jonpa closed D46838: [MachineScheduler] Clear subregister entries also in addPhysRegDeps when handling a def.

Committed as r333165.

Thu, May 24, 1:44 AM
sammccall added a comment to D45753: Lift JSON library from clang-tools-extra/clangd to llvm/Support..

@chandlerc: Back-from-vacation ping.
(A short response like "yes, do change X" is fine, keeps me busy :-)

Thu, May 24, 1:44 AM
martong updated the diff for D46867: [ASTImporter] Add unit tests for structural equivalence.

Moved using std::get up, before testStructuralMatch.

Thu, May 24, 1:44 AM
dcederman updated the diff for D47137: [Sparc] Add floating-point register names.

Removed the non-existing registers f33, f35, and so on. I also removed the dX and qX aliases. After trying them they felt more confusing than helpful.

Thu, May 24, 1:21 AM
sammccall added inline comments to D46084: [Fixed Point Arithmetic] Addition of the Fixed Point _Accum type.
Thu, May 24, 1:12 AM · Restricted Project
jolesiak added a comment to D47195: [clang-format] Fix putting ObjC message arguments in one line for multiline receiver.

Does it look fine now @krasimir ?

Thu, May 24, 1:04 AM
asb added a comment to D46630: [RISCV] Insert NOPs and R_RISCV_ALIGN relocation type for .align directive when linker relaxation enabled.

I think that customising the handling of MCAlignFragment is going to be the more correct (with regards to the LLVM MC design and layering) and maintainable way.

Thu, May 24, 12:58 AM
mike.dvoretsky created D47311: [X86][CET] Shadow stack fix for setjmp/longjmp.
Thu, May 24, 12:57 AM
jolesiak accepted D47095: [clang-format/ObjC] Correctly parse Objective-C methods with 'class' in name.
Thu, May 24, 12:48 AM
jolesiak added a comment to D47095: [clang-format/ObjC] Correctly parse Objective-C methods with 'class' in name.

LGTM, would be nice though if somebody else took a look (@klimek ?).

Thu, May 24, 12:48 AM
sabuasal updated subscribers of D45748: [RISCV] Add peepholes for Global Address lowering patterns.
In D45748#1110644, @asb wrote:

The point I was trying to make is that even with these peepholes, there are trivial cases that aren't caught, such as the example I shared:

@foo = global [6 x i16] [i16 1, i16 2, i16 3, i16 4, i16 5, i16 0], align 2                                     
                                                                                                                
define i32 @main() nounwind {                                                                                   
entry:                                                                                                          
  %0 = load i16, i16* getelementptr inbounds ([6 x i16], [6 x i16]* @foo, i32 0, i32 4), align 2                
  %cmp = icmp eq i16 %0, 140                                                                                    
  br i1 %cmp, label %if.end, label %if.then                                                                     
                                                                                                                
if.then:                                                                                                        
  tail call void @abort()                                                                                       
  unreachable                                                                                                   
                                                                                                                
if.end:                                                                                                         
  ret i32 0                                                                                                     
}                                                                                                               
                                                                                                                
declare void @abort()

This generates 3 instructions for the global access when you'd obviously prefer to use two:

lui     a0, %hi(foo)
addi    a0, a0, %lo(foo)
lhu     a0, 8(a0)

I proposed one way of adding a peephole, but don't see a way of differentiating between the case above and more complex cases where the peephole is counter-productive (such as in the longer IR sample I shared). Possible the solution would be to have an IR pass perform common subexpression elimination on the getelementptr calculations - possibly such a pass already exists.

Hi alex,

Thu, May 24, 12:46 AM
phosek added a dependency for D45604: Support for multiarch runtimes layout: D47153: [Support] Avoid normalization in sys::getDefaultTargetTriple.
Thu, May 24, 12:42 AM
phosek added a dependent revision for D47153: [Support] Avoid normalization in sys::getDefaultTargetTriple: D45604: Support for multiarch runtimes layout.
Thu, May 24, 12:42 AM