Page MenuHomePhabricator

scott.linder (Scott Linder)
User

Projects

User does not belong to any projects.

User Details

User Since
Jan 15 2018, 8:31 AM (209 w, 2 d)

Recent Activity

Yesterday

scott.linder accepted D117572: [AMDGPU][NFC] Add DWARF extension support for SIMD execution.

LGTM, thank you!

Tue, Jan 18, 9:30 AM · Restricted Project

Fri, Jan 7

scott.linder updated the diff for D98477: [ADT] Add IntrusiveVariant, VariantTraits, and new STLForwardCompat.

Implement explicit return version of llvm::visit

Fri, Jan 7, 1:53 PM · Restricted Project

Dec 16 2021

scott.linder added a comment to D98477: [ADT] Add IntrusiveVariant, VariantTraits, and new STLForwardCompat.

No worries, I understand the patch is pretty big and the template code is (unfortunately) dense.

Dec 16 2021, 10:44 AM · Restricted Project
scott.linder updated the diff for D98477: [ADT] Add IntrusiveVariant, VariantTraits, and new STLForwardCompat.

Rebase, ping

Dec 16 2021, 10:13 AM · Restricted Project

Dec 15 2021

scott.linder accepted D115762: AMDGPU: Remove AMDGPUFixFunctionBitcasts pass.
Dec 15 2021, 11:34 AM · Restricted Project
scott.linder committed rG78a26c7dafc9: [ADT] Add new type traits for type pack indexes (authored by scott.linder).
[ADT] Add new type traits for type pack indexes
Dec 15 2021, 11:26 AM
scott.linder closed D100672: [ADT] Add new type traits for type pack indexes.
Dec 15 2021, 11:26 AM · Restricted Project
scott.linder updated the diff for D100672: [ADT] Add new type traits for type pack indexes.

Rebase

Dec 15 2021, 8:55 AM · Restricted Project

Dec 14 2021

scott.linder added a comment to D104827: [DebugInfo] Enforce implicit constraints on `distinct` MDNodes.

Is this moving in the right direction? Does the restriction on DIArgList seem
reasonable, and if so does it need more explicit documentation or more thorough
enforcement?

I pushed this before looking at the intervening comments, so the last bit is a bit redundant; it sounds like the restriction on DIArgList was intended and makes sense, so I think the remaining question is whether the Verifier check is sufficient.

It seems like DIArgList is very similar to LocalAsMetadata. I feel like it'd be less error-prone for it to use/inherit-from ReplaceableMetadataImpl, just like ValueAsMetadata does. Then it has the machinery to RAUW/delete itself when necessary.

(Moreover, given that it doesn't have any operands, I find it suspicious that it inherits (albeit indirectly) from MDNode. It should probably be a direct subclass of Metadata. This would mean it couldn't inherit from DINode which might complicate some debug info code; if you're going to clean that up I suggest doing it later as a separate patch.)

I looked into deriving DIArgList from ReplaceableMetadataImpl, and it does get awkward quickly that it is an MDNode. It seems like there is a fair amount of code around tracking/RAUW which relies on MDNodes being eventually "resolveable". The result is that I don't think I can inherit from ReplaceableMetadataImpl without also changing the inheritence from MDNode to Metadata as you suggest.

I'll look at what effect that has on any debug-info related code, but I do worry that no matter what there will be a fair amount of special-casing.

Dec 14 2021, 3:43 PM · Restricted Project

Dec 13 2021

scott.linder accepted D115587: [AMDGPU][NFC] Add documentation for location description DWARF extension.
Dec 13 2021, 4:12 PM · Restricted Project
scott.linder added a comment to D115587: [AMDGPU][NFC] Add documentation for location description DWARF extension.

LGTM, with only typos and minor nits around wording.

Dec 13 2021, 2:42 PM · Restricted Project
scott.linder updated the diff for D104827: [DebugInfo] Enforce implicit constraints on `distinct` MDNodes.

I went ahead with just leaving DIArgList alone, let me know what you think

Dec 13 2021, 1:12 PM · Restricted Project
scott.linder updated the diff for D104827: [DebugInfo] Enforce implicit constraints on `distinct` MDNodes.

I'm pushing the (rough) patch which tries to make the switch from inheriting
DIArglist from MDNode to ReplaceableMetadataImpl.

Dec 13 2021, 10:36 AM · Restricted Project

Nov 29 2021

scott.linder added inline comments to D114652: [AMDGPU] Move call clobbered return address registers s[30:31] to callee saved range.
Nov 29 2021, 3:22 PM · Restricted Project

Nov 19 2021

scott.linder accepted D114273: [AMDGPU] Do not generate ELF symbols for the local branch target labels.
Nov 19 2021, 1:14 PM · Restricted Project

Nov 18 2021

scott.linder added a comment to D104827: [DebugInfo] Enforce implicit constraints on `distinct` MDNodes.

Is this moving in the right direction? Does the restriction on DIArgList seem
reasonable, and if so does it need more explicit documentation or more thorough
enforcement?

I pushed this before looking at the intervening comments, so the last bit is a bit redundant; it sounds like the restriction on DIArgList was intended and makes sense, so I think the remaining question is whether the Verifier check is sufficient.

It seems like DIArgList is very similar to LocalAsMetadata. I feel like it'd be less error-prone for it to use/inherit-from ReplaceableMetadataImpl, just like ValueAsMetadata does. Then it has the machinery to RAUW/delete itself when necessary.

(Moreover, given that it doesn't have any operands, I find it suspicious that it inherits (albeit indirectly) from MDNode. It should probably be a direct subclass of Metadata. This would mean it couldn't inherit from DINode which might complicate some debug info code; if you're going to clean that up I suggest doing it later as a separate patch.)

Nov 18 2021, 12:16 PM · Restricted Project

Nov 17 2021

scott.linder added a comment to D104827: [DebugInfo] Enforce implicit constraints on `distinct` MDNodes.

Add enforcement of the always-owned-by-MetadataAsValue property of DIArgList to
the metadata verifier. I'm not sure this is sufficient, but at least it is a
start.

Fixed the handling of the uniquify()!=this case in
DIArgList::handleChangedOperand to assert if the above property doesn't hold.

Add unittests for both changes above; the reproducers for this in IR rely on
specific sequences of optimizations, and would be much more fragile.

Is this moving in the right direction? Does the restriction on DIArgList seem
reasonable, and if so does it need more explicit documentation or more thorough
enforcement?

Nov 17 2021, 8:25 AM · Restricted Project

Nov 16 2021

scott.linder updated the diff for D104827: [DebugInfo] Enforce implicit constraints on `distinct` MDNodes.

Add enforcement of the always-owned-by-MetadataAsValue property of DIArgList to
the metadata verifier. I'm not sure this is sufficient, but at least it is a
start.

Nov 16 2021, 10:22 PM · Restricted Project

Nov 15 2021

scott.linder added inline comments to D104827: [DebugInfo] Enforce implicit constraints on `distinct` MDNodes.
Nov 15 2021, 3:51 PM · Restricted Project

Nov 12 2021

scott.linder added reviewers for D104827: [DebugInfo] Enforce implicit constraints on `distinct` MDNodes: tejohnson, alexfh.

Update DIArgList::handleChangedOperand to propagate in-place changes which
would require the DIArgList become distinct up to the owning MetadataAsValue.

This feels a bit odd, but so does allowing DIArgList to be distinct as an
implementation detail, while never serializing that fact (and so making a
round-trip lossy). Semantically this may be OK, but unless we have a good
reason not to I feel like finding a way to ensure these "inline" nodes are
always uniqued will make the relationship between IR/bitcode and the in-memory
representation more obvious.

Nov 12 2021, 2:39 PM · Restricted Project
scott.linder updated the diff for D104827: [DebugInfo] Enforce implicit constraints on `distinct` MDNodes.

Update DIArgList::handleChangedOperand to propagate in-place changes which
would require the DIArgList become distinct up to the owning MetadataAsValue.

Nov 12 2021, 2:37 PM · Restricted Project
scott.linder reopened D104827: [DebugInfo] Enforce implicit constraints on `distinct` MDNodes.
Nov 12 2021, 2:37 PM · Restricted Project

Nov 9 2021

scott.linder added a comment to D104827: [DebugInfo] Enforce implicit constraints on `distinct` MDNodes.

hi, this is causing crashes

$ build/rel/bin/opt -passes='thinlto-pre-link<O2>' /tmp/a.ll -o /dev/null
opt: ../../llvm/include/llvm/IR/Metadata.def:180: void (anonymous namespace)::ModuleBitcodeWriter::writeMetadataRecords(ArrayRef<const llvm::Metadata *>, SmallVectorImpl<uint64_t> &, std::vector<
unsigned int> *, std::vector<uint64_t> *): Assertion `!N->isDistinct() && "Expected non-distinct " "DIArgList"' failed.                                                                            
PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace.                                                                                                              
Stack dump:                                                                                                                                                                                        
0.      Program arguments: build/rel/bin/opt -passes=thinlto-pre-link<O2> /tmp/a.ll -o /dev/null                                                                                                   
 #0 0x0000000001f37a13 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /usr/local/google/home/aeubanks/repos/llvm-project/build/rel/../../llvm/lib/Support/Unix/Signals.inc:565:13             
 #1 0x0000000001f3588e llvm::sys::RunSignalHandlers() /usr/local/google/home/aeubanks/repos/llvm-project/build/rel/../../llvm/lib/Support/Signals.cpp:98:18                                        
 #2 0x0000000001f37d7f SignalHandler(int) /usr/local/google/home/aeubanks/repos/llvm-project/build/rel/../../llvm/lib/Support/Unix/Signals.inc:407:1                                               
 #3 0x00007f2003b8e8e0 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x138e0)                                                                                                                
 #4 0x00007f2003668e71 raise ./signal/../sysdeps/unix/sysv/linux/raise.c:50:1                                                                                                                      
 #5 0x00007f2003652536 abort ./stdlib/abort.c:81:7                                                                                                                                                 
 #6 0x00007f200365241f get_sysdep_segment_value ./intl/loadmsgcat.c:509:8                                                                                                                          
 #7 0x00007f200365241f _nl_load_domain ./intl/loadmsgcat.c:970:34                                                                                                                                  
 #8 0x00007f20036617f2 (/lib/x86_64-linux-gnu/libc.so.6+0x357f2)                                                                                                                                   
 #9 0x000000000168e506 (anonymous namespace)::ModuleBitcodeWriter::writeMetadataRecords(llvm::ArrayRef<llvm::Metadata const*>, llvm::SmallVectorImpl<unsigned long>&, std::vector<unsigned int, std::allocator<unsigned int> >*, std::vector<unsigned long, std::allocator<unsigned long> >*) /usr/local/google/home/aeubanks/repos/llvm-project/build/rel/../../llvm/include/llvm/IR/Metadata.def:0:0
#10 0x000000000167df15 writeFunctionMetadata /usr/local/google/home/aeubanks/repos/llvm-project/build/rel/../../llvm/lib/Bitcode/Writer/BitcodeWriter.cpp:2303:3
#11 0x000000000167df15 writeFunction /usr/local/google/home/aeubanks/repos/llvm-project/build/rel/../../llvm/lib/Bitcode/Writer/BitcodeWriter.cpp:3351:3
#12 0x000000000167df15 (anonymous namespace)::ModuleBitcodeWriter::write() /usr/local/google/home/aeubanks/repos/llvm-project/build/rel/../../llvm/lib/Bitcode/Writer/BitcodeWriter.cpp:4448:7
#13 0x0000000001677d32 ~ModuleBitcodeWriterBase /usr/local/google/home/aeubanks/repos/llvm-project/build/rel/../../llvm/lib/Bitcode/Writer/BitcodeWriter.cpp:155:7
#14 0x0000000001677d32 llvm::BitcodeWriter::writeModule(llvm::Module const&, bool, llvm::ModuleSummaryIndex const*, bool, std::array<unsigned int, 5ul>*) /usr/local/google/home/aeubanks/repos/llvm-project/build/rel/../../llvm/lib/Bitcode/Writer/BitcodeWriter.cpp:4626:1
#15 0x00000000016813cb llvm::WriteBitcodeToFile(llvm::Module const&, llvm::raw_ostream&, bool, llvm::ModuleSummaryIndex const*, bool, std::array<unsigned int, 5ul>*) /usr/local/google/home/aeubanks/repos/llvm-project/build/rel/../../llvm/lib/Bitcode/Writer/BitcodeWriter.cpp:4653:10

(I tried reducing as much as possible but there's still a lot of debug info)

Nov 9 2021, 4:44 PM · Restricted Project
scott.linder added a comment to D100672: [ADT] Add new type traits for type pack indexes.

Ping, @dblaikie are you OK with the patch as-is? I think it is likely not worth the effort of tracking down what MSVC configurations will accept the constexpr version.

Fair enough. I really don't like to workaround unknown issues (ends up with a form of "fear based programming" - "let's not write code that looks like that because there are issues /somewhere/ in there" - haunted graveyards ( https://www.usenix.org/sites/default/files/conference/protected-files/srecon17americas_slides_reese.pdf ) , etc) - so I think there's significant value in figuring out exactly what the limitations are/what's being worked around - but I won't insist on it.

Nov 9 2021, 3:45 PM · Restricted Project
scott.linder added a comment to D100672: [ADT] Add new type traits for type pack indexes.

Ping, @dblaikie are you OK with the patch as-is? I think it is likely not worth the effort of tracking down what MSVC configurations will accept the constexpr version.

Nov 9 2021, 2:12 PM · Restricted Project
scott.linder committed rGee7652569854: [DebugInfo] Enforce implicit constraints on `distinct` MDNodes (authored by scott.linder).
[DebugInfo] Enforce implicit constraints on `distinct` MDNodes
Nov 9 2021, 10:19 AM
scott.linder closed D104827: [DebugInfo] Enforce implicit constraints on `distinct` MDNodes.
Nov 9 2021, 10:19 AM · Restricted Project

Nov 5 2021

scott.linder committed rGf82bdf0fccb7: [NFC][Verifier] Remove redundant Module parameters (authored by scott.linder).
[NFC][Verifier] Remove redundant Module parameters
Nov 5 2021, 2:31 PM
scott.linder closed D106474: [NFC][Verifier] Remove redundant Module parameters.
Nov 5 2021, 2:30 PM · Restricted Project

Nov 4 2021

scott.linder updated the diff for D104827: [DebugInfo] Enforce implicit constraints on `distinct` MDNodes.

I believe the only pending issue is resolved, so I plan to land this tomorrow
if nobody has any objections.

Nov 4 2021, 12:50 PM · Restricted Project
scott.linder updated the diff for D109008: [AMDGPU][NFC] Refactor AMDGPUCallingConv.td.

Remove misleading comment headers, strip "CSR_" prefix from regmask identifiers.

Nov 4 2021, 9:45 AM · Restricted Project

Nov 3 2021

scott.linder accepted D113100: [AMDGPU] Do not add debug locations to the code inside prologue.
Nov 3 2021, 9:03 AM · Restricted Project

Sep 28 2021

scott.linder added a comment to D110276: Clean up large copies of binaries copied into temp directories in tests.

Is it possible to use soft links instead of copies? It would still be good to clean up afterwards, but if the host won't allow that cleanup in some cases at least we aren't leaving a big file around.

Sep 28 2021, 10:16 AM · Restricted Project

Sep 16 2021

scott.linder accepted D109743: [NFC][MachineRegisterInfo] Fix typo in comments of getLiveInVirtReg() function.

LGTM thank you!

Sep 16 2021, 10:38 AM · Restricted Project

Sep 2 2021

scott.linder retitled D109187: [Transforms] Remove dead ModuleLevelChanges parameters from CloneAndPrune functions from [Transforms] Remove ModuleLevelChanges parameter from Clone functions to [Transforms] Remove dead ModuleLevelChanges parameters from CloneAndPrune functions.
Sep 2 2021, 1:30 PM · Restricted Project
scott.linder requested review of D109187: [Transforms] Remove dead ModuleLevelChanges parameters from CloneAndPrune functions.
Sep 2 2021, 1:21 PM · Restricted Project
scott.linder updated the summary of D109008: [AMDGPU][NFC] Refactor AMDGPUCallingConv.td.
Sep 2 2021, 12:45 PM · Restricted Project

Sep 1 2021

scott.linder added inline comments to D109008: [AMDGPU][NFC] Refactor AMDGPUCallingConv.td.
Sep 1 2021, 1:17 PM · Restricted Project
scott.linder committed rG0022426917e3: [AMDGPU] Update Call Convention docs for GFX90A (authored by scott.linder).
[AMDGPU] Update Call Convention docs for GFX90A
Sep 1 2021, 1:03 PM
scott.linder closed D109009: [AMDGPU] Update Call Convention docs for GFX90A.
Sep 1 2021, 1:03 PM · Restricted Project
scott.linder added inline comments to D109008: [AMDGPU][NFC] Refactor AMDGPUCallingConv.td.
Sep 1 2021, 12:43 PM · Restricted Project

Aug 31 2021

scott.linder added reviewers for D109009: [AMDGPU] Update Call Convention docs for GFX90A: arsenm, kzhuravl, rampitec, t-tye.
Aug 31 2021, 11:32 AM · Restricted Project
scott.linder added reviewers for D109008: [AMDGPU][NFC] Refactor AMDGPUCallingConv.td: arsenm, kzhuravl, rampitec.
Aug 31 2021, 11:31 AM · Restricted Project
scott.linder requested review of D109009: [AMDGPU] Update Call Convention docs for GFX90A.
Aug 31 2021, 11:29 AM · Restricted Project
scott.linder requested review of D109008: [AMDGPU][NFC] Refactor AMDGPUCallingConv.td.
Aug 31 2021, 11:29 AM · Restricted Project

Aug 30 2021

scott.linder added a comment to D102590: [YAMLParser] Add multi-line literal folding support.

@scott.linder Thank you so much for the review!

  1. I made the changes you pointed out regarding defining a new scanBlockScalarIndicators method.
  2. I think the idea of enum BlockStyle and enum BlockChomping is really good. I will definitely implement it but maybe in another PR/diff. -- if that's okay :)
Aug 30 2021, 2:21 PM · Restricted Project

Aug 20 2021

scott.linder added a comment to D102590: [YAMLParser] Add multi-line literal folding support.

So, I tried to work out the behavior of the spec parser, and I think my understanding of empty is faulty. Compare http://ben-kiki.org/ypaste/data/26953/index.html (all content is non-space characters) with http://ben-kiki.org/ypaste/data/26954/index.html (the middle line content is a single space).

Aug 20 2021, 1:08 PM · Restricted Project
scott.linder added a comment to D102590: [YAMLParser] Add multi-line literal folding support.

I'm not sure I'm the best person for the job, but I tried to give my thoughts.

Aug 20 2021, 12:40 PM · Restricted Project

Aug 17 2021

scott.linder updated the diff for D106474: [NFC][Verifier] Remove redundant Module parameters.

Rebase

Aug 17 2021, 2:42 PM · Restricted Project

Aug 11 2021

scott.linder updated the diff for D104827: [DebugInfo] Enforce implicit constraints on `distinct` MDNodes.

Eliminate the getDistinct method entirely from DIExpression and DIArgList. I
went about this by splitting up the DEFINE_MDNODE_* macros so each MDNode
class can use an appropriate version based on their distinct/uniqued
properties.

Aug 11 2021, 11:20 AM · Restricted Project

Aug 2 2021

scott.linder committed rG635c5ba45bae: [AMDGPU][HIP] Switch default DWARF version to 5 (authored by scott.linder).
[AMDGPU][HIP] Switch default DWARF version to 5
Aug 2 2021, 11:05 AM
scott.linder closed D107190: [AMDGPU][HIP] Switch default DWARF version to 5.
Aug 2 2021, 11:05 AM · Restricted Project

Jul 30 2021

scott.linder updated the summary of D107190: [AMDGPU][HIP] Switch default DWARF version to 5.
Jul 30 2021, 12:15 PM · Restricted Project
scott.linder requested review of D107190: [AMDGPU][HIP] Switch default DWARF version to 5.
Jul 30 2021, 12:13 PM · Restricted Project

Jul 28 2021

scott.linder accepted D106926: [DebugInfo][docs] Fix DISubprogram fields.

LGTM, thank you for catching these!

Jul 28 2021, 10:44 AM · Restricted Project

Jul 26 2021

scott.linder added a comment to D106736: Minor Sphinx documentation generation improvements.

LGTM, as long as @MaskRay is satisfied with the changes around easy_install. If MacOS still uses it but we want to discourage it on Linux then I like the current wording.

Jul 26 2021, 12:52 PM · Restricted Project, Restricted Project
scott.linder added a comment to D106338: Use GNUInstallDirs to define install locations for documentation.

I think the change itself LGTM, but I did a grep for GNUInstallDirs and it it only used in two other places currently. I suppose that means it is OK to use, but it does seem to imply there can be cases where we install to inconsistent locations. I don't know who to add to get more info on this, though?

Jul 26 2021, 12:48 PM · Restricted Project
scott.linder accepted D106734: Eliminate clang man page generation warning for missing .rst files.

LGTM, I see no reason why this shouldn't apply for all generators.

Jul 26 2021, 12:45 PM · Restricted Project, Restricted Project

Jul 23 2021

scott.linder requested review of D104827: [DebugInfo] Enforce implicit constraints on `distinct` MDNodes.
Jul 23 2021, 11:05 AM · Restricted Project
scott.linder updated the diff for D104827: [DebugInfo] Enforce implicit constraints on `distinct` MDNodes.

Fix bug in printMetadataImpl

Jul 23 2021, 11:04 AM · Restricted Project
scott.linder reopened D104827: [DebugInfo] Enforce implicit constraints on `distinct` MDNodes.
Jul 23 2021, 11:04 AM · Restricted Project

Jul 22 2021

scott.linder added inline comments to D104827: [DebugInfo] Enforce implicit constraints on `distinct` MDNodes.
Jul 22 2021, 2:59 PM · Restricted Project
scott.linder updated the diff for D106474: [NFC][Verifier] Remove redundant Module parameters.

Rebased; there are test failures that I don't think are related to
this change, so I'm hoping a rebase and rerun will resolve them.

Jul 22 2021, 10:01 AM · Restricted Project

Jul 21 2021

scott.linder added reviewers for D106474: [NFC][Verifier] Remove redundant Module parameters: chandlerc, aprantl, dexonsmith.
Jul 21 2021, 12:17 PM · Restricted Project
scott.linder requested review of D106474: [NFC][Verifier] Remove redundant Module parameters.
Jul 21 2021, 12:12 PM · Restricted Project

Jul 19 2021

scott.linder added a comment to D90345: [DebugInfo] Fix ICE in DwarfCompileUnit::constructSubprogramScopeDIE.

Update tests.

I went the route of "upgrading" bitcode which lacks the type: field on DISubprograms. It seems like there is currently no difference from LLVM's perspective between !DISubroutineType(types: !{}) and !DISubroutineType(types: !{null}), or at least the difference (or whether the first form should even be valid) is not clear to me.

As an example, DebugTypeInfoRemoval uses !DISubroutineType(types: !{}) to represent the C type (void)(), but the langref would lead one to believe this should be !DISubroutineType(types: !{null}).

Does anyone have any thoughts?

I'd lean slightly towards !{null} being the representation for a known signature of void() - for consistency.

Jul 19 2021, 2:27 PM · Restricted Project
scott.linder requested review of D90345: [DebugInfo] Fix ICE in DwarfCompileUnit::constructSubprogramScopeDIE.

I also ended up writing a script to make updating the tests easier and I'm wondering if anyone sees merit in putting it in llvm/utils. It (crudely) inserts MDNodes at given indices in IR, updating all references to the old IDs:

Jul 19 2021, 10:29 AM · Restricted Project
scott.linder updated the diff for D90345: [DebugInfo] Fix ICE in DwarfCompileUnit::constructSubprogramScopeDIE.

Fix up more of the test changes to use !DISubroutineType(!{}). I think I've
got them all now, I was looking at a partial diff before.

Jul 19 2021, 10:16 AM · Restricted Project
scott.linder updated the diff for D90345: [DebugInfo] Fix ICE in DwarfCompileUnit::constructSubprogramScopeDIE.

Update tests.

Jul 19 2021, 10:04 AM · Restricted Project

Jul 8 2021

scott.linder added a comment to D104827: [DebugInfo] Enforce implicit constraints on `distinct` MDNodes.

Hi,

We've noticed that this patch changes things so bcfiles created with the patch cannot be parsed with binaries built before it.
E.g if I create foo.bc with a clang binary built from commit 8cd35ad854ab (this patch) with:

clang -save-temps foo.c -S -g

and then try to run opt built from aad87328fab (the commit before this patch) with

opt foo.bc -S > /dev/null

it results in

opt: ../lib/Bitcode/Reader/MetadataLoader.cpp:366: (anonymous namespace)::(anonymous namespace)::PlaceholderQueue::~PlaceholderQueue(): Assertion `empty() && "PlaceholderQueue hasn't been flushed before being destroyed"' failed.
PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace.
Stack dump:
0.	Program arguments: build-all-builtins/bin/opt foo.bc -S
 #0 0x0000000002a11623 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (build-all-builtins/bin/opt+0x2a11623)
 #1 0x0000000002a0f2de llvm::sys::RunSignalHandlers() (build-all-builtins/bin/opt+0x2a0f2de)
 #2 0x0000000002a119a6 SignalHandler(int) Signals.cpp:0:0
 #3 0x00007f2c97079630 __restore_rt sigaction.c:0:0
 #4 0x00007f2c947ac387 raise (/lib64/libc.so.6+0x36387)
 #5 0x00007f2c947ada78 abort (/lib64/libc.so.6+0x37a78)
 #6 0x00007f2c947a51a6 __assert_fail_base (/lib64/libc.so.6+0x2f1a6)
 #7 0x00007f2c947a5252 (/lib64/libc.so.6+0x2f252)
 #8 0x0000000003398a64 llvm::MetadataLoader::MetadataLoaderImpl::parseMetadata(bool) (build-all-builtins/bin/opt+0x3398a64)
 #9 0x00000000033a19ac llvm::MetadataLoader::parseMetadata(bool) (build-all-builtins/bin/opt+0x33a19ac)
#10 0x00000000033730a8 (anonymous namespace)::BitcodeReader::parseFunctionBody(llvm::Function*) BitcodeReader.cpp:0:0
#11 0x0000000003370f7c (anonymous namespace)::BitcodeReader::materialize(llvm::GlobalValue*) BitcodeReader.cpp:0:0
#12 0x00000000033720aa (anonymous namespace)::BitcodeReader::materializeModule() BitcodeReader.cpp:0:0
#13 0x000000000221fc8a llvm::Module::materializeAll() (build-all-builtins/bin/opt+0x221fc8a)
#14 0x000000000336acb1 llvm::BitcodeModule::getModuleImpl(llvm::LLVMContext&, bool, bool, bool, llvm::function_ref<llvm::Optional<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > (llvm::StringRef)>) (build-all-builtins/bin/opt+0x336acb1)
#15 0x000000000336ef60 llvm::parseBitcodeFile(llvm::MemoryBufferRef, llvm::LLVMContext&, llvm::function_ref<llvm::Optional<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > (llvm::StringRef)>) (build-all-builtins/bin/opt+0x336ef60)
#16 0x00000000024521a0 llvm::parseIR(llvm::MemoryBufferRef, llvm::SMDiagnostic&, llvm::LLVMContext&, llvm::function_ref<llvm::Optional<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > (llvm::StringRef)>) (build-all-builtins/bin/opt+0x24521a0)
#17 0x000000000245262e llvm::parseIRFile(llvm::StringRef, llvm::SMDiagnostic&, llvm::LLVMContext&, llvm::function_ref<llvm::Optional<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > (llvm::StringRef)>) (build-all-builtins/bin/opt+0x245262e)
#18 0x0000000000782acb main (build-all-builtins/bin/opt+0x782acb)
#19 0x00007f2c94798555 __libc_start_main (/lib64/libc.so.6+0x22555)
#20 0x000000000076f800 _start (build-all-builtins/bin/opt+0x76f800)
Abort

I suppose this is not expected?

Jul 8 2021, 8:23 AM · Restricted Project

Jul 6 2021

scott.linder added a comment to D104827: [DebugInfo] Enforce implicit constraints on `distinct` MDNodes.

Hi,

We've noticed that this patch changes things so bcfiles created with the patch cannot be parsed with binaries built before it.
E.g if I create foo.bc with a clang binary built from commit 8cd35ad854ab (this patch) with:

clang -save-temps foo.c -S -g

and then try to run opt built from aad87328fab (the commit before this patch) with

opt foo.bc -S > /dev/null

it results in

opt: ../lib/Bitcode/Reader/MetadataLoader.cpp:366: (anonymous namespace)::(anonymous namespace)::PlaceholderQueue::~PlaceholderQueue(): Assertion `empty() && "PlaceholderQueue hasn't been flushed before being destroyed"' failed.
PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace.
Stack dump:
0.	Program arguments: build-all-builtins/bin/opt foo.bc -S
 #0 0x0000000002a11623 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (build-all-builtins/bin/opt+0x2a11623)
 #1 0x0000000002a0f2de llvm::sys::RunSignalHandlers() (build-all-builtins/bin/opt+0x2a0f2de)
 #2 0x0000000002a119a6 SignalHandler(int) Signals.cpp:0:0
 #3 0x00007f2c97079630 __restore_rt sigaction.c:0:0
 #4 0x00007f2c947ac387 raise (/lib64/libc.so.6+0x36387)
 #5 0x00007f2c947ada78 abort (/lib64/libc.so.6+0x37a78)
 #6 0x00007f2c947a51a6 __assert_fail_base (/lib64/libc.so.6+0x2f1a6)
 #7 0x00007f2c947a5252 (/lib64/libc.so.6+0x2f252)
 #8 0x0000000003398a64 llvm::MetadataLoader::MetadataLoaderImpl::parseMetadata(bool) (build-all-builtins/bin/opt+0x3398a64)
 #9 0x00000000033a19ac llvm::MetadataLoader::parseMetadata(bool) (build-all-builtins/bin/opt+0x33a19ac)
#10 0x00000000033730a8 (anonymous namespace)::BitcodeReader::parseFunctionBody(llvm::Function*) BitcodeReader.cpp:0:0
#11 0x0000000003370f7c (anonymous namespace)::BitcodeReader::materialize(llvm::GlobalValue*) BitcodeReader.cpp:0:0
#12 0x00000000033720aa (anonymous namespace)::BitcodeReader::materializeModule() BitcodeReader.cpp:0:0
#13 0x000000000221fc8a llvm::Module::materializeAll() (build-all-builtins/bin/opt+0x221fc8a)
#14 0x000000000336acb1 llvm::BitcodeModule::getModuleImpl(llvm::LLVMContext&, bool, bool, bool, llvm::function_ref<llvm::Optional<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > (llvm::StringRef)>) (build-all-builtins/bin/opt+0x336acb1)
#15 0x000000000336ef60 llvm::parseBitcodeFile(llvm::MemoryBufferRef, llvm::LLVMContext&, llvm::function_ref<llvm::Optional<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > (llvm::StringRef)>) (build-all-builtins/bin/opt+0x336ef60)
#16 0x00000000024521a0 llvm::parseIR(llvm::MemoryBufferRef, llvm::SMDiagnostic&, llvm::LLVMContext&, llvm::function_ref<llvm::Optional<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > (llvm::StringRef)>) (build-all-builtins/bin/opt+0x24521a0)
#17 0x000000000245262e llvm::parseIRFile(llvm::StringRef, llvm::SMDiagnostic&, llvm::LLVMContext&, llvm::function_ref<llvm::Optional<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > (llvm::StringRef)>) (build-all-builtins/bin/opt+0x245262e)
#18 0x0000000000782acb main (build-all-builtins/bin/opt+0x782acb)
#19 0x00007f2c94798555 __libc_start_main (/lib64/libc.so.6+0x22555)
#20 0x000000000076f800 _start (build-all-builtins/bin/opt+0x76f800)
Abort

I suppose this is not expected?

Jul 6 2021, 2:48 PM · Restricted Project
scott.linder accepted D105222: [AMDGPU][Docs] Update Code Object V3 example to includes args section.

LGTM, thank you!

Jul 6 2021, 7:49 AM · Restricted Project

Jul 1 2021

scott.linder added a comment to D100670: [ADT] Add makeVisitor to STLExtras.h.

The fix should be in 83887df15597990308e9903d0480fa7676d772a1, let me know if there are still failures, and sorry for the noise!

Jul 1 2021, 11:26 AM · Restricted Project
scott.linder committed rG83887df15597: [ADT] Follow up to fix bug in "Add makeVisitor to STLExtras.h" (authored by scott.linder).
[ADT] Follow up to fix bug in "Add makeVisitor to STLExtras.h"
Jul 1 2021, 11:25 AM
scott.linder added inline comments to D100670: [ADT] Add makeVisitor to STLExtras.h.
Jul 1 2021, 11:16 AM · Restricted Project
scott.linder added inline comments to rG6d6f35eb7b92: [ADT] Add makeVisitor to STLExtras.h.
Jul 1 2021, 11:15 AM
scott.linder added a comment to D100670: [ADT] Add makeVisitor to STLExtras.h.

A couple of the new test cases are consistently failing on Windows when building Debug. They do pass in Release

2021-07-01T09:35:59.0150364Z -- Testing: 76257 tests, 32 workers --
2021-07-01T10:01:33.7697594Z Testing:  0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80..
2021-07-01T10:01:33.7699468Z FAIL: LLVM-Unit :: ADT/./ADTTests.exe/STLExtrasTest.MakeVisitorDefaultCase (67224 of 76257)
2021-07-01T10:01:33.7701921Z ******************** TEST 'LLVM-Unit :: ADT/./ADTTests.exe/STLExtrasTest.MakeVisitorDefaultCase' FAILED ********************
2021-07-01T10:01:33.7705176Z Script:
2021-07-01T10:01:33.7707482Z --
2021-07-01T10:01:33.7708449Z D:\a\_work\1\b\llvm\Debug\unittests\ADT\.\ADTTests.exe --gtest_filter=STLExtrasTest.MakeVisitorDefaultCase
2021-07-01T10:01:33.7710536Z --
2021-07-01T10:01:33.7711290Z Note: Google Test filter = STLExtrasTest.MakeVisitorDefaultCase
2021-07-01T10:01:33.7711592Z 
2021-07-01T10:01:33.7712142Z [==========] Running 1 test from 1 test suite.
2021-07-01T10:01:33.7712386Z 
2021-07-01T10:01:33.7712823Z [----------] Global test environment set-up.
2021-07-01T10:01:33.7713592Z 
2021-07-01T10:01:33.7717503Z [----------] 1 test from STLExtrasTest
2021-07-01T10:01:33.7718505Z 
2021-07-01T10:01:33.7720213Z [ RUN      ] STLExtrasTest.MakeVisitorDefaultCase
2021-07-01T10:01:33.7720490Z 
2021-07-01T10:01:33.7721127Z D:\a\_work\1\s\llvm\unittests\ADT\STLExtrasTest.cpp(799): error: Expected equality of these values:
2021-07-01T10:01:33.7721574Z 
2021-07-01T10:01:33.7721953Z   Visitor(2.)
2021-07-01T10:01:33.7722097Z 
2021-07-01T10:01:33.7722524Z     Which is: 00007FF724E66A30
2021-07-01T10:01:33.7722710Z 
2021-07-01T10:01:33.7723131Z   "unhandled type"
2021-07-01T10:01:33.7723283Z 
2021-07-01T10:01:33.7723697Z     Which is: 00007FF724E53048
2021-07-01T10:01:33.7723881Z 
2021-07-01T10:01:33.7724532Z D:\a\_work\1\s\llvm\unittests\ADT\STLExtrasTest.cpp(800): error: Expected equality of these values:
2021-07-01T10:01:33.7724903Z 
2021-07-01T10:01:33.7725284Z   Visitor(Visitor)
2021-07-01T10:01:33.7725438Z 
2021-07-01T10:01:33.7725887Z     Which is: 00007FF724E66A30
2021-07-01T10:01:33.7726076Z 
2021-07-01T10:01:33.7726464Z   "unhandled type"
2021-07-01T10:01:33.7726655Z 
2021-07-01T10:01:33.7727072Z     Which is: 00007FF724E530C8
2021-07-01T10:01:33.7727802Z 
2021-07-01T10:01:33.7728452Z D:\a\_work\1\s\llvm\unittests\ADT\STLExtrasTest.cpp(808): error: Expected equality of these values:
2021-07-01T10:01:33.7729535Z 
2021-07-01T10:01:33.7730317Z   Visitor(2.)
2021-07-01T10:01:33.7730682Z 
2021-07-01T10:01:33.7731329Z     Which is: 00007FF724E66A30
2021-07-01T10:01:33.7731592Z 
2021-07-01T10:01:33.7732027Z   "unhandled type"
2021-07-01T10:01:33.7732182Z 
2021-07-01T10:01:33.7732641Z     Which is: 00007FF724E531E0
2021-07-01T10:01:33.7732826Z 
2021-07-01T10:01:33.7733469Z D:\a\_work\1\s\llvm\unittests\ADT\STLExtrasTest.cpp(809): error: Expected equality of these values:
2021-07-01T10:01:33.7733845Z 
2021-07-01T10:01:33.7734228Z   Visitor(Visitor)
2021-07-01T10:01:33.7734407Z 
2021-07-01T10:01:33.7735018Z     Which is: 00007FF724E66A30
2021-07-01T10:01:33.7735513Z 
2021-07-01T10:01:33.7736034Z   "unhandled type"
2021-07-01T10:01:33.7736306Z 
2021-07-01T10:01:33.7736778Z     Which is: 00007FF724E53258
2021-07-01T10:01:33.7737025Z 
2021-07-01T10:01:33.7739580Z [  FAILED  ] STLExtrasTest.MakeVisitorDefaultCase (2 ms)
2021-07-01T10:01:33.7739859Z 
2021-07-01T10:01:33.7740503Z [----------] 1 test from STLExtrasTest (2 ms total)
2021-07-01T10:01:33.7740744Z 
2021-07-01T10:01:33.7740854Z 
2021-07-01T10:01:33.7740961Z 
2021-07-01T10:01:33.7741379Z [----------] Global test environment tear-down
2021-07-01T10:01:33.7741628Z 
2021-07-01T10:01:33.7742090Z [==========] 1 test from 1 test suite ran. (2 ms total)
2021-07-01T10:01:33.7742296Z 
2021-07-01T10:01:33.7742663Z [  PASSED  ] 0 tests.
2021-07-01T10:01:33.7742832Z 
2021-07-01T10:01:33.7743244Z [  FAILED  ] 1 test, listed below:
2021-07-01T10:01:33.7743439Z 
2021-07-01T10:01:33.7743884Z [  FAILED  ] STLExtrasTest.MakeVisitorDefaultCase
2021-07-01T10:01:33.7744073Z 
2021-07-01T10:01:33.7744183Z 
2021-07-01T10:01:33.7744290Z 
2021-07-01T10:01:33.7744639Z  1 FAILED TEST
2021-07-01T10:01:33.7744812Z 
2021-07-01T10:01:33.7744922Z 
2021-07-01T10:01:33.7745284Z ********************
2021-07-01T10:01:33.7903181Z Testing:  0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80..
2021-07-01T10:01:33.8009590Z FAIL: LLVM-Unit :: ADT/./ADTTests.exe/STLExtrasTest.MakeVisitorTwoCallables (67229 of 76257)
2021-07-01T10:01:33.8011983Z ******************** TEST 'LLVM-Unit :: ADT/./ADTTests.exe/STLExtrasTest.MakeVisitorTwoCallables' FAILED ********************
2021-07-01T10:01:33.8029530Z Script:
2021-07-01T10:01:33.8061592Z --
2021-07-01T10:01:33.8062299Z D:\a\_work\1\b\llvm\Debug\unittests\ADT\.\ADTTests.exe --gtest_filter=STLExtrasTest.MakeVisitorTwoCallables
2021-07-01T10:01:33.8062912Z --
2021-07-01T10:01:33.8063391Z Note: Google Test filter = STLExtrasTest.MakeVisitorTwoCallables
2021-07-01T10:01:33.8063636Z 
2021-07-01T10:01:33.8064103Z [==========] Running 1 test from 1 test suite.
2021-07-01T10:01:33.8064308Z 
2021-07-01T10:01:33.8064738Z [----------] Global test environment set-up.
2021-07-01T10:01:33.8065209Z 
2021-07-01T10:01:33.8065628Z [----------] 1 test from STLExtrasTest
2021-07-01T10:01:33.8065845Z 
2021-07-01T10:01:33.8066280Z [ RUN      ] STLExtrasTest.MakeVisitorTwoCallables
2021-07-01T10:01:33.8066511Z 
2021-07-01T10:01:33.8067118Z D:\a\_work\1\s\llvm\unittests\ADT\STLExtrasTest.cpp(781): error: Expected equality of these values:
2021-07-01T10:01:33.8067483Z 
2021-07-01T10:01:33.8068073Z   Visitor(42)
2021-07-01T10:01:33.8068229Z 
2021-07-01T10:01:33.8068651Z     Which is: 00007FF724E66994
2021-07-01T10:01:33.8068833Z 
2021-07-01T10:01:33.8069212Z   "int"
2021-07-01T10:01:33.8069387Z 
2021-07-01T10:01:33.8069800Z     Which is: 00007FF724E51D5C
2021-07-01T10:01:33.8070133Z 
2021-07-01T10:01:33.8070722Z D:\a\_work\1\s\llvm\unittests\ADT\STLExtrasTest.cpp(782): error: Expected equality of these values:
2021-07-01T10:01:33.8071077Z 
2021-07-01T10:01:33.8071466Z   Visitor("foo")
2021-07-01T10:01:33.8071646Z 
2021-07-01T10:01:33.8072206Z     Which is: 00007FF724E66998
2021-07-01T10:01:33.8072395Z 
2021-07-01T10:01:33.8072764Z   "str"
2021-07-01T10:01:33.8073016Z 
2021-07-01T10:01:33.8073418Z     Which is: 00007FF724E51D94
2021-07-01T10:01:33.8073593Z 
2021-07-01T10:01:33.8074050Z [  FAILED  ] STLExtrasTest.MakeVisitorTwoCallables (0 ms)
2021-07-01T10:01:33.8074268Z 
2021-07-01T10:01:33.8074693Z [----------] 1 test from STLExtrasTest (0 ms total)
2021-07-01T10:01:33.8074919Z 
2021-07-01T10:01:33.8075033Z 
2021-07-01T10:01:33.8075144Z 
2021-07-01T10:01:33.8075553Z [----------] Global test environment tear-down
2021-07-01T10:01:33.8075771Z 
2021-07-01T10:01:33.8076204Z [==========] 1 test from 1 test suite ran. (2 ms total)
2021-07-01T10:01:33.8076417Z 
2021-07-01T10:01:33.8076786Z [  PASSED  ] 0 tests.
2021-07-01T10:01:33.8076958Z 
2021-07-01T10:01:33.8077371Z [  FAILED  ] 1 test, listed below:
2021-07-01T10:01:33.8077568Z 
2021-07-01T10:01:33.8078005Z [  FAILED  ] STLExtrasTest.MakeVisitorTwoCallables
2021-07-01T10:01:33.8078209Z 
2021-07-01T10:01:33.8078330Z 
2021-07-01T10:01:33.8078459Z 
2021-07-01T10:01:33.8078817Z  1 FAILED TEST
2021-07-01T10:01:33.8080335Z 
2021-07-01T10:01:33.8080521Z 
2021-07-01T10:01:33.8081113Z ********************
2021-07-01T10:02:59.3969341Z Testing:  0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90.. 
2021-07-01T10:02:59.7189730Z 
2021-07-01T10:02:59.7190464Z 1 warning(s) in tests
2021-07-01T10:02:59.7711389Z ********************
2021-07-01T10:02:59.7713124Z Failed Tests (2):
2021-07-01T10:02:59.7713692Z   LLVM-Unit :: ADT/./ADTTests.exe/STLExtrasTest.MakeVisitorDefaultCase
2021-07-01T10:02:59.7714235Z   LLVM-Unit :: ADT/./ADTTests.exe/STLExtrasTest.MakeVisitorTwoCallables
2021-07-01T10:02:59.7714448Z 
2021-07-01T10:02:59.7714545Z 
2021-07-01T10:02:59.7714906Z Testing Time: 1646.03s
2021-07-01T10:02:59.7715299Z   Skipped          :    39
2021-07-01T10:02:59.7715766Z   Unsupported      : 21785
2021-07-01T10:02:59.7716168Z   Passed           : 54327
2021-07-01T10:02:59.7716570Z   Expectedly Failed:   104
2021-07-01T10:02:59.7717012Z   Failed           :     2
Jul 1 2021, 11:06 AM · Restricted Project
scott.linder added a comment to D90345: [DebugInfo] Fix ICE in DwarfCompileUnit::constructSubprogramScopeDIE.

I finally got around to updating the tests, and ran into the issue of supporting old bitcode which lacks a type: for DISubprograms

Jul 1 2021, 11:00 AM · Restricted Project
scott.linder added a comment to D105222: [AMDGPU][Docs] Update Code Object V3 example to includes args section.

My understanding of the documentation is that global_buffer causes the kernel launcher to put the argument into a buffer. Is that not the case?

For compute we are not using buffers in the sense of graphics. I think buffer is more in the spirit (and was the original motivation for) the runtime managing OpenCL buffers.

@kzhuravl or @scott.linder can you actually get a dump of a real HIP program to see what is being used? @yaxunl may also be able to advise.

Jul 1 2021, 8:31 AM · Restricted Project

Jun 30 2021

scott.linder added a comment to D105222: [AMDGPU][Docs] Update Code Object V3 example to includes args section.

Also, expanding on this, would it be useful for us to include a source-language "equivalent" for the example? I.e. the following HIP program should compile to something essentially equivalent:

Jun 30 2021, 1:29 PM · Restricted Project
scott.linder updated subscribers of D105222: [AMDGPU][Docs] Update Code Object V3 example to includes args section.

Thank you for improving the docs! This definitely just looks like an oversight on my part when implementing the new metadata.

Jun 30 2021, 1:26 PM · Restricted Project

Jun 29 2021

scott.linder added a comment to D100672: [ADT] Add new type traits for type pack indexes.

This seems like a bug in parameter pack expansion in older versions of MSVC, compare 19.10 https://godbolt.org/z/TMd3K8WoK with 19.14 https://godbolt.org/z/9c9TT8bnb

@stella.stamenova is there any possibility the build bots could be updated to the latest MSVC 2017 update? https://llvm.org/docs/GettingStartedVS.html#software says "Visual Studio 2017 or higher, with the latest Update installed", but I could also see us wanting to support any VS 2017 release if possible.

If we want to support all updates of VS 2017 I can just substitute in the old definition of llvm::TypeIndex in place of the new llvm::FirstIndexOfType, but I might have to think more about how to work around this in llvm::TypesAreDistinct

I'd generally be happy to stick with the original requirement. @stella.stamenova - any chance you could update the bot(s) here?

Jun 29 2021, 1:34 PM · Restricted Project

Jun 28 2021

scott.linder committed rG8cd35ad854ab: [DebugInfo] Enforce implicit constraints on `distinct` MDNodes (authored by scott.linder).
[DebugInfo] Enforce implicit constraints on `distinct` MDNodes
Jun 28 2021, 2:20 PM
scott.linder closed D104827: [DebugInfo] Enforce implicit constraints on `distinct` MDNodes.
Jun 28 2021, 2:20 PM · Restricted Project
scott.linder committed rG6d6f35eb7b92: [ADT] Add makeVisitor to STLExtras.h (authored by scott.linder).
[ADT] Add makeVisitor to STLExtras.h
Jun 28 2021, 1:07 PM
scott.linder added a reverting change for rG14a8aa615597: [ADT] Add makeVisitor to STLExtras.h: rG61242c0addb1: Revert "[ADT] Add makeVisitor to STLExtras.h".
Jun 28 2021, 12:52 PM
scott.linder added a reverting change for D100670: [ADT] Add makeVisitor to STLExtras.h: rG61242c0addb1: Revert "[ADT] Add makeVisitor to STLExtras.h".
Jun 28 2021, 12:52 PM · Restricted Project
scott.linder committed rG61242c0addb1: Revert "[ADT] Add makeVisitor to STLExtras.h" (authored by scott.linder).
Revert "[ADT] Add makeVisitor to STLExtras.h"
Jun 28 2021, 12:52 PM
scott.linder committed rG14a8aa615597: [ADT] Add makeVisitor to STLExtras.h (authored by scott.linder).
[ADT] Add makeVisitor to STLExtras.h
Jun 28 2021, 12:36 PM
scott.linder closed D100670: [ADT] Add makeVisitor to STLExtras.h.
Jun 28 2021, 12:36 PM · Restricted Project
scott.linder updated the diff for D100670: [ADT] Add makeVisitor to STLExtras.h.

rebase

Jun 28 2021, 12:09 PM · Restricted Project

Jun 25 2021

scott.linder updated the diff for D104827: [DebugInfo] Enforce implicit constraints on `distinct` MDNodes.

Assert based on UNIQUED/DISTINCT-ness in ModuleBitcodeWriter

Jun 25 2021, 10:35 AM · Restricted Project

Jun 24 2021

scott.linder updated the diff for D104827: [DebugInfo] Enforce implicit constraints on `distinct` MDNodes.

Implement inline case in AssemblyWriter::printNamedMDNode based on UNIQUED-ness.

Jun 24 2021, 2:42 PM · Restricted Project
scott.linder added a comment to D104827: [DebugInfo] Enforce implicit constraints on `distinct` MDNodes.

I tried to describe the fact that UNIQUED implies printed-inline, both in Metadata.def and the commit message. Let me know what you think about the wording.

Jun 24 2021, 12:18 PM · Restricted Project
scott.linder updated the diff for D104827: [DebugInfo] Enforce implicit constraints on `distinct` MDNodes.

Address feedback

Jun 24 2021, 12:17 PM · Restricted Project
scott.linder added inline comments to D104827: [DebugInfo] Enforce implicit constraints on `distinct` MDNodes.
Jun 24 2021, 12:13 PM · Restricted Project
scott.linder added inline comments to D104827: [DebugInfo] Enforce implicit constraints on `distinct` MDNodes.
Jun 24 2021, 11:41 AM · Restricted Project

Jun 23 2021

scott.linder updated the summary of D104827: [DebugInfo] Enforce implicit constraints on `distinct` MDNodes.
Jun 23 2021, 5:17 PM · Restricted Project
scott.linder added reviewers for D104827: [DebugInfo] Enforce implicit constraints on `distinct` MDNodes: StephenTozer, dblaikie, probinson, vsk, aprantl, jmorse, t-tye, kzhuravl, RamNalamothu.

This is my attempt to address a bug with distinct DIExpressions being accepted by the parser, but not round-tripping.

Jun 23 2021, 5:16 PM · Restricted Project
scott.linder requested review of D104827: [DebugInfo] Enforce implicit constraints on `distinct` MDNodes.
Jun 23 2021, 5:12 PM · Restricted Project