[PATCH] D106184: [BPF] Use elementtype attribute for preserve.array/struct.index intrinsics

2021-07-16 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks accepted this revision. aeubanks added a comment. This revision is now accepted and ready to land. awesome! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D106184/new/ https://reviews.llvm.org/D106184 ___

[PATCH] D120527: [OpaquePtr][AArch64] Use elementtype on ldxr/stxr

2022-03-09 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks updated this revision to Diff 414225. aeubanks added a comment. Herald added a project: All. address comments Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D120527/new/ https://reviews.llvm.org/D120527 Files: clang/lib/CodeGen/CGBuiltin.

[PATCH] D121167: [NewPM] Actually recompute GlobalsAA before module optimization pipeline

2022-03-14 Thread Arthur Eubanks via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG4fc7c551: [NewPM] Actually recompute GlobalsAA before module optimization pipeline (authored by aeubanks). Herald added a project: clang. Herald

[PATCH] D120527: [OpaquePtr][AArch64] Use elementtype on ldxr/stxr

2022-03-14 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks updated this revision to Diff 415137. aeubanks added a comment. update Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D120527/new/ https://reviews.llvm.org/D120527 Files: clang/lib/CodeGen/CGBuiltin.cpp clang/test/CodeGen/arm_acle.c c

[PATCH] D120527: [OpaquePtr][AArch64] Use elementtype on ldxr/stxr

2022-03-14 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added a comment. In D120527#3372092 , @dmgreen wrote: > Seems OK. Thanks for the patch. > > Do opaque pointer variants (like `i32 @llvm.aarch64.stxr.p0(i64 1, ptr > elementtype(i64) %ptr.0)`) get tested automatically from the existing tests > o

[PATCH] D120527: [OpaquePtr][AArch64] Use elementtype on ldxr/stxr

2022-03-14 Thread Arthur Eubanks via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG250620f76e07: [OpaquePtr][AArch64] Use elementtype on ldxr/stxr (authored by aeubanks). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST AC

[PATCH] D120527: [OpaquePtr][AArch64] Use elementtype on ldxr/stxr

2022-03-15 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added a comment. In D120527#3381835 , @nikic wrote: > @aeubanks Do you plan to take care of the corresponding arm intrinsics as > well? yes I'll do those Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.

[PATCH] D121847: [OpaquePtr][ARM] Use elementtype on ldrex/ldaex/stlex/strex

2022-03-16 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks created this revision. Herald added subscribers: hiraditya, kristof.beyls. Herald added a project: All. aeubanks requested review of this revision. Herald added projects: clang, LLVM. Herald added subscribers: llvm-commits, cfe-commits. Includes verifier changes checking the elementtype,

[PATCH] D121847: [OpaquePtr][ARM] Use elementtype on ldrex/ldaex/stlex/strex

2022-03-16 Thread Arthur Eubanks via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG2371c5a0e06d: [OpaquePtr][ARM] Use elementtype on ldrex/ldaex/stlex/strex (authored by aeubanks). Repository: rG LLVM Github Monorepo CHANGES SIN

[PATCH] D122046: [clang] Remove Address::deprecated from MveEmitter

2022-03-18 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks created this revision. Herald added a subscriber: dmgreen. Herald added a project: All. aeubanks requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. We have to keep track of pointer pointee types with opaque pointers. Repository: r

[PATCH] D122046: [clang] Remove Address::deprecated from MveEmitter

2022-03-18 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added a comment. I'm very out of my depth with tablegen, let me know if there's a more elegant way of doing this Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D122046/new/ https://reviews.llvm.org/D122046 _

[PATCH] D122046: [clang] Remove Address::deprecated from MveEmitter

2022-03-21 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks updated this revision to Diff 416989. aeubanks added a comment. fix dyn_cast Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D122046/new/ https://reviews.llvm.org/D122046 Files: clang/utils/TableGen/MveEmitter.cpp Index: clang/utils/Tabl

[PATCH] D122046: [clang] Remove Address::deprecated from MveEmitter

2022-03-21 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added inline comments. Comment at: clang/utils/TableGen/MveEmitter.cpp:1197 +const Type *Ty = nullptr; +if (auto *DI = dyn_cast(D->getArg(0))->getOperator()) + if (auto *PTy = dyn_cast(getType(DI, Param))) simon_tatham wrote: > dblaikie wrot

[PATCH] D122046: [clang] Remove Address::deprecated from MveEmitter

2022-03-21 Thread Arthur Eubanks via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rGb0270f6e9583: [clang] Remove Address::deprecated from MveEmitter (authored by aeubanks). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST A

[PATCH] D123547: [docs] Mention that we are in the process of removing the legacy PM for the optimization pipeline

2022-04-11 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks created this revision. aeubanks added reviewers: nikic, MaskRay. Herald added subscribers: StephenFan, awarzynski. Herald added a reviewer: ctetreau. Herald added a reviewer: ctetreau. Herald added a project: All. aeubanks requested review of this revision. Herald added projects: clang, LL

[PATCH] D123547: [docs] Mention that we are in the process of removing the legacy PM for the optimization pipeline

2022-04-11 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks updated this revision to Diff 422038. aeubanks added a comment. remove help text instead of modifying generated docs Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D123547/new/ https://reviews.llvm.org/D123547 Files: clang/include/clang/D

[PATCH] D123547: [docs] Mention that we are in the process of removing the legacy PM for the optimization pipeline

2022-04-11 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added a comment. I tried regenerating ClangCommandLineReference.rst and it's a little out of date. I'll regenerate it in a separate change Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D123547/new/ https://reviews.llvm.org/D123547 ___

[PATCH] D123547: [docs] Mention that we are in the process of removing the legacy PM for the optimization pipeline

2022-04-12 Thread Arthur Eubanks via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG9faab435a357: [docs] Mention that we are in the process of removing the legacy PM for the… (authored by aeubanks). Repository: rG LLVM Github Mono

[PATCH] D123300: [Clang] Enable opaque pointers by default

2022-04-12 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added a comment. In D123300#3446023 , @nikic wrote: > @mstorsjo Thanks! I've reduced this to a crash in `-argpromotion`: > > efine void @caller() { > call i32 @callee(ptr null) > ret void > } > > define internal void @callee(ptr

[PATCH] D123300: [Clang] Enable opaque pointers by default

2022-04-12 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added a comment. In D123300#3447116 , @maryammo wrote: > @nikic, it seems breaking the clang-ppc64le-rhel build > > htps://lab.llvm.org/buildbot/#/builders/57/builds/16776 > > Can you please take a look? should be fixed by https://github.com

[PATCH] D123737: [clang-format] Skip preprocessor lines when finding the record lbrace

2022-04-13 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks created this revision. Herald added a project: All. aeubanks requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. With D117142 , we would now format struct A { #define A void f() { a(); } #en

[PATCH] D123737: [clang-format] Skip preprocessor lines when finding the record lbrace

2022-04-14 Thread Arthur Eubanks via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rGf14ebe91c5dd: [clang-format] Skip preprocessor lines when finding the record lbrace (authored by aeubanks). Repository: rG LLVM Github Monorepo C

[PATCH] D123300: [Clang] Enable opaque pointers by default

2022-04-15 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added a comment. $ cat /tmp/a.ll target triple = "thumbv8-unknown-linux-gnueabihf" define void @zot() { bb: br label %bb1 bb1: ; preds = %bb1, %bb %tmp = phi ptr [ null, %bb ], [ %tmp2, %bb1 ] store ptr %tmp, ptr %t

[PATCH] D123300: [Clang] Enable opaque pointers by default

2022-04-15 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added a comment. Thanks! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D123300/new/ https://reviews.llvm.org/D123300 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org

[PATCH] D124036: [clang-format] Don't skip PP lines if original line was a PP line when trying to merge lines

2022-04-19 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks created this revision. Herald added a project: All. aeubanks requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. Fixes a crash introduced in D123737 where LastNonComment would be null. Repository:

[PATCH] D124036: [clang-format] Don't skip PP lines if original line was a PP line when trying to merge lines

2022-04-19 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added inline comments. Comment at: clang/unittests/Format/FormatTest.cpp:13397 + + verifyFormat("//\n" + "#define a \\\n" not sure if you'd like a better test, this was the reduced test case I got that still caused a crash Repository:

[PATCH] D124036: [clang-format] Don't skip PP lines if original line was a PP line when trying to merge lines

2022-04-20 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks updated this revision to Diff 423923. aeubanks added a comment. take suggestion Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D124036/new/ https://reviews.llvm.org/D124036 Files: clang/lib/Format/UnwrappedLineFormatter.cpp clang/unitte

[PATCH] D124036: [clang-format] Don't skip PP lines if original line was a PP line when trying to merge lines

2022-04-20 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added inline comments. Comment at: clang/lib/Format/UnwrappedLineFormatter.cpp:310-313 for (; J != AnnotatedLines.begin(); --J) -if (!(*J)->InPPDirective && (*J)->Level < TheLine->Level) +if ((TheLine->InPPDirective || !(*J)->InPPDirect

[PATCH] D124036: [clang-format] Don't skip PP lines if original line was a PP line when trying to merge lines

2022-04-20 Thread Arthur Eubanks via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG19884d62c44c: [clang-format] Don't skip PP lines if original line was a PP line when trying… (authored by aeubanks). Repository: rG LLVM Github Mo

[PATCH] D118936: [test] Remove -fno-experimental-new-pass-manager -O1 from sanitize-address-field-padding.cpp

2022-02-03 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks created this revision. aeubanks requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. -O1 doesn't seem necessary here. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D118936 Files: clang/test/CodeGen/sanitize-addres

[PATCH] D119011: [clang] Cache OpenCL types

2022-02-04 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks created this revision. Herald added subscribers: Naghasan, ldrumm, Anastasia, yaxunl. aeubanks requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. If we call CGOpenCLRuntime::convertOpenCLSpecificType() multiple times we should get the

[PATCH] D119011: [clang] Cache OpenCL types

2022-02-04 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks updated this revision to Diff 406024. aeubanks added a comment. address comments Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D119011/new/ https://reviews.llvm.org/D119011 Files: clang/lib/CodeGen/CGOpenCLRuntime.cpp clang/lib/CodeGen

[PATCH] D119011: [clang] Cache OpenCL types

2022-02-04 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added a comment. In D119011#3297305 , @Anastasia wrote: > Just to understand the intent - is this a performance optimization or > functionality fix? This is a functionality fix. > Also is there any way to test this? I came across this while w

[PATCH] D118744: [clang] Don't cache function type after clearing clang->llvm type cache

2022-02-04 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks updated this revision to Diff 406077. aeubanks added a comment. fix more issues, ready to review I've split the OpenCL change out into D119011 , will rebase once that's submitted Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https:

[PATCH] D119011: [clang] Cache OpenCL types

2022-02-07 Thread Arthur Eubanks via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG2724c153f929: [clang] Cache OpenCL types (authored by aeubanks). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.

[PATCH] D118744: [clang] Fix some clang->llvm type cache invalidation issues

2022-02-07 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks updated this revision to Diff 406504. aeubanks added a comment. rebase Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D118744/new/ https://reviews.llvm.org/D118744 Files: clang/lib/CodeGen/CGBuilder.h clang/lib/CodeGen/CGCall.cpp clan

[PATCH] D118744: [clang] Fix some clang->llvm type cache invalidation issues

2022-02-07 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added a comment. In D118744#3301977 , @rnk wrote: > This seems unfortunately complex, but I think we can live with it for a year > or two. > > Is it possible to use the compile time tracker to benchmark if this > clang->LLVM type cache actually

[PATCH] D118744: [clang] Fix some clang->llvm type cache invalidation issues

2022-02-07 Thread Arthur Eubanks via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG45084eab5e63: [clang] Fix some clang->llvm type cache invalidation issues (authored by aeubanks). Repository: rG LLVM Github Monorepo CHANGES SIN

[PATCH] D119215: [clang] Properly cache member pointer LLVM types

2022-02-07 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks created this revision. aeubanks requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. When not going through the main Clang->LLVM type cache, we'd accidentally create multiple different opaque types for a member pointer type. This allow

[PATCH] D119215: [clang] Properly cache member pointer LLVM types

2022-02-07 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks updated this revision to Diff 406705. aeubanks added a comment. update Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D119215/new/ https://reviews.llvm.org/D119215 Files: clang/lib/CodeGen/CodeGenTypes.cpp clang/lib/CodeGen/CodeGenTypes

[PATCH] D119215: [clang] Properly cache member pointer LLVM types

2022-02-08 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks updated this revision to Diff 406908. aeubanks added a comment. update Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D119215/new/ https://reviews.llvm.org/D119215 Files: clang/lib/CodeGen/CodeGenTypes.cpp clang/lib/CodeGen/CodeGenTypes

[PATCH] D119215: [clang] Properly cache member pointer LLVM types

2022-02-08 Thread Arthur Eubanks via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rGf05a63f9a09b: [clang] Properly cache member pointer LLVM types (authored by aeubanks). Changed prior to commit: https://reviews.llvm.org/D119215?v

[PATCH] D118936: [test] Remove -fno-experimental-new-pass-manager -O1 from sanitize-address-field-padding.cpp

2022-02-08 Thread Arthur Eubanks via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rGf16cc5df2288: [test] Remove -fno-experimental-new-pass-manager -O1 from sanitize-address… (authored by aeubanks). Repository: rG LLVM Github Mono

[PATCH] D119061: [Clang] noinline call site attribute

2022-02-10 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added inline comments. Comment at: clang/test/Sema/attr-noinline.cpp:14 +} + +[[clang::noinline]] static int i = bar(); // expected-error {{'noinline' attribute only applies to functions and statements}} xbolva00 wrote: > aaron.ballman wrote: > > xbolva

[PATCH] D119496: [Clang][OpaquePtr] Remove calls to deprecated Address constructor

2022-02-10 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks accepted this revision. aeubanks added a comment. This revision is now accepted and ready to land. lg, thanks! I was just looking at one of these when trying to build Chrome with opaque pointers Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org

[PATCH] D113738: [LTO] Allow passing -Os/-Oz as the optimization level

2022-02-15 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks abandoned this revision. aeubanks added a comment. I posted an RFC a while back for basically removing size levels from optimization levels but never seriously looked into it: https://groups.google.com/g/llvm-dev/c/NrZsR8OZTts/m/P5t14TKaAQAJ Repository: rG LLVM Github Monorepo CHAN

[PATCH] D124063: [LegacyPM] Rename and deprecate populateModulePassManager

2022-04-25 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added a comment. I'd first fix up as many in-tree users as nikic pointed out (I'll work on bugpoint soonish since that requires a bit more work) Comment at: llvm/include/llvm-c/Transforms/PassManagerBuilder.h:72 +#ifdef __GNUC__ +__attribute__((deprecated("Migrate to

[PATCH] D128830: [Pipelines] Introduce DAE after ArgumentPromotion

2022-07-11 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added a comment. I'd tried moving func-attrs after the function simplification pipeline and perf-wise on internal benchmarks it looks fine, but it causes some compile time regressions: https://llvm-compile-time-tracker.com/compare.php?from=d3dd6e57fe84e90cadcdc78fa71d632f6573f156&to=59

[PATCH] D128830: [Pipelines] Introduce DAE after ArgumentPromotion

2022-07-11 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added a comment. (and we should definitely separate that out into its own patch first) Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D128830/new/ https://reviews.llvm.org/D128830 ___ cfe-commits

[PATCH] D128955: [WPD] Use new llvm.public.type.test intrinsic for publicly visible classes

2022-07-12 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks updated this revision to Diff 444013. aeubanks added a comment. Herald added subscribers: MaskRay, emaste. update Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D128955/new/ https://reviews.llvm.org/D128955 Files: clang/lib/CodeGen/CGClas

[PATCH] D128955: [WPD] Use new llvm.public.type.test intrinsic for publicly visible classes

2022-07-12 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks updated this revision to Diff 444098. aeubanks added a comment. update Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D128955/new/ https://reviews.llvm.org/D128955 Files: clang/lib/CodeGen/CGClass.cpp clang/test/CodeGenCXX/thinlto-distr

[PATCH] D128830: [Pipelines] Introduce DAE after ArgumentPromotion

2022-07-12 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added a comment. I think even with the readnone -> readonly change this patch should be fine, but let me run some internal benchmarks on this patch the func-attrs change can come later Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D128830/n

[PATCH] D129700: [clang] Don't emit type tests for dllexport/import classes

2022-07-13 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks created this revision. aeubanks added reviewers: pcc, tejohnson. Herald added subscribers: ormris, steven_wu, hiraditya. Herald added a project: All. aeubanks requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. According to https://cla

[PATCH] D128955: [WPD] Use new llvm.public.type.test intrinsic for potentially publicly visible classes

2022-07-14 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks updated this revision to Diff 444706. aeubanks added a comment. make sure not to regress windows by checking HasHiddenLTOVisibility() to decide whether to emit public.type.test vs type.test Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D128

[PATCH] D128955: [WPD] Use new llvm.public.type.test intrinsic for potentially publicly visible classes

2022-07-14 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added a comment. I did verify that `-fvisibility=hidden` still devirtualizes, and same with `-Wl,--lto-whole-program-visibility`, but not if both are missing Comment at: llvm/lib/LTO/LTOBackend.cpp:595 + updatePublicTypeTestCalls(Mod, Conf.HasWholeProgramVisibility

[PATCH] D128955: [WPD] Use new llvm.public.type.test intrinsic for potentially publicly visible classes

2022-07-19 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks updated this revision to Diff 445978. aeubanks marked an inline comment as done. aeubanks added a comment. Herald added a subscriber: arphaman. update Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D128955/new/ https://reviews.llvm.org/D1289

[PATCH] D128955: [WPD] Use new llvm.public.type.test intrinsic for potentially publicly visible classes

2022-07-19 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added inline comments. Comment at: clang/test/CodeGenCXX/thinlto-distributed-type-metadata.cpp:22 // OPT-NOT: @llvm.type.test -// OPT-NOT: call void @llvm.assume // We should have only one @llvm.assume call, the one that was expanded tejohnson wrote: >

[PATCH] D128955: [WPD] Use new llvm.public.type.test intrinsic for potentially publicly visible classes

2022-07-20 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks updated this revision to Diff 446179. aeubanks added a comment. update Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D128955/new/ https://reviews.llvm.org/D128955 Files: clang/lib/CodeGen/CGClass.cpp clang/lib/CodeGen/ItaniumCXXABI.cpp

[PATCH] D128955: [WPD] Use new llvm.public.type.test intrinsic for potentially publicly visible classes

2022-07-20 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added inline comments. Comment at: llvm/lib/LTO/LTOBackend.cpp:595 + updatePublicTypeTestCalls(Mod, Conf.HasWholeProgramVisibility); + aeubanks wrote: > tejohnson wrote: > > aeubanks wrote: > > > I'm not sure where the best place to put these is > > I

[PATCH] D128955: [WPD] Use new llvm.public.type.test intrinsic for potentially publicly visible classes

2022-07-20 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks updated this revision to Diff 446269. aeubanks marked 3 inline comments as done. aeubanks added a comment. update Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D128955/new/ https://reviews.llvm.org/D128955 Files: clang/lib/CodeGen/CGClas

[PATCH] D128955: [WPD] Use new llvm.public.type.test intrinsic for potentially publicly visible classes

2022-07-20 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added a comment. the assert that there are no public.type.tests in LTT fails on `CodeGenCXX/thinlto-distributed-type-metadata.cpp`. for some reason clang doesn't go through the LTO API at [1], it just ends up calling the normal optimization pipeline. any ideas why? [1] https://github

[PATCH] D128955: [WPD] Use new llvm.public.type.test intrinsic for potentially publicly visible classes

2022-07-21 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks updated this revision to Diff 446566. aeubanks marked an inline comment as done. aeubanks added a comment. update Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D128955/new/ https://reviews.llvm.org/D128955 Files: clang/lib/CodeGen/CGClas

[PATCH] D128955: [WPD] Use new llvm.public.type.test intrinsic for potentially publicly visible classes

2022-07-21 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added a comment. In D128955#3666995 , @tejohnson wrote: > In D128955#3666830 , @aeubanks > wrote: > >> the assert that there are no public.type.tests in LTT fails on >> `CodeGenCXX/thinlto-distributed-t

[PATCH] D128955: [WPD] Use new llvm.public.type.test intrinsic for potentially publicly visible classes

2022-07-24 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks updated this revision to Diff 447170. aeubanks marked an inline comment as done. aeubanks added a comment. update Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D128955/new/ https://reviews.llvm.org/D128955 Files: clang/lib/CodeGen/CGClas

[PATCH] D128955: [WPD] Use new llvm.public.type.test intrinsic for potentially publicly visible classes

2022-07-24 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added a comment. random question, if the old API is "legacy", are there any plans to remove it? Comment at: llvm/test/LTO/X86/public-type-test.ll:3 + +; RUN: opt -module-summary %s -o %t.bc +; RUN: llvm-lto --thinlto-action=run -exported-symbol=_main %t.bc --thinlto-s

[PATCH] D128955: [WPD] Use new llvm.public.type.test intrinsic for potentially publicly visible classes

2022-07-25 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks updated this revision to Diff 447359. aeubanks added a comment. update Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D128955/new/ https://reviews.llvm.org/D128955 Files: clang/lib/CodeGen/CGClass.cpp clang/lib/CodeGen/ItaniumCXXABI.cpp

[PATCH] D128955: [WPD] Use new llvm.public.type.test intrinsic for potentially publicly visible classes

2022-07-25 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks marked an inline comment as done. aeubanks added a comment. In D128955#3676198 , @tejohnson wrote: > In D128955#3674787 , @aeubanks > wrote: > >> random question, if the old API is "legacy", are there an

[PATCH] D125425: Explicitly add -target for Windows builds in file_test_windows.c

2022-05-11 Thread Arthur Eubanks via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG8016a0e5a56b: Explicitly add -target for Windows builds in file_test_windows.c (authored by ayzhao, committed by aeubanks). Repository: rG LLVM Gi

[PATCH] D125259: [C11] Diagnose unreachable generic selection associations

2022-05-17 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added a comment. $ cat /tmp/a.cc typedef struct Test { } Test; void f() { const Test constVal; _Generic(constVal, const Test : 0); } $ ./build/rel/bin/clang -fsyntax-only -x c++ /tmp/a.cc -Wall /tmp/a.cc:6:28: warning: due to lvalue conversion of the controlling

[PATCH] D125847: LTO: Decide upfront whether to use opaque/non-opaque pointer types

2022-05-20 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added a comment. I'm still looking into a whole program devirtualization bug that only repros with opaque pointers, and there are still potential performance issues to look into Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D125847/new/ h

[PATCH] D87923: [MS] On x86_32, pass overaligned, non-copyable arguments indirectly

2020-09-21 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks accepted this revision. aeubanks added a comment. This revision is now accepted and ready to land. lgtm Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D87923/new/ https://reviews.llvm.org/D87923 _

[PATCH] D85384: [X86] Add basic support for -mtune command line option in clang

2020-08-19 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added a comment. This doesn't work with -mtune=generic (https://gcc.gnu.org/onlinedocs/gcc/x86-Options.html), can gcc compatibility be added? (https://crbug.com/1119448) Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D85384/new/ https://r

[PATCH] D85384: [X86] Add basic support for -mtune command line option in clang

2020-08-19 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added a comment. In D85384#2226866 , @craig.topper wrote: > In D85384#2226842 , @aeubanks wrote: > >> This doesn't work with -mtune=generic >> (https://gcc.gnu.org/onlinedocs/gcc/x86-Options.html), can gc

[PATCH] D87216: [NewPM] Support --print-before/after in NPM

2020-09-06 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks created this revision. Herald added subscribers: llvm-commits, cfe-commits, dexonsmith, steven_wu, hiraditya, mgorny. Herald added projects: clang, LLVM. aeubanks requested review of this revision. This changes --print-before/after to be a list of strings rather than legacy passes. (this

[PATCH] D87216: [NewPM] Support --print-before/after in NPM

2020-09-06 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks updated this revision to Diff 290159. aeubanks added a comment. remove some includes Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D87216/new/ https://reviews.llvm.org/D87216 Files: clang/lib/CodeGen/BackendUtil.cpp llvm/include/llvm/I

[PATCH] D92436: [Time-report] Add a flag -ftime-report={per-pass,per-pass-run} to control the pass timing aggregation

2020-12-07 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added inline comments. Comment at: llvm/lib/IR/PassTimingInfo.cpp:47 +cl::desc("Time each pass run, printing elapsed time for each run on exit"), +cl::callback([](const bool &) { TimePassesIsEnabled = true; })); + ychen wrote: > aeubanks wrote: >

[PATCH] D92897: Set legacy pass manager OptBisect to same as NPM OptBisect

2020-12-08 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added a comment. Thanks for looking into this! Can you upload the diff with full context (e.g. use `diff -U ` or use arcanist to upload)? Comment at: clang/lib/CodeGen/BackendUtil.cpp:1153 + // Sets legacy pass manager OptBisect to the same one as npm so passes

[PATCH] D92897: Set legacy pass manager OptBisect to same as NPM OptBisect

2020-12-08 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added a comment. Oh and in the description > This means that when using OptBisect under the NPM it runs twice when it > should only run once. doesn't really make sense. I'd say something like > e.g. -opt-bisect-limit=1 will run both the first optional optimization pass > and the firs

[PATCH] D92915: [Driver] Add -f[no-]new-pass-manager to supersede -f[no-]experimental-new-pass-manager

2020-12-09 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks accepted this revision. aeubanks added a comment. This revision is now accepted and ready to land. Makes sense to me, thanks! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D92915/new/ https://reviews.llvm.org/D92915 ___

[PATCH] D92915: [Driver] Add -f[no-]legacy-pass-manager to supersede -f[no-]experimental-new-pass-manager

2020-12-09 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added a comment. In D92915#2444242 , @MaskRay wrote: > Thanks! > > @rsmith highlit the coroutine problem > https://bugs.llvm.org/show_bug.cgi?id=48190 (" ... it breaks support for a > C++20 language feature (coroutines)") > > Perhaps this means

[PATCH] D92915: [Driver] Add -f[no-]legacy-pass-manager to supersede -f[no-]experimental-new-pass-manager

2020-12-09 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added a comment. In D92915#2444287 , @thakis wrote: > Seems to break tests: http://45.33.8.238/linux/34907/step_7.txt that test fails when the NPM is turned on and lit isn't aware of it :) Comment at: clang/include/clang/Drive

[PATCH] D93002: [NPM] Support -fmerge-functions

2020-12-09 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks created this revision. aeubanks added reviewers: ychen, asbirlea, nikic. Herald added a subscriber: hiraditya. aeubanks requested review of this revision. Herald added projects: clang, LLVM. Herald added subscribers: llvm-commits, cfe-commits. I tried to put it in the same place in the pi

[PATCH] D93002: [NPM] Support -fmerge-functions

2020-12-10 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks updated this revision to Diff 310969. aeubanks added a comment. move -O0 MergeFunctions after inlining add to LTO pipeline (matches legacy PM) Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D93002/new/ https://reviews.llvm.org/D93002 Files:

[PATCH] D93002: [NPM] Support -fmerge-functions

2020-12-10 Thread Arthur Eubanks via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rGff7e1da68f2a: [NPM] Support -fmerge-functions (authored by aeubanks). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://rev

[PATCH] D92761: [clang][AArch64][SVE] Avoid going through memory for VLAT <-> VLST casts

2020-12-11 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks resigned from this revision. aeubanks added a comment. I'm unfamiliar with this code Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D92761/new/ https://reviews.llvm.org/D92761 ___ cfe-commits mail

[PATCH] D92897: Set legacy pass manager OptBisect to same as NPM OptBisect

2020-12-11 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added inline comments. Comment at: llvm/include/llvm/IR/OptBisect.h:58 + /// Checks the bisect limit to determine if the specified pass should run. + /// This calls checkPass + bool shouldRunPass(const Pass *P, StringRef IRDescription) override; ==

[PATCH] D93458: clang-cl: Remove /Zd flag

2020-12-17 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks accepted this revision. aeubanks added a comment. This revision is now accepted and ready to land. lgtm, but perhaps Reid should take a look Comment at: clang/docs/ReleaseNotes.rst:127 + +- clang-cl's ``/Zd`` flag no longer exist. But ``-gline-tables-only`` still + ex

[PATCH] D92897: Make NPM OptBisectInstrumentation use global singleton OptBisect

2020-12-20 Thread Arthur Eubanks via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG47dbee6790cb: Make NPM OptBisectInstrumentation use global singleton OptBisect (authored by swamulism, committed by aeubanks). Repository: rG LLVM

[PATCH] D93656: Moving UniqueInternalLinkageNamesPass to the start of IR pipelines.

2020-12-22 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added inline comments. Comment at: llvm/include/llvm/Passes/PassBuilder.h:140 bool DebugLogging; + bool UniqueLinkageNames; TargetMachine *TM; This seems better suited to be part of PipelineTuningOptions rather than directly in PassBuilder Repo

[PATCH] D93656: Moving UniqueInternalLinkageNamesPass to the start of IR pipelines.

2020-12-22 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added a comment. Also it looks like this is doing 2 different things, the moving of things from Clang to LLVM's PassBuilder, and separately the change to the pass itself. Can these be separated? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.or

[PATCH] D93656: Moving UniqueInternalLinkageNamesPass to the start of IR pipelines.

2020-12-22 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added a comment. In D93656#2468834 , @hoy wrote: > In D93656#2468821 , @aeubanks wrote: > >> Also it looks like this is doing 2 different things, the moving of things >> from Clang to LLVM's PassBuilder, a

[PATCH] D93743: [NewPM] Run ObjC ARC passes

2020-12-22 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks created this revision. aeubanks added reviewers: ahatanak, ychen. Herald added a subscriber: hiraditya. aeubanks requested review of this revision. Herald added projects: clang, LLVM. Herald added subscribers: llvm-commits, cfe-commits. Match the legacy PM in running various ObjC ARC pass

[PATCH] D93743: [NewPM] Run ObjC ARC passes

2020-12-22 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added a comment. I couldn't find any existing tests that these passes run under the legacy PM. Perhaps checking the output of -debug-pass-manager is enough for a test? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D93743/new/ https://revie

[PATCH] D93656: Moving UniqueInternalLinkageNamesPass to the start of IR pipelines.

2020-12-23 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added inline comments. Comment at: clang/test/CodeGen/unique-internal-linkage-names.cpp:48-49 +// LPIPELINE: Unique Internal Linkage Names +// NPIPELINE: Running pass: UniqueInternalLinkageNamesPass // PLAIN: @_ZL4glob = internal global dblaikie wrote

[PATCH] D93656: Moving UniqueInternalLinkageNamesPass to the start of IR pipelines.

2020-12-23 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added inline comments. Comment at: clang/test/CodeGen/unique-internal-linkage-names.cpp:48-49 +// LPIPELINE: Unique Internal Linkage Names +// NPIPELINE: Running pass: UniqueInternalLinkageNamesPass // PLAIN: @_ZL4glob = internal global hoy wrote: > a

[PATCH] D93656: Moving UniqueInternalLinkageNamesPass to the start of IR pipelines.

2020-12-23 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added inline comments. Comment at: clang/test/CodeGen/unique-internal-linkage-names.cpp:48-49 +// LPIPELINE: Unique Internal Linkage Names +// NPIPELINE: Running pass: UniqueInternalLinkageNamesPass // PLAIN: @_ZL4glob = internal global dblaikie wrote

[PATCH] D93656: Moving UniqueInternalLinkageNamesPass to the start of IR pipelines.

2020-12-23 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added inline comments. Comment at: llvm/test/Transforms/UniqueLinkageNames/unique-internal-linkage-names.ll:20 + +!0 = distinct !DICompileUnit(language: DW_LANG_C99, file: !1, enums: !2) +!1 = !DIFile(filename: "test.c", directory: "") is the debug info

[PATCH] D90486: [NewPM] Add OptimizationLevel param to TargetMachine::registerPassBuilderCallbacks()

2020-11-04 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks added inline comments. Comment at: llvm/lib/Target/BPF/BPFTargetMachine.cpp:129 bool DebugPassManager) { PB.registerPipelineStartEPCallback([=](ModulePassManager &MPM) { FunctionPassManager FPM(DebugPassManager

[PATCH] D89158: [NewPM] Provide method to run all pipeline callbacks, used for -O0

2020-11-04 Thread Arthur Eubanks via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rGae3854004266: [NewPM] Provide method to run all pipeline callbacks, used for -O0 (authored by aeubanks). Changed prior to commit: https://reviews.

[PATCH] D90870: [NFC][NewPM] Reuse PassBuilder callbacks with -O0

2020-11-05 Thread Arthur Eubanks via Phabricator via cfe-commits
aeubanks created this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. aeubanks requested review of this revision. This removes lots of duplicated code which was necessary before https://reviews.llvm.org/D89158. Mostly sanitizer stuff. Repository: rG LLVM Github

<    1   2   3   4   5   6   7   8   >