Page MenuHomePhabricator
Feed Advanced Search

Yesterday

aeubanks added a comment to D104272: [OpaquePtr] Mangle intrinsics with opaque pointers arguments.

I couldn't parse your comment, could you rephrase?

Tue, Jun 15, 5:00 PM · Restricted Project
aeubanks accepted D104272: [OpaquePtr] Mangle intrinsics with opaque pointers arguments.

lgtm, now that I understand intrinsics a bit more, this seems trivial enough to not need input from llvm-dev

Tue, Jun 15, 4:43 PM · Restricted Project
aeubanks added a comment to D104272: [OpaquePtr] Mangle intrinsics with opaque pointers arguments.

The patch looks mostly good, but I'm not sold on "op". Can we just use "p"?

Presumably then we wouldn't know whether to parse a type after the address space or not? Unless we only support this when everything is opaque pointers? (so there can be no confusion between opaque pointers or not)

Tue, Jun 15, 4:12 PM · Restricted Project
aeubanks added a comment to D104272: [OpaquePtr] Mangle intrinsics with opaque pointers arguments.

The patch looks mostly good, but I'm not sold on "op". Can we just use "p"?

Tue, Jun 15, 3:08 PM · Restricted Project
aeubanks accepted D104309: [OpaquePtr] Verify Opaque pointer in function parameter.

lgtm

Tue, Jun 15, 2:46 PM · Restricted Project
aeubanks added inline comments to D104309: [OpaquePtr] Verify Opaque pointer in function parameter.
Tue, Jun 15, 2:09 PM · Restricted Project
aeubanks committed rG9aa1428174ae: [InstSimplify] Treat invariant group insts as bitcasts for load operands (authored by aeubanks).
[InstSimplify] Treat invariant group insts as bitcasts for load operands
Tue, Jun 15, 1:00 PM
aeubanks closed D101103: [InstSimplify] Treat invariant group insts as bitcasts for load operands.
Tue, Jun 15, 12:59 PM · Restricted Project
aeubanks added inline comments to D104151: [docs][OpaquePtr] Shuffle around the transition plan section.
Tue, Jun 15, 12:02 PM · Restricted Project
aeubanks accepted D104099: [NewPM] Remove SpeculateAroundPHIs pass.

looks good, we can always revive the pass later if somebody wants it for some reason

Tue, Jun 15, 10:31 AM · Restricted Project, Restricted Project
aeubanks updated the diff for D101713: [OpaquePtr] Use ArgListEntry indirect types more in ISel lowering.

rebase

Tue, Jun 15, 10:28 AM · Restricted Project
aeubanks added a comment to D104309: [OpaquePtr] Verify Opaque pointer in function parameter.

can you add some negative tests for this? e.g. make sure you see the proper message for something like

call void @f(ptr inalloca(%somenotsizedtype) %a)
Tue, Jun 15, 10:22 AM · Restricted Project
aeubanks committed rGbe5d454f3f07: [NFC][OpaquePtr] Avoid calling getPointerElementType() (authored by aeubanks).
[NFC][OpaquePtr] Avoid calling getPointerElementType()
Tue, Jun 15, 9:53 AM
aeubanks committed rG25b2126b9e9c: [NFC] Remove redundant variable (authored by aeubanks).
[NFC] Remove redundant variable
Tue, Jun 15, 9:53 AM
aeubanks closed D103719: [NFC][OpaquePtr] Avoid calling getPointerElementType().
Tue, Jun 15, 9:53 AM · Restricted Project
aeubanks closed D103706: [NFC] Remove redundant variable.
Tue, Jun 15, 9:53 AM · Restricted Project

Mon, Jun 14

aeubanks added a comment to D104272: [OpaquePtr] Mangle intrinsics with opaque pointers arguments.

maybe we should make a quick post on llvm-dev about this to see what other people think, since this will be very user-visible

Mon, Jun 14, 4:09 PM · Restricted Project
aeubanks added a comment to D104272: [OpaquePtr] Mangle intrinsics with opaque pointers arguments.

there needs to be tests, and the description should probably state what's going on

Mon, Jun 14, 3:14 PM · Restricted Project
aeubanks added a reviewer for D104272: [OpaquePtr] Mangle intrinsics with opaque pointers arguments: dblaikie.
Mon, Jun 14, 3:13 PM · Restricted Project
aeubanks committed rGcc8d32ae7d94: Move some code under NDEBUG from D103135 (authored by aeubanks).
Move some code under NDEBUG from D103135
Mon, Jun 14, 11:42 AM
aeubanks committed rG75d3b46ad2df: Remove accidentally added debugging code from D103135 (authored by aeubanks).
Remove accidentally added debugging code from D103135
Mon, Jun 14, 11:12 AM
aeubanks committed rG0e31e22ed973: [docs][OpaquePtr] Shuffle around the transition plan section (authored by aeubanks).
[docs][OpaquePtr] Shuffle around the transition plan section
Mon, Jun 14, 11:00 AM
aeubanks closed D104151: [docs][OpaquePtr] Shuffle around the transition plan section.
Mon, Jun 14, 11:00 AM · Restricted Project
aeubanks added inline comments to D104151: [docs][OpaquePtr] Shuffle around the transition plan section.
Mon, Jun 14, 10:59 AM · Restricted Project
aeubanks committed rG8c5a44901caf: [OpaquePtr] Remove existing support for forward compatibility (authored by aeubanks).
[OpaquePtr] Remove existing support for forward compatibility
Mon, Jun 14, 10:53 AM
aeubanks closed D103135: [OpaquePtr] Remove existing support for forward compatibility.
Mon, Jun 14, 10:53 AM · Restricted Project
aeubanks added a comment to D102909: [NPM] Ability to add a pass before a previously registered one.

The concrete use case I have is based on two separate plugin passes - one of them is responsible for inserting a few inline assembly instructions into functions according to a specific criteria and the second one's job is to make some adjustments to all the inline asm instructions in the module. The former needs to run before the latter to ensure all inline asm instructions are in place before the adjustments take place.
Both of those plugin passes are required to run on the last step of the optimizer pipeline, using the registerOptimizerLastEPCallback extension point, so there's not enough granularity available to ensure those are run in this specific order.

Mon, Jun 14, 10:53 AM · Restricted Project
aeubanks accepted D104216: NDEBUG ABI breaking changes fixes..

this seems like a hard battle to win, but lgtm (after clang-format fixes)

Mon, Jun 14, 9:31 AM · Restricted Project

Fri, Jun 11

aeubanks committed rG37a2c4517bbf: [NFC][OpaquePtr] Make getMemoryParamAllocType() compatible with opaque pointers (authored by aeubanks).
[NFC][OpaquePtr] Make getMemoryParamAllocType() compatible with opaque pointers
Fri, Jun 11, 4:02 PM
aeubanks added inline comments to D104151: [docs][OpaquePtr] Shuffle around the transition plan section.
Fri, Jun 11, 3:09 PM · Restricted Project
aeubanks updated the diff for D104151: [docs][OpaquePtr] Shuffle around the transition plan section.

wording

Fri, Jun 11, 3:09 PM · Restricted Project
aeubanks requested review of D104151: [docs][OpaquePtr] Shuffle around the transition plan section.
Fri, Jun 11, 1:35 PM · Restricted Project
aeubanks committed rG06c3d52aa2fa: [docs][OpaquePtr] Add some specific examples of what needs to be done (authored by aeubanks).
[docs][OpaquePtr] Add some specific examples of what needs to be done
Fri, Jun 11, 12:56 PM
aeubanks added a comment to D103135: [OpaquePtr] Remove existing support for forward compatibility.

@t.p.northover seems to not be responding, can we go forward with this?

Fri, Jun 11, 12:42 PM · Restricted Project
aeubanks updated the diff for D101713: [OpaquePtr] Use ArgListEntry indirect types more in ISel lowering.

rebase
check callee for byval/preallocated/inalloca type

Fri, Jun 11, 12:23 PM · Restricted Project
aeubanks retitled D101713: [OpaquePtr] Use ArgListEntry indirect types more in ISel lowering from [NFC] Use ArgListEntry indirect types more in ISel lowering to [OpaquePtr] Use ArgListEntry indirect types more in ISel lowering.
Fri, Jun 11, 12:22 PM · Restricted Project
aeubanks accepted D103867: [CHR] Don't run ControlHeightReduction if any BB has address taken.

lgtm

Fri, Jun 11, 11:53 AM · Restricted Project
aeubanks added a comment to D103717: [InstrProfiling] Make __profd_ unconditionally private for ELF.

We are observing some crashes in coverage, but we haven't root caused them yet: crbug.com/1216811
So I guess we need to keep waiting for the dust to settle. @aeubanks was able to repro the crash there, but it's not deterministic.

Fri, Jun 11, 11:50 AM · Restricted Project
aeubanks committed rGc0c5a98b2c47: [NFC][OpaquePtr] Explicitly pass GEP source type in optimizeGatherScatterInst() (authored by aeubanks).
[NFC][OpaquePtr] Explicitly pass GEP source type in optimizeGatherScatterInst()
Fri, Jun 11, 11:50 AM
aeubanks closed D103480: [NFC][OpaquePtr] Explicitly pass GEP source type in optimizeGatherScatterInst().
Fri, Jun 11, 11:50 AM · Restricted Project
aeubanks updated the diff for D101103: [InstSimplify] Treat invariant group insts as bitcasts for load operands.

check for self referential values

Fri, Jun 11, 11:49 AM · Restricted Project
aeubanks reopened D101103: [InstSimplify] Treat invariant group insts as bitcasts for load operands.
Fri, Jun 11, 11:49 AM · Restricted Project
aeubanks updated the diff for D103480: [NFC][OpaquePtr] Explicitly pass GEP source type in optimizeGatherScatterInst().

add assert

Fri, Jun 11, 11:31 AM · Restricted Project
aeubanks added a comment to D102909: [NPM] Ability to add a pass before a previously registered one.

I'd still like to understand exactly what you'd be using this for. As in why does some pass need to run before all other instances of some other pass?

The concrete use case I have is based on two separate plugin passes - one of them is responsible for inserting a few inline assembly instructions into functions according to a specific criteria and the second one's job is to make some adjustments to all the inline asm instructions in the module. The former needs to run before the latter to ensure all inline asm instructions are in place before the adjustments take place.
Both of those plugin passes are required to run on the last step of the optimizer pipeline, using the registerOptimizerLastEPCallback extension point, so there's not enough granularity available to ensure those are run in this specific order.

Fri, Jun 11, 11:30 AM · Restricted Project
aeubanks accepted D104099: [NewPM] Remove SpeculateAroundPHIs pass.

Ah, sorry I missed where you mentioned LSR.

Fri, Jun 11, 11:10 AM · Restricted Project, Restricted Project
aeubanks added a reviewer for D104099: [NewPM] Remove SpeculateAroundPHIs pass: davidxl.
Fri, Jun 11, 10:53 AM · Restricted Project, Restricted Project
aeubanks added a comment to D104099: [NewPM] Remove SpeculateAroundPHIs pass.

Which pass that comes after SpeculateAroundPHIs in the X86 pipeline (either in the optimization or codegen) would undo its effects?

Fri, Jun 11, 10:25 AM · Restricted Project, Restricted Project
aeubanks added a comment to D104099: [NewPM] Remove SpeculateAroundPHIs pass.

Some backends don't run SimplifyCFG, e.g. X86. I believe the pass was originally created specifically for X86 (the header has some X86 examples) and may or may not extend to other targets (I'm not very familiar with the pass itself).

Fri, Jun 11, 10:16 AM · Restricted Project, Restricted Project
aeubanks added reviewers for D104099: [NewPM] Remove SpeculateAroundPHIs pass: asbirlea, echristo.
Fri, Jun 11, 9:58 AM · Restricted Project, Restricted Project

Thu, Jun 10

aeubanks added a reverting change for rG667fbcdd0b2e: [clang] NRVO: Improvements and handling of more cases.: rG85ca7e424fd0: Revert "[clang] NRVO: Improvements and handling of more cases.".
Thu, Jun 10, 8:46 PM
aeubanks committed rG85ca7e424fd0: Revert "[clang] NRVO: Improvements and handling of more cases." (authored by aeubanks).
Revert "[clang] NRVO: Improvements and handling of more cases."
Thu, Jun 10, 8:46 PM
aeubanks added a reverting change for rGcbd0054b9eb1: [clang] Implement P2266 Simpler implicit move: rGdb26615aa6a1: Revert "[clang] Implement P2266 Simpler implicit move".
Thu, Jun 10, 8:46 PM
aeubanks committed rGdb26615aa6a1: Revert "[clang] Implement P2266 Simpler implicit move" (authored by aeubanks).
Revert "[clang] Implement P2266 Simpler implicit move"
Thu, Jun 10, 8:46 PM
aeubanks added a reverting change for D99696: [clang] NRVO: Improvements and handling of more cases.: rG85ca7e424fd0: Revert "[clang] NRVO: Improvements and handling of more cases.".
Thu, Jun 10, 8:46 PM · Restricted Project
aeubanks added a reverting change for D99005: [clang] Implement P2266 Simpler implicit move: rGdb26615aa6a1: Revert "[clang] Implement P2266 Simpler implicit move".
Thu, Jun 10, 8:46 PM · Restricted Project
aeubanks added a comment to D99696: [clang] NRVO: Improvements and handling of more cases..

Crashes on a stage 2 build on Windows:

../rel/bin/clang-cl /nologo /showIncludes /Foobj/llvm/lib/MC/MCParser/MCParser.MasmParser.obj /c ../../llvm/lib/MC/MCParser/MasmParser.cpp -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_HAS_EXCEPTIONS=0 -D_UNICODE -DUNICODE -I../../llvm/include -Igen/llvm/include /Zi /FS -gline-tables-only -gcodeview-ghash /O2 /Gw /Zc:inline /EHs-c- /W4 -Wno-unused-parameter -Wdelete-non-virtual-dtor -Wstring-conversion -no-canonical-prefixes -Werror=date-time -fmsc-version=1916 /Brepro /winsysroot../../../sysroot -Wcovered-switch-default /GR-
Assertion failed: isa<X>(Val) && "cast<Ty>() argument of incompatible type!", file ../../llvm/include/llvm/Support/Casting.h, line 262
PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0.      Program arguments: ../rel/bin/clang-cl /nologo /showIncludes /Foobj/llvm/lib/MC/MCParser/MCParser.MasmParser.obj /c ../../llvm/lib/MC/MCParser/MasmParser.cpp -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_HAS_EXCEPTIONS=0 -D_UNICODE -DUNICODE -I../../llvm/include -Igen/llvm/include /Zi /FS -gline-tables-only -gcodeview-ghash /O2 /Gw /Zc:inline /EHs-c- /W4 -Wno-unused-parameter -Wdelete-non-virtual-dtor -Wstring-conversion -no-canonical-prefixes -Werror=date-time -fmsc-version=1916 /Brepro /winsysroot../../../sysroot -Wcovered-switch-default /GR-
1.      <eof> parser at end of file
2.      ../../../sysroot\VC\Tools\MSVC\14.16.27023\include\ostream:320:36: instantiating function definition 'std::basic_ostream<char>::operator<<'
3.      ../../../sysroot\VC\Tools\MSVC\14.16.27023\include\xlocale:503:26: instantiating function definition 'std::use_facet<std::num_put<char>>'
4.      ../../../sysroot\VC\Tools\MSVC\14.16.27023\include\xlocnum:1417:35: instantiating function definition 'std::num_put<char>::_Getcat'
5.      ../../../sysroot\VC\Tools\MSVC\14.16.27023\include\xlocnum:1446:21: instantiating function definition 'std::num_put<char>::num_put'
6.      ../../../sysroot\VC\Tools\MSVC\14.16.27023\include\xlocnum:1504:36: instantiating function definition 'std::num_put<char>::do_put'
7.      ../../../sysroot\VC\Tools\MSVC\14.16.27023\include\xlocale:503:26: instantiating function definition 'std::use_facet<std::numpunct<char>>'
8.      ../../../sysroot\VC\Tools\MSVC\14.16.27023\include\xlocnum:163:16: instantiating function definition 'std::numpunct<char>::_Getcat'
9.      ../../../sysroot\VC\Tools\MSVC\14.16.27023\include\xlocnum:157:2: instantiating function definition 'std::numpunct<char>::numpunct'
10.     ../../../sysroot\VC\Tools\MSVC\14.16.27023\include\xlocnum:199:7: instantiating function definition 'std::numpunct<char>::_Init'
11.     ../../../sysroot\VC\Tools\MSVC\14.16.27023\include\xlocale:662:19: instantiating function definition 'std::_Maklocstr<char>'
 #0 0x00007ff7a6b48596 HandleAbort /b/f/w/llvm-project/build/rel/../../llvm/lib/Support/Windows/Signals.inc:408:0
 #1 0x00007ff7a9cee690 raise C:\src\llvm-project\build\rel\minkernel\crts\ucrt\src\appcrt\misc\signal.cpp:547:0
 #2 0x00007ff7a9ce3fd0 abort C:\src\llvm-project\build\rel\minkernel\crts\ucrt\src\appcrt\startup\abort.cpp:71:0
 #3 0x00007ff7a9ce4672 common_assert_to_stderr<wchar_t> C:\src\llvm-project\build\rel\minkernel\crts\ucrt\src\appcrt\startup\assert.cpp:186:0
 #4 0x00007ff7a9ce451a _wassert C:\src\llvm-project\build\rel\minkernel\crts\ucrt\src\appcrt\startup\assert.cpp:443:0
 #5 0x00007ff7a8899933 llvm::PointerUnion<const clang::Type *,const clang::ExtQuals *>::isNull /b/f/w/llvm-project/build/rel/../../llvm/include/llvm/ADT/PointerUnion.h:172:0
 #6 0x00007ff7a8899933 clang::QualType::isNull /b/f/w/llvm-project/build/rel/../../clang/include/clang/AST/Type.h:734:0
 #7 0x00007ff7a8899933 clang::QualType::getCommonPtr /b/f/w/llvm-project/build/rel/../../clang/include/clang/AST/Type.h:684:0
 #8 0x00007ff7a8899933 clang::QualType::getTypePtr /b/f/w/llvm-project/build/rel/../../clang/include/clang/AST/Type.h:6428:0
 #9 0x00007ff7a8899933 llvm::simplify_type<clang::QualType>::getSimplifiedValue /b/f/w/llvm-project/build/rel/../../clang/include/clang/AST/Type.h:1318:0
#10 0x00007ff7a8899933 llvm::simplify_type<const clang::QualType>::getSimplifiedValue /b/f/w/llvm-project/build/rel/../../llvm/include/llvm/Support/Casting.h:48:0
#11 0x00007ff7a8899933 llvm::isa_impl_wrap<clang::FunctionType,const clang::QualType,const clang::Type *>::doit /b/f/w/llvm-project/build/rel/../../llvm/include/llvm/Support/Casting.h:121:0
#12 0x00007ff7a8899933 llvm::isa /b/f/w/llvm-project/build/rel/../../llvm/include/llvm/Support/Casting.h:142:0
#13 0x00007ff7a8899933 llvm::cast /b/f/w/llvm-project/build/rel/../../llvm/include/llvm/Support/Casting.h:263:0
#14 0x00007ff7a8899933 clang::TemplateDeclInstantiator::VisitVarDecl(class clang::VarDecl *, bool, class llvm::ArrayRef<class clang::BindingDecl *> *) /b/f/w/llvm-project/build/rel/../../clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:1110:0
#15 0x00007ff7a88b10f8 clang::Sema::SubstDecl::<lambda_0>::operator() /b/f/w/llvm-project/build/rel/../../clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:3837:0
#16 0x00007ff7a88b10f8 llvm::function_ref<void ()>::callback_fn<`lambda at ../../clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:3836:49'> /b/f/w/llvm-project/build/rel/../../llvm/include/llvm/ADT/STLExtras.h:177:0
#17 0x00007ff7a72917fd clang::Sema::runWithSufficientStackSpace(class clang::SourceLocation, class llvm::function_ref<(void)>) /b/f/w/llvm-project/build/rel/../../clang/lib/Sema/Sema.cpp:463:0
#18 0x00007ff7a88a9dce clang::Sema::SubstDecl(class clang::Decl *, class clang::DeclContext *, class clang::MultiLevelTemplateArgumentList const &) /b/f/w/llvm-project/build/rel/../../clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:3839:0
#19 0x00007ff7a8a11c2d `anonymous namespace'::TemplateInstantiator::TransformDefinition /b/f/w/llvm-project/build/rel/../../clang/lib/Sema/SemaTemplateInstantiate.cpp:1253:0
#20 0x00007ff7a8a11c2d clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformDeclStmt /b/f/w/llvm-project/build/rel/../../clang/lib/Sema/TreeTransform.h:7603:0
#21 0x00007ff7a89e3a61 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformStmt /b/f/w/llvm-project/build/rel/gen/clang/include/clang/AST/StmtNodes.inc:97:0
#22 0x00007ff7a8a05ab8 clang::ActionResult<clang::Stmt *,1>::isInvalid /b/f/w/llvm-project/build/rel/../../clang/include/clang/Sema/Ownership.h:207:0
#23 0x00007ff7a8a05ab8 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformCompoundStmt /b/f/w/llvm-project/build/rel/../../clang/lib/Sema/TreeTransform.h:7209:0
#24 0x00007ff7a8a11450 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformCompoundStmt /b/f/w/llvm-project/build/rel/../../clang/lib/Sema/TreeTransform.h:7192:0
#25 0x00007ff7a89e39a0 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformStmt /b/f/w/llvm-project/build/rel/gen/clang/include/clang/AST/StmtNodes.inc:73:0
#26 0x00007ff7a89e36a4 llvm::DenseMap<clang::Decl *,clang::Decl *,llvm::DenseMapInfo<clang::Decl *>,llvm::detail::DenseMapPair<clang::Decl *,clang::Decl *> >::~DenseMap /b/f/w/llvm-project/build/rel/../../llvm/include/llvm/ADT/DenseMap.h:755:0
#27 0x00007ff7a89e36a4 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::~TreeTransform /b/f/w/llvm-project/build/rel/../../clang/lib/Sema/TreeTransform.h:101:0
#28 0x00007ff7a89e36a4 clang::Sema::SubstStmt(class clang::Stmt *, class clang::MultiLevelTemplateArgumentList const &) /b/f/w/llvm-project/build/rel/../../clang/lib/Sema/SemaTemplateInstantiate.cpp:3463:0
#29 0x00007ff7a88ac61a clang::Sema::InstantiateFunctionDefinition(class clang::SourceLocation, class clang::FunctionDecl *, bool, bool, bool) /b/f/w/llvm-project/build/rel/../../clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:4961:0
#30 0x00007ff7a88af1ac clang::FunctionDecl::isDefined /b/f/w/llvm-project/build/rel/../../clang/include/clang/AST/Decl.h:2084:0
#31 0x00007ff7a88af1ac clang::Sema::PerformPendingInstantiations(bool) /b/f/w/llvm-project/build/rel/../../clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:6207:0
#32 0x00007ff7a88ac6fa clang::Sema::InstantiateFunctionDefinition(class clang::SourceLocation, class clang::FunctionDecl *, bool, bool, bool) /b/f/w/llvm-project/build/rel/../../clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:4986:0
#33 0x00007ff7a88af1ac clang::FunctionDecl::isDefined /b/f/w/llvm-project/build/rel/../../clang/include/clang/AST/Decl.h:2084:0
#34 0x00007ff7a88af1ac clang::Sema::PerformPendingInstantiations(bool) /b/f/w/llvm-project/build/rel/../../clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:6207:0
#35 0x00007ff7a88ac6fa clang::Sema::InstantiateFunctionDefinition(class clang::SourceLocation, class clang::FunctionDecl *, bool, bool, bool) /b/f/w/llvm-project/build/rel/../../clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:4986:0
#36 0x00007ff7a88af1ac clang::FunctionDecl::isDefined /b/f/w/llvm-project/build/rel/../../clang/include/clang/AST/Decl.h:2084:0
#37 0x00007ff7a88af1ac clang::Sema::PerformPendingInstantiations(bool) /b/f/w/llvm-project/build/rel/../../clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:6207:0
#38 0x00007ff7a88ac6fa clang::Sema::InstantiateFunctionDefinition(class clang::SourceLocation, class clang::FunctionDecl *, bool, bool, bool) /b/f/w/llvm-project/build/rel/../../clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:4986:0
#39 0x00007ff7a88af1ac clang::FunctionDecl::isDefined /b/f/w/llvm-project/build/rel/../../clang/include/clang/AST/Decl.h:2084:0
#40 0x00007ff7a88af1ac clang::Sema::PerformPendingInstantiations(bool) /b/f/w/llvm-project/build/rel/../../clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:6207:0
#41 0x00007ff7a88ac6fa clang::Sema::InstantiateFunctionDefinition(class clang::SourceLocation, class clang::FunctionDecl *, bool, bool, bool) /b/f/w/llvm-project/build/rel/../../clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:4986:0
#42 0x00007ff7a88af1ac clang::FunctionDecl::isDefined /b/f/w/llvm-project/build/rel/../../clang/include/clang/AST/Decl.h:2084:0
#43 0x00007ff7a88af1ac clang::Sema::PerformPendingInstantiations(bool) /b/f/w/llvm-project/build/rel/../../clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:6207:0
#44 0x00007ff7a88ac6fa clang::Sema::InstantiateFunctionDefinition(class clang::SourceLocation, class clang::FunctionDecl *, bool, bool, bool) /b/f/w/llvm-project/build/rel/../../clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:4986:0
#45 0x00007ff7a88af1ac clang::FunctionDecl::isDefined /b/f/w/llvm-project/build/rel/../../clang/include/clang/AST/Decl.h:2084:0
#46 0x00007ff7a88af1ac clang::Sema::PerformPendingInstantiations(bool) /b/f/w/llvm-project/build/rel/../../clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:6207:0
#47 0x00007ff7a88ac6fa clang::Sema::InstantiateFunctionDefinition(class clang::SourceLocation, class clang::FunctionDecl *, bool, bool, bool) /b/f/w/llvm-project/build/rel/../../clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:4986:0
#48 0x00007ff7a88af1ac clang::FunctionDecl::isDefined /b/f/w/llvm-project/build/rel/../../clang/include/clang/AST/Decl.h:2084:0
#49 0x00007ff7a88af1ac clang::Sema::PerformPendingInstantiations(bool) /b/f/w/llvm-project/build/rel/../../clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:6207:0
#50 0x00007ff7a88ac6fa clang::Sema::InstantiateFunctionDefinition(class clang::SourceLocation, class clang::FunctionDecl *, bool, bool, bool) /b/f/w/llvm-project/build/rel/../../clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:4986:0
#51 0x00007ff7a88af1ac clang::FunctionDecl::isDefined /b/f/w/llvm-project/build/rel/../../clang/include/clang/AST/Decl.h:2084:0
#52 0x00007ff7a88af1ac clang::Sema::PerformPendingInstantiations(bool) /b/f/w/llvm-project/build/rel/../../clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:6207:0
#53 0x00007ff7a88ac6fa clang::Sema::InstantiateFunctionDefinition(class clang::SourceLocation, class clang::FunctionDecl *, bool, bool, bool) /b/f/w/llvm-project/build/rel/../../clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:4986:0
#54 0x00007ff7a88af1ac clang::FunctionDecl::isDefined /b/f/w/llvm-project/build/rel/../../clang/include/clang/AST/Decl.h:2084:0
#55 0x00007ff7a88af1ac clang::Sema::PerformPendingInstantiations(bool) /b/f/w/llvm-project/build/rel/../../clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:6207:0
#56 0x00007ff7a88ac6fa clang::Sema::InstantiateFunctionDefinition(class clang::SourceLocation, class clang::FunctionDecl *, bool, bool, bool) /b/f/w/llvm-project/build/rel/../../clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:4986:0
#57 0x00007ff7a88af1ac clang::FunctionDecl::isDefined /b/f/w/llvm-project/build/rel/../../clang/include/clang/AST/Decl.h:2084:0
#58 0x00007ff7a88af1ac clang::Sema::PerformPendingInstantiations(bool) /b/f/w/llvm-project/build/rel/../../clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:6207:0
#59 0x00007ff7a7293711 llvm::TimeTraceScope::~TimeTraceScope /b/f/w/llvm-project/build/rel/../../llvm/include/llvm/Support/TimeProfiler.h:86:0
#60 0x00007ff7a7293711 clang::Sema::ActOnEndOfTranslationUnitFragment(enum clang::Sema::TUFragmentKind) /b/f/w/llvm-project/build/rel/../../clang/lib/Sema/Sema.cpp:1001:0
#61 0x00007ff7a72943ac clang::Sema::ActOnEndOfTranslationUnit(void) /b/f/w/llvm-project/build/rel/../../clang/lib/Sema/Sema.cpp:1042:0
#62 0x00007ff7a98dc220 clang::Parser::ParseTopLevelDecl(class clang::OpaquePtr<class clang::DeclGroupRef> &, bool) C:\src\llvm-project\clang\lib\Parse\Parser.cpp:693:0
#63 0x00007ff7a8bfe1ae clang::ParseAST(class clang::Sema &, bool, bool) C:\src\llvm-project\clang\lib\Parse\ParseAST.cpp:157:0
#64 0x00007ff7a7378a64 clang::FrontendAction::Execute(void) C:\src\llvm-project\clang\lib\Frontend\FrontendAction.cpp:955:0
#65 0x00007ff7a6830593 llvm::Error::getPtr C:\src\llvm-project\llvm\include\llvm\Support\Error.h:273:0
#66 0x00007ff7a6830593 llvm::Error::operator bool C:\src\llvm-project\llvm\include\llvm\Support\Error.h:236:0
#67 0x00007ff7a6830593 clang::CompilerInstance::ExecuteAction(class clang::FrontendAction &) C:\src\llvm-project\clang\lib\Frontend\CompilerInstance.cpp:977:0
#68 0x00007ff7a68c5ba3 clang::ExecuteCompilerInvocation(class clang::CompilerInstance *) C:\src\llvm-project\clang\lib\FrontendTool\ExecuteCompilerInvocation.cpp:278:0
#69 0x00007ff7a67b1a81 cc1_main(class llvm::ArrayRef<char const *>, char const *, void *) /b/f/w/llvm-project/build/rel/../../clang/tools/driver/cc1_main.cpp:246:0
#70 0x00007ff7a67c4df4 ExecuteCC1Tool /b/f/w/llvm-project/build/rel/../../clang/tools/driver/driver.cpp:338:0
#71 0x00007ff7a71584e6 clang::driver::CC1Command::Execute::<lambda_1>::operator() C:\src\llvm-project\clang\lib\Driver\Job.cpp:404:0
#72 0x00007ff7a71584e6 llvm::function_ref<void ()>::callback_fn<`lambda at ../../clang/lib/Driver/Job.cpp:404:22'> C:\src\llvm-project\llvm\include\llvm\ADT\STLExtras.h:177:0
#73 0x00007ff7a6b08cf2 llvm::CrashRecoveryContext::RunSafely(class llvm::function_ref<(void)>) /b/f/w/llvm-project/build/rel/../../llvm/lib/Support/CrashRecoveryContext.cpp:233:0
#74 0x00007ff7a7158171 clang::driver::CC1Command::Execute(class llvm::ArrayRef<class llvm::Optional<class llvm::StringRef>>, class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>> *, bool *) const C:\src\llvm-project\clang\lib\Driver\Job.cpp:404:0
#75 0x00007ff7a67f2345 clang::driver::Compilation::ExecuteCommand(class clang::driver::Command const &, class clang::driver::Command const *&) const /b/f/w/llvm-project/build/rel/../../clang/lib/Driver/Compilation.cpp:196:0
#76 0x00007ff7a67f282b clang::driver::Compilation::ExecuteJobs(class clang::driver::JobList const &, class llvm::SmallVectorImpl<struct std::pair<int, class clang::driver::Command const *>> &) const /b/f/w/llvm-project/build/rel/../../clang/lib/Driver/Compilation.cpp:249:0
#77 0x00007ff7a6809107 llvm::SmallVectorBase<unsigned int>::empty C:\src\llvm-project\llvm\include\llvm\ADT\SmallVector.h:72:0
#78 0x00007ff7a6809107 clang::driver::Driver::ExecuteCompilation(class clang::driver::Compilation &, class llvm::SmallVectorImpl<struct std::pair<int, class clang::driver::Command const *>> &) C:\src\llvm-project\clang\lib\Driver\Driver.cpp:1571:0
#79 0x00007ff7a67c468e main /b/f/w/llvm-project/build/rel/../../clang/tools/driver/driver.cpp:510:0
#80 0x00007ff7a9cd11e8 invoke_main d:\agent\_work\2\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:78:0
#81 0x00007ff7a9cd11e8 __scrt_common_main_seh d:\agent\_work\2\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288:0
#82 0x00007fff3e777c24 (C:\Windows\System32\KERNEL32.DLL+0x17c24)
#83 0x00007fff3ecad721 (C:\Windows\SYSTEM32\ntdll.dll+0x6d721)
clang-cl: error: clang frontend command failed due to signal (use -v to see invocation)
clang version 13.0.0
Target: x86_64-pc-windows-msvc
Thread model: posix
InstalledDir: ../rel/bin
clang-cl: note: diagnostic msg:
********************
Thu, Jun 10, 8:41 PM · Restricted Project
aeubanks added a comment to D103480: [NFC][OpaquePtr] Explicitly pass GEP source type in optimizeGatherScatterInst().

ping

Thu, Jun 10, 4:33 PM · Restricted Project
aeubanks added a comment to D103706: [NFC] Remove redundant variable.

ping

Thu, Jun 10, 4:33 PM · Restricted Project
aeubanks added a comment to D103719: [NFC][OpaquePtr] Avoid calling getPointerElementType().

ping

Thu, Jun 10, 4:33 PM · Restricted Project
aeubanks committed rGb73742bc8d2e: [Profile] Remove redundant check (authored by aeubanks).
[Profile] Remove redundant check
Thu, Jun 10, 4:25 PM
aeubanks added inline comments to D104050: [Profile] Handle invalid profile data.
Thu, Jun 10, 4:25 PM · Restricted Project
aeubanks committed rG189428c8fc24: [Profile] Handle invalid profile data (authored by aeubanks).
[Profile] Handle invalid profile data
Thu, Jun 10, 4:12 PM
aeubanks closed D104050: [Profile] Handle invalid profile data.
Thu, Jun 10, 4:12 PM · Restricted Project
aeubanks updated the diff for D104050: [Profile] Handle invalid profile data.

keep old profile around, add test for that

Thu, Jun 10, 4:01 PM · Restricted Project
aeubanks updated the diff for D104050: [Profile] Handle invalid profile data.

set all 8 bytes in test

Thu, Jun 10, 3:54 PM · Restricted Project
aeubanks abandoned D99784: [LICM] Hoist loads with invariant.group metadata.

yeah, this is not feasible with the current implementation of fstrict-vtable-pointers, and not sure how beneficial this is anyway

Thu, Jun 10, 3:51 PM · Restricted Project
aeubanks added a comment to D104050: [Profile] Handle invalid profile data.

there are a couple ways to handle the invalid profile

  1. remove it and bail
  2. remove it and overwrite with the current profile
  3. leave it and don't write anything more
Thu, Jun 10, 3:42 PM · Restricted Project
aeubanks updated the diff for D104050: [Profile] Handle invalid profile data.

add test
make SrcValueProfData a char*

Thu, Jun 10, 3:33 PM · Restricted Project
aeubanks abandoned D100079: [Attributor] Don't modify functions outside of the current SCC.

https://bugs.llvm.org/show_bug.cgi?id=49606 already fixed

Thu, Jun 10, 3:24 PM · Restricted Project
aeubanks added a comment to D104050: [Profile] Handle invalid profile data.

sorry, I think I updated while you were reviewing and some of your comments are no longer relevant

Thu, Jun 10, 2:47 PM · Restricted Project
aeubanks updated the diff for D104050: [Profile] Handle invalid profile data.

do more pointer comparisons
still working on a test

Thu, Jun 10, 2:33 PM · Restricted Project
aeubanks updated the diff for D104050: [Profile] Handle invalid profile data.

check SrcValueProfData

Thu, Jun 10, 2:05 PM · Restricted Project
aeubanks added a comment to D104050: [Profile] Handle invalid profile data.

trying to come up with a test case

Thu, Jun 10, 11:09 AM · Restricted Project
aeubanks updated the diff for D104050: [Profile] Handle invalid profile data.

formatting

Thu, Jun 10, 11:08 AM · Restricted Project
aeubanks requested review of D104050: [Profile] Handle invalid profile data.
Thu, Jun 10, 11:05 AM · Restricted Project

Wed, Jun 9

aeubanks accepted D103992: [InstCombine / BuildLibCalls] Add parameter attributes from the prototype..

I reverted that change and probably won't revisit it soon due to all these sorts of issues.
But this change looks good on its own

Wed, Jun 9, 2:54 PM · Restricted Project
aeubanks added a comment to D101806: [TargetLowering] Only inspect attributes in the arguments for ArgListEntry.

I've reverted this, probably won't follow up any time soon, needs more discussion

Wed, Jun 9, 2:52 PM · Restricted Project
aeubanks added a reverting change for rG26044c6a54de: [InstSimplify] Treat invariant group insts as bitcasts for load operands: rG222cce3828a5: Revert "[InstSimplify] Treat invariant group insts as bitcasts for load….
Wed, Jun 9, 11:56 AM
aeubanks committed rG222cce3828a5: Revert "[InstSimplify] Treat invariant group insts as bitcasts for load… (authored by aeubanks).
Revert "[InstSimplify] Treat invariant group insts as bitcasts for load…
Wed, Jun 9, 11:56 AM
aeubanks added a reverting change for D101103: [InstSimplify] Treat invariant group insts as bitcasts for load operands: rG222cce3828a5: Revert "[InstSimplify] Treat invariant group insts as bitcasts for load….
Wed, Jun 9, 11:56 AM · Restricted Project
aeubanks accepted D103981: [LangRef] Add link to opaque pointers.

thanks!

Wed, Jun 9, 10:46 AM · Restricted Project

Tue, Jun 8

aeubanks added a comment to D103867: [CHR] Don't run ControlHeightReduction if any BB has address taken.

do all passes that clone BBs have to worry about this?

Tue, Jun 8, 3:10 PM · Restricted Project
aeubanks accepted D99435: [SROA] Avoid splitting loads/stores with irregular type.

lgtm

Tue, Jun 8, 3:01 PM · Restricted Project
aeubanks updated the diff for D103135: [OpaquePtr] Remove existing support for forward compatibility.

remove one more function

Tue, Jun 8, 2:36 PM · Restricted Project

Mon, Jun 7

aeubanks committed rG47211fa88905: Revert "[TargetLowering] Only inspect attributes in the arguments for… (authored by aeubanks).
Revert "[TargetLowering] Only inspect attributes in the arguments for…
Mon, Jun 7, 4:19 PM
aeubanks added inline comments to D91722: [DebugInfo] Use variadic debug values to salvage BinOps and GEP instrs with non-const operands.
Mon, Jun 7, 1:11 PM · Restricted Project, debug-info

Fri, Jun 4

aeubanks added a comment to D61524: [BPF] Support for compile once and run everywhere.

The opaque pointers project (https://llvm.org/docs/OpaquePointers.html) is trying to remove pointee types from pointer types. For example, the GEP instruction doesn't look at the base pointer's type, but rather the type is separately encoded into the instruction (https://llvm.org/docs/LangRef.html#getelementptr-instruction).
In terms of code changes, this means that all calls to Type::getPointerElementType() won't work. BPFAbstractMemberAccess.cpp uses that to see what type to operate on for these added intrinsics. Basically it's emulating the old GEP instruction which did indeed look at the base pointer's pointee type. But that won't work at some point.

Fri, Jun 4, 4:05 PM · Restricted Project
aeubanks updated the diff for D103719: [NFC][OpaquePtr] Avoid calling getPointerElementType().

one more missed location

Fri, Jun 4, 3:10 PM · Restricted Project
aeubanks added a reviewer for D103719: [NFC][OpaquePtr] Avoid calling getPointerElementType(): shchenz.
Fri, Jun 4, 2:42 PM · Restricted Project
aeubanks requested review of D103719: [NFC][OpaquePtr] Avoid calling getPointerElementType().
Fri, Jun 4, 2:39 PM · Restricted Project
aeubanks added a reviewer for D103706: [NFC] Remove redundant variable: shchenz.
Fri, Jun 4, 11:02 AM · Restricted Project
aeubanks requested review of D103706: [NFC] Remove redundant variable.
Fri, Jun 4, 10:58 AM · Restricted Project

Thu, Jun 3

aeubanks added a comment to D61524: [BPF] Support for compile once and run everywhere.

Sorry to come to this years later, but the new intrinsics look at the base pointer's pointee type to determine size. The whole point of the opaque pointers transition is that pointee types are meaningless (this was sorta mentioned in the review comments). GEP instructions have an explicit type as part of the instruction to know what type the base pointer is pointing to. I think it's a bit harder to associate intrinsics with a type. We could have a dummy argument with an overloaded type, but that's a bit weird. Any ideas?

Thu, Jun 3, 9:43 PM · Restricted Project
aeubanks committed rG738abfdbea21: [NFC] Remove checking pointee type for byval/preallocated type (authored by aeubanks).
[NFC] Remove checking pointee type for byval/preallocated type
Thu, Jun 3, 7:10 PM
aeubanks added a comment to D103288: [SanCov] Properly set ABI parameter attributes.

I was looking back to D101713 where I found some crashing tests due to mismatched ABI attributes, specifically ones with type parameters like byval. The solution I had come up with was D101806, which was to ignore caller ABI attributes. We could also fix those crashes by also looking at the caller indirect ABI attribute type parameters.

Thu, Jun 3, 6:24 PM · Restricted Project
aeubanks reopened D100917: [NewPM] Only invalidate modified functions' analyses in CGSCC passes.

Using valgrind's massif, I profiled using clang build build PassBuilder.cpp (it's one of the longest LLVM files to compile), and at peak memory usage:

Thu, Jun 3, 4:16 PM · Restricted Project, Restricted Project
aeubanks reopened D101713: [OpaquePtr] Use ArgListEntry indirect types more in ISel lowering.
Thu, Jun 3, 3:53 PM · Restricted Project
aeubanks committed rG9255a5c1baa6: [TargetLowering] Only inspect attributes in the arguments for ArgListEntry (authored by aeubanks).
[TargetLowering] Only inspect attributes in the arguments for ArgListEntry
Thu, Jun 3, 3:52 PM
aeubanks closed D101806: [TargetLowering] Only inspect attributes in the arguments for ArgListEntry.
Thu, Jun 3, 3:52 PM · Restricted Project
aeubanks updated the diff for D101806: [TargetLowering] Only inspect attributes in the arguments for ArgListEntry.

rebase

Thu, Jun 3, 3:51 PM · Restricted Project