[PATCH] D104058: ThinLTO: Fix inline assembly references to static functions with CFI

2021-07-16 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers accepted this revision. nickdesaulniers added a comment. Sorry, I always forget when these are necessary. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D104058/new/ https://reviews.llvm.org/D104058

[PATCH] D104058: ThinLTO: Fix inline assembly references to static functions with CFI

2021-07-16 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D104058#2878083 , @samitolvanen wrote: > In D104058#2877631 , > @nickdesaulniers wrote: > >> Change LGTM, but I don't understand why the following tests are modified: >> >> -

[PATCH] D106030: [Clang] add support for error+warning fn attrs

2021-07-15 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D106030#2878897 , @arsenm wrote: > Adding something to the IR for the sole purpose of producing a diagnostic > feels really weird. I'm not sure I see why the frontend can't see this > attribute and directly warn I

[PATCH] D106030: [Clang] add support for error+warning fn attrs

2021-07-14 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 358814. nickdesaulniers added a comment. - remove accidentally committed logging statement Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D106030/new/ https://reviews.llvm.org/D106030 Files:

[PATCH] D106030: [Clang] add support for error+warning fn attrs

2021-07-14 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. nickdesaulniers added reviewers: rsmith, aaron.ballman, craig.topper, efriedma, lebedev.ri, jdoerfert, arsenm. Herald added subscribers: dexonsmith, hiraditya. nickdesaulniers requested review of this revision. Herald added subscribers: llvm-commits,

[PATCH] D104058: ThinLTO: Fix inline assembly references to static functions with CFI

2021-07-14 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Change LGTM, but I don't understand why the following tests are modified: - llvm/test/ThinLTO/X86/devirt2.ll - llvm/test/Transforms/ThinLTOBitcodeWriter/split-internal2.ll - llvm/test/Transforms/ThinLTOBitcodeWriter/split-vfunc-internal.ll Repository: rG LLVM

[PATCH] D104058: ThinLTO: Fix inline assembly references to static functions with CFI

2021-06-22 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp:58-80 +std::string OldName = Name.str(); std::string NewName = (Name + ModuleId).str(); if (const auto *C = ExportGV.getComdat()) if (C->getName() == Name)

[PATCH] D104342: [IR] convert warn-stack-size from module flag to fn attr

2021-06-22 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D104342#2831738 , @dblaikie wrote: >> In D104342#2831717 , @dblaikie >> wrote: >> >>> Probably worth at least writing up the risk/instability in the docs for the >>> warning

[PATCH] D104342: [IR] convert warn-stack-size from module flag to fn attr

2021-06-21 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 353499. nickdesaulniers marked 2 inline comments as done. nickdesaulniers edited the summary of this revision. nickdesaulniers added a comment. - fix langref, delete inline and linker tests Repository: rG LLVM Github Monorepo CHANGES SINCE LAST

[PATCH] D103184: Reland "[AArch64] handle -Wa,-march="

2021-06-21 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers accepted this revision. nickdesaulniers added a comment. This revision is now accepted and ready to land. Thanks for following up on a fix! Comment at: clang/lib/Driver/ToolChains/Arch/AArch64.cpp:201-205 + // Call getAArch64ArchFeaturesFromMarch only if

[PATCH] D103184: Reland "[AArch64] handle -Wa,-march="

2021-06-21 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/Driver/ToolChains/Arch/AArch64.cpp:201-205 + // Call getAArch64ArchFeaturesFromMarch only if "-Wa,-march=" or + // "-Xassembler -march" is detected. Otherwise it may return false + // and causes Clang to error out.

[PATCH] D103184: [AArch64] handle -Wa,-march=

2021-06-21 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers requested changes to this revision. nickdesaulniers added a comment. This revision now requires changes to proceed. removing LGTM until the reland is posted for review here so we can use the history tab to observe the changes. Repository: rG LLVM Github Monorepo CHANGES

[PATCH] D104475: [Clang][Codegen] Add GNU function attribute 'no_profile' and lower it to noprofile

2021-06-21 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. It looks like GCC has had `no_profile_instrument_function` since GCC 7.1 for this purpose. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80223#c11 Follow up: https://reviews.llvm.org/D104658. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D104658: [Clang][Codegen] rename no_profile fn attr no_profile_instrument_function

2021-06-21 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. nickdesaulniers added reviewers: MaskRay, void, phosek, aaron.ballman. nickdesaulniers requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. GCC has had this function attribute since GCC 7.1 for this

[PATCH] D104656: Reland "[AArch64] handle -Wa,-march="

2021-06-21 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. > This reverts commit fd11a26d368c5a909fb88548fef2cee7a6c2c931 > Shouldn't that be `This relands commit fd11a26d368c5a909fb88548fef2cee7a6c2c931`? It's pretty hard to see what's different in

[PATCH] D104475: [Clang][Codegen] Add GNU function attribute 'no_profile' and lower it to noprofile

2021-06-18 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. rG817218336aa3e3c0ca422ae00f8d8ca41b8fbd6d follow up based on reports of test failure on mac. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D104342: [IR] convert warn-stack-size from module attr to fn attr

2021-06-18 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 353110. nickdesaulniers added a comment. - git add the Linker test! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D104342/new/ https://reviews.llvm.org/D104342 Files:

[PATCH] D104342: [IR] convert warn-stack-size from module attr to fn attr

2021-06-18 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D104342#2827847 , @dblaikie wrote: > Another thing you might want to check is linkonce_odr functions - I guess > you'll get an arbitrary choice between two linkonce_odr functions under LTO > where they have different

[PATCH] D104342: [IR] convert warn-stack-size from module attr to fn attr

2021-06-18 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 353102. nickdesaulniers added a comment. - fix lint, add linker test Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D104342/new/ https://reviews.llvm.org/D104342 Files:

[PATCH] D104475: [Clang][Codegen] Add GNU function attribute 'no_profile' and lower it to noprofile

2021-06-18 Thread Nick Desaulniers 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 rG193e41c98712: [Clang][Codegen] Add GNU function attribute no_profile and lower it to… (authored by nickdesaulniers). Repository: rG LLVM Github

[PATCH] D103958: [WIP] Support MustControl conditional control attribute

2021-06-18 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. FWIW, LWN recently published summary of some of the recent discussions on LKML: https://lwn.net/SubscriberLink/860037/aca06acfafce7937/. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D103958/new/

[PATCH] D104475: [Clang][Codegen] Add GNU function attribute 'no_profile' and lower it to noprofile

2021-06-18 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 353074. nickdesaulniers added a comment. - rename test, add __has_attribute unit test Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D104475/new/ https://reviews.llvm.org/D104475 Files:

[PATCH] D104491: [Docs][Clang][Attr] mark no_stack_protector+no_sanitize GCC compatible

2021-06-18 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers abandoned this revision. nickdesaulniers added a comment. ah, ok, then if this isn't a quick cleanup, I don't really care about this. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D104491/new/ https://reviews.llvm.org/D104491

[PATCH] D104475: [Clang][Codegen] emit noprofile IR Fn Attr for new Fn Attr no_profile

2021-06-18 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/include/clang/Basic/Attr.td:1975 + let Spellings = [Clang<"no_profile">]; + let Subjects = SubjectList<[Function]>; + let Documentation = [NoProfileDocs]; aaron.ballman wrote: > Should this also be

[PATCH] D104475: [Clang][Codegen] emit noprofile IR Fn Attr for new Fn Attr no_profile

2021-06-18 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 353061. nickdesaulniers marked an inline comment as done. nickdesaulniers added a comment. - add hyphen to docs, add boilerplate test to check Subjects. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D104475: [Clang][Codegen] emit noprofile IR Fn Attr for new Fn Attr no_profile

2021-06-17 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D104475#2825795 , @MaskRay wrote: > In D104475#2825772 , > @nickdesaulniers wrote: > >> In D104475#2825711 , @MaskRay >> wrote: >>

[PATCH] D104475: [Clang][Codegen] emit noprofile IR Fn Attr for new Fn Attr no_profile

2021-06-17 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D104475#2825711 , @MaskRay wrote: > So if we don't want to offer guarantee for IR/C/C++ attributes, we can > document that users may need to additionally specify > `__attribute__((noinline))` to suppress inlining. I

[PATCH] D104491: [Docs][Clang][Attr] mark no_stack_protector+no_sanitize GCC compatible

2021-06-17 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. nickdesaulniers added reviewers: void, melver. Herald added a reviewer: aaron.ballman. nickdesaulniers requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. GCC has supported the function attributes

[PATCH] D104475: [Clang][Codegen] emit noprofile IR Fn Attr for new Fn Attr no_profile

2021-06-17 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 352844. nickdesaulniers marked 3 inline comments as done. nickdesaulniers added a comment. - fix td files and test CHECKs Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D104475/new/

[PATCH] D104342: [IR] convert warn-stack-size from module attr to fn attr

2021-06-17 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 352841. nickdesaulniers marked an inline comment as done. nickdesaulniers added a comment. - verifier checks, inliner test, use base 10 radix Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D104342/new/

[PATCH] D104342: [IR] convert warn-stack-size from module attr to fn attr

2021-06-17 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: llvm/lib/CodeGen/PrologEpilogInserter.cpp:282 +.getValueAsString() +.getAsInteger(0, Threshold); if (StackSize > Threshold) { nickdesaulniers wrote: > dblaikie wrote: > > I guess the 0 value

[PATCH] D104342: [IR] convert warn-stack-size from module attr to fn attr

2021-06-17 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D104342#2820811 , @dblaikie wrote: > what're the rules about module level attributes like this? For instance: Does > this affect/hinder inlining (if the attributes don't match between the caller > and callee)? Other

[PATCH] D104253: [Clang][Codegen] emit noprofile IR Fn Attr for no_instrument_function Fn Attr

2021-06-17 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers abandoned this revision. nickdesaulniers added a comment. Jotting down driver to front end flag translations: -fprofile-generate -> -fprofile-instrument=llvm -fprofile-instr-generate -> -fprofile-instrument=clang -fcs-profile-generate -> -fprofile-instrument=csllvm -fprofile-arcs

[PATCH] D104475: [Clang][Codegen] emit noprofile IR Fn Attr for new Fn Attr no_profile

2021-06-17 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. nickdesaulniers added reviewers: MaskRay, melver, void, davidxl, vsk, phosek. Herald added a reviewer: aaron.ballman. Herald added subscribers: wenlei, jdoerfert. nickdesaulniers requested review of this revision. Herald added a project: clang. Herald added a

[PATCH] D104342: [IR] convert warn-stack-size from module attr to fn attr

2021-06-15 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. nickdesaulniers added reviewers: qcolombet, dblaikie. Herald added subscribers: dexonsmith, jdoerfert, pengfei, hiraditya. nickdesaulniers requested review of this revision. Herald added projects: clang, LLVM. Herald added subscribers: llvm-commits,

[PATCH] D103928: [IR] make -warn-frame-size into a module attr

2021-06-15 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: llvm/test/Linker/warn-stack-frame.ll:6 + +; CHECK-MISMATCH: error: linking module flags 'warn-stack-size': IDs have conflicting values + dblaikie wrote: > If you like, you could make this a function attribute

[PATCH] D104253: [Clang][Codegen] emit noprofile IR Fn Attr for no_instrument_function Fn Attr

2021-06-15 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 352208. nickdesaulniers added a comment. - fixup double fn attr in test as per @melver. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D104253/new/ https://reviews.llvm.org/D104253 Files:

[PATCH] D104253: [Clang][Codegen] emit noprofile IR Fn Attr for no_instrument_function Fn Attr

2021-06-14 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D104253#2817695 , @MaskRay wrote: > `__attribute__((no_instrument_function))` seems specific to > `-finstrument-functions`. Somehow `gcc -pg` uses it as well. > > The name may not be generic, so it may be odd to

[PATCH] D104253: [Clang][Codegen] emit noprofile IR Fn Attr for no_instrument_function Fn Attr

2021-06-14 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 351960. nickdesaulniers added a comment. - rename new test from fprofile-generate.c to fprofile-instrument.c; -fprofile-generate is the driver opt, -fprofile-instrument is the frontend opt. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST

[PATCH] D104253: [Clang][Codegen] emit noprofile IR Fn Attr for no_instrument_function Fn Attr

2021-06-14 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 351956. nickdesaulniers added a comment. - add -disable-llvm-passes to unit test Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D104253/new/ https://reviews.llvm.org/D104253 Files:

[PATCH] D104253: [Clang][Codegen] emit noprofile IR Fn Attr for no_instrument_function Fn Attr

2021-06-14 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. nickdesaulniers added reviewers: MaskRay, melver, void. Herald added a subscriber: wenlei. nickdesaulniers requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. noprofile IR attribute already exists to

[PATCH] D103184: [AArch64] handle -Wa,-march=

2021-06-11 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D103184#2813748 , @thakis wrote: > In D103184#2804241 , @jcai19 wrote: > >> In D103184#2803768 , @thakis wrote: >> >>> FWIW the

[PATCH] D103928: [IR] make -warn-frame-size into a module attr

2021-06-11 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. FWIW, it was pointed out to me that the commit message doesn't precisely match the actual attribute name. The actual attribute name is `warn-stack-size`, but the commit message uses `-warn-frame-size`. Oh well. Repository: rG LLVM Github Monorepo CHANGES

[PATCH] D103928: [IR] make -warn-frame-size into a module attr

2021-06-10 Thread Nick Desaulniers 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 rGfc018ebb608e: [IR] make -warn-frame-size into a module attr (authored by nickdesaulniers). Repository: rG LLVM Github Monorepo CHANGES SINCE

[PATCH] D103928: [IR] make -warn-frame-size into a module attr

2021-06-10 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 351250. nickdesaulniers marked an inline comment as done. nickdesaulniers added a comment. - move driver test from clang/test/Frontend/ to clang/test/Driver/, update comment, clarify TODOs Repository: rG LLVM Github Monorepo CHANGES SINCE LAST

[PATCH] D103928: [IR] make -warn-frame-size into a module attr

2021-06-09 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 351008. nickdesaulniers added a comment. - add `<` to same comment Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D103928/new/ https://reviews.llvm.org/D103928 Files:

[PATCH] D103928: [IR] make -warn-frame-size into a module attr

2021-06-09 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 351007. nickdesaulniers added a comment. - update comment in clang/include/clang/Basic/CodeGenOptions.def Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D103928/new/ https://reviews.llvm.org/D103928

[PATCH] D103928: [IR] make -warn-frame-size into a module attr

2021-06-09 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 351006. nickdesaulniers edited the summary of this revision. nickdesaulniers added a comment. - introduce -fwarn-stack-size Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D103928/new/

[PATCH] D103958: [WIP] Support MustControl conditional control attribute

2021-06-09 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. The first talk from https://www.youtube.com/watch?v=FFjV9f_Ub9o (https://github.com/ClangBuiltLinux/plumbers-2020-slides/blob/master/LPC_2020_--_Dependency_ordering.pdf) might be helpful to link to at some point from the commit message, for a little additional

[PATCH] D103928: [IR] make -warn-frame-size into a module attr

2021-06-08 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 350719. nickdesaulniers added a comment. - add CHECK to llvm/test/Linker/warn-stack-frame.ll Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D103928/new/ https://reviews.llvm.org/D103928 Files:

[PATCH] D103928: [IR] make -warn-frame-size into a module attr

2021-06-08 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/include/clang/Driver/Options.td:2575-2581 // These "special" warning flags are effectively processed as f_Group flags by the driver: // Just silence warnings about -Wlarger-than for now. def Wlarger_than_EQ :

[PATCH] D103928: [IR] make -warn-frame-size into a module attr

2021-06-08 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. nickdesaulniers added reviewers: tejohnson, rsmith. Herald added subscribers: dexonsmith, dang, pengfei, hiraditya. nickdesaulniers requested review of this revision. Herald added projects: clang, LLVM. Herald added subscribers: llvm-commits, cfe-commits.

[PATCH] D103048: [IR] make -stack-alignment= into a module attr

2021-06-08 Thread Nick Desaulniers 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 rG3787ee457173: reland [IR] make -stack-alignment= into a module attr (authored by nickdesaulniers). Repository: rG LLVM Github Monorepo CHANGES

[PATCH] D103048: [IR] make -stack-alignment= into a module attr

2021-06-08 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. I've retested with all backends enabled; all green now. Changes added to: - llvm/lib/Target/Mips/MipsCallLowering.cpp - llvm/lib/Target/Mips/MipsTargetMachine.cpp - llvm/test/CodeGen/Mips/stack-alignment.ll Planning to recommit now. Repository: rG LLVM

[PATCH] D103048: [IR] make -stack-alignment= into a module attr

2021-06-08 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 350660. nickdesaulniers added a comment. This revision is now accepted and ready to land. Herald added subscribers: atanasyan, sdardis. - fixes for MIPS Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D103048: [IR] make -stack-alignment= into a module attr

2021-06-08 Thread Nick Desaulniers 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 rG433c8d950cb3: [IR] make -stack-alignment= into a module attr (authored by nickdesaulniers). Repository: rG LLVM Github Monorepo CHANGES SINCE

[PATCH] D103048: [IR] make -stack-alignment= into a module attr

2021-06-08 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Thanks for the review! Notified downstream dependents: - https://github.com/llvm-hs/llvm-hs/issues/345 - https://github.com/halide/Halide/issues/6079 Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D103048/new/

[PATCH] D103048: [IR] make -stack-alignment= into a module attr

2021-06-07 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 350443. nickdesaulniers added a comment. - remove test for module without module attr Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D103048/new/ https://reviews.llvm.org/D103048 Files:

[PATCH] D103851: [IR] make a new ModFlagBehavior that errors when a module attribute is missing

2021-06-07 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. See also: https://reviews.llvm.org/D103048#2804089 Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D103851/new/ https://reviews.llvm.org/D103851 ___ cfe-commits mailing

[PATCH] D103048: [IR] make -stack-alignment= into a module attr

2021-06-07 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: llvm/test/Linker/stack-alignment.ll:11 +;--- main.ll +; NONE: error: linking module flags 'override-stack-alignment': IDs have conflicting values +; CHECK-16: error: linking module flags 'override-stack-alignment': IDs have

[PATCH] D103851: [IR] make a new ModFlagBehavior that errors when a module attribute is missing

2021-06-07 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers abandoned this revision. nickdesaulniers added a comment. Not planning on shipping this, just a demonstration. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D103851/new/ https://reviews.llvm.org/D103851

[PATCH] D103851: [IR] make a new ModFlagBehavior that errors when a module attribute is missing

2021-06-07 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. Herald added a reviewer: deadalnix. Herald added subscribers: dexonsmith, hiraditya. nickdesaulniers requested review of this revision. Herald added projects: clang, LLVM. Herald added subscribers: llvm-commits, cfe-commits. Promote override-stack-alignment

[PATCH] D103048: [IR] make -stack-alignment= into a module attr

2021-06-07 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D103048#2795456 , @tejohnson wrote: >> Curiously, using ModFlagBehavior::Error doesn't error if one of two modules >> being linked together doesn't have such a module level attribute. > > Yeah, there's a Require

[PATCH] D103184: [AArch64] handle -Wa,-march=

2021-06-07 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D103184#2803513 , @thakis wrote: > This breaks tests on arm macs: http://45.33.8.238/macm1/10931/step_7.txt >> clang: error: the clang compiler does not support '-Wa,--version' Wouldn't that be

[PATCH] D103184: [AArch64] handle -Wa,-march=

2021-06-04 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers accepted this revision. nickdesaulniers added a comment. This revision is now accepted and ready to land. That looks better, thanks @jcai19 . Based on @DavidSpickett 's LGTM I think this is now ready to land. @DavidSpickett did ask: > Also please include in the commit message

[PATCH] D103184: [AArch64] handle -Wa,-march=

2021-06-04 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers requested changes to this revision. nickdesaulniers added inline comments. This revision now requires changes to proceed. Comment at: clang/test/Driver/aarch64-target-as-march.s:29 +// RUN: FileCheck --check-prefix=MULTIPLE-VALUES %s + +// MULTIPLE-VALUES:

[PATCH] D103184: [AArch64] handle -Wa,-march=

2021-06-03 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers accepted this revision. nickdesaulniers added a comment. This revision is now accepted and ready to land. LGTM; any additional thoughts @DavidSpickett ? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D103184/new/

[PATCH] D103184: [AArch64] handle -Wa,-march=

2021-06-02 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/test/Driver/aarch64-target-as-march.s:20-25 +/// No unused argument warnings when there are multiple values +// RUN: %clang --target=aarch64-linux-gnueabi -### -c -Wa,-march=armv8.1-a -Wa,-march=armv8.2-a %s 2>&1 | \ +//

[PATCH] D103184: [AArch64] handle -Wa,-march=

2021-06-01 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/test/Driver/aarch64-target-as-march.s:4 + +/// The last -march wins, and is handled before -Wa,march. All the values of -Wa,march options are added. +// RUN: %clang --target=aarch64-linux-gnueabi -### -c

[PATCH] D103048: [IR] make -stack-alignment= into a module attr

2021-06-01 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. bumping for review (or suggestions of additional reviewers) Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D103048/new/ https://reviews.llvm.org/D103048 ___ cfe-commits

[PATCH] D103048: [IR] make -stack-alignment= into a module attr

2021-05-24 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. nickdesaulniers added reviewers: tejohnson, craig.topper, RKSimon. Herald added subscribers: dexonsmith, pengfei, hiraditya, qcolombet. nickdesaulniers requested review of this revision. Herald added projects: clang, LLVM. Herald added subscribers:

[PATCH] D103036: [cfe][inline-asm] Support target-specific escaped character in inline asm

2021-05-24 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers accepted this revision. nickdesaulniers added a comment. This revision is now accepted and ready to land. LGTM; please fix up minor nits. Thanks for the patch! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D103036/new/

[PATCH] D103036: [cfe][inline-asm] Support target-specific escaped character in inline asm

2021-05-24 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/include/clang/Basic/TargetInfo.h:1094-1095 + // Replace some escaped characters with another string based on + // target-specific rules + virtual llvm::Optional handleAsmEscapedChar(char C) const {

[PATCH] D102742: [IR] make stack-protector-guard-* flags into module attrs

2021-05-21 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/include/clang/Driver/Options.td:3429 HelpText<"Use the given reg for addressing the stack-protector guard">, - MarshallingInfoString, [{"none"}]>; + MarshallingInfoString>; def mfentry : Flag<["-"], "mfentry">,

[PATCH] D102742: [IR] make stack-protector-guard-* flags into module attrs

2021-05-21 Thread Nick Desaulniers via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG033138ea452f: [IR] make stack-protector-guard-* flags into module attrs (authored by nickdesaulniers). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D102742: [IR] make stack-protector-guard-* flags into module attrs

2021-05-21 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 347130. nickdesaulniers added a comment. - moved module attr mismatch test to llvm/test/Linker/ Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D102742/new/ https://reviews.llvm.org/D102742 Files:

[PATCH] D102742: [IR] make stack-protector-guard-* flags into module attrs

2021-05-21 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: llvm/test/LTO/AArch64/stack-protector-guard-module-attrs.ll:2-5 +; RUN: not llvm-link %t/a.ll %t/b.ll 2>&1 | FileCheck --check-prefix=CHECK-KIND %s +; RUN: not llvm-link %t/c.ll %t/d.ll 2>&1 | FileCheck --check-prefix=CHECK-REG

[PATCH] D102742: [IR] make stack-protector-guard-* flags into module attrs

2021-05-21 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/include/clang/Driver/Options.td:3429 HelpText<"Use the given reg for addressing the stack-protector guard">, - MarshallingInfoString, [{"none"}]>; + MarshallingInfoString>; def mfentry : Flag<["-"], "mfentry">,

[PATCH] D102742: [IR] make stack-protector-guard-* flags into module attrs

2021-05-21 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: llvm/test/LTO/AArch64/stack-protector-guard-module-attrs.ll:2-5 +; RUN: not llvm-link %t/a.ll %t/b.ll 2>&1 | FileCheck --check-prefix=CHECK-KIND %s +; RUN: not llvm-link %t/c.ll %t/d.ll 2>&1 | FileCheck --check-prefix=CHECK-REG

[PATCH] D102742: [IR] make stack-protector-guard-* flags into module attrs

2021-05-21 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 347124. nickdesaulniers added a comment. Herald added a subscriber: steven_wu. - add llvm/tests/LTO/AArch64/ and test case for module attr mismatch. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D102742: [IR] make stack-protector-guard-* flags into module attrs

2021-05-21 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers planned changes to this revision. nickdesaulniers added a comment. Will work on explicit LTO tests. Comment at: clang/include/clang/Driver/Options.td:3429 HelpText<"Use the given reg for addressing the stack-protector guard">, - MarshallingInfoString,

[PATCH] D102742: [IR] make stack-protector-guard-* flags into module attrs

2021-05-21 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 347113. nickdesaulniers marked 2 inline comments as done. nickdesaulniers added a comment. - doxygen comments, test that module flags aren't emitted without flags Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D102742: [IR] make stack-protector-guard-* flags into module attrs

2021-05-21 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D102742#2774562 , @tejohnson wrote: > In D102742#2774185 , > @nickdesaulniers wrote: > >> - upgrade module merge strategy to Error > > Probably want a test using llvm-link or

[PATCH] D102742: [IR] make stack-protector-guard-* flags into module attrs

2021-05-21 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D102742#2773954 , @tejohnson wrote: > In D102742#2767569 , > @nickdesaulniers wrote: > >> Obviously needs work/cleanup, changes to x86, and tests, but posting for >> early

[PATCH] D102742: [IR] make stack-protector-guard-* flags into module attrs

2021-05-21 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 347068. nickdesaulniers added a comment. - upgrade module merge strategy to Error Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D102742/new/ https://reviews.llvm.org/D102742 Files:

[PATCH] D102742: [IR] make stack-protector-guard-* flags into module attrs

2021-05-20 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 346800. nickdesaulniers added a comment. - fix lints Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D102742/new/ https://reviews.llvm.org/D102742 Files: clang/include/clang/Driver/Options.td

[PATCH] D20401: [Lexer] Don't merge macro args from different macro files

2021-05-19 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. I know this was sped up slightly in 3339c568c43e4644f02289e5edfc78c860f19c9f, but this change makes `updateConsecutiveMacroArgTokens` the hottest function in clang in a bottom up profile of an entire build of the Linux kernel. It thrashes the one entry

[PATCH] D102805: [M68k] Allow user to preserve certain registers

2021-05-19 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Please fix up the linter warnings; LGTM. Comment at: llvm/lib/Target/M68k/M68kRegisterInfo.cpp:137 + // Registers reserved by users + for (size_t Reg = 0; Reg < getNumRegs(); ++Reg) { +if (MF.getSubtarget().isRegisterReservedByUser(Reg))

[PATCH] D102585: [M68k] Support inline asm operands w/ simple constraints

2021-05-19 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Looking good @myhsu . Also, I got your LLVM book recently! You'll need to sign it for me at the next llvm conf in person. Comment at: clang/lib/Basic/Targets/M68k.cpp:197-199 +std::string R = std::string("^") + std::string(Constraint,

[PATCH] D102742: [IR] make stack-protector-guard-* flags into module attrs

2021-05-19 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 346585. nickdesaulniers added a comment. - remove spurious comment Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D102742/new/ https://reviews.llvm.org/D102742 Files:

[PATCH] D102742: [IR] make stack-protector-guard-* flags into module attrs

2021-05-19 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 346584. nickdesaulniers added a comment. Herald added a subscriber: dang. - add cc1 test Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D102742/new/ https://reviews.llvm.org/D102742 Files:

[PATCH] D102742: [IR] make stack-protector-guard-* flags into module attrs

2021-05-19 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: llvm/include/llvm/IR/Module.h:898 + // enum class StackProtectorGuards { None, TLS, Global, SysReg }; + StringRef getStackProtectorGuard() const; TODO: delete this comment Repository: rG LLVM Github

[PATCH] D102742: [IR] make stack-protector-guard-* flags into module attrs

2021-05-19 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers planned changes to this revision. nickdesaulniers added inline comments. Comment at: clang/lib/CodeGen/CodeGenModule.cpp:776-783 + if (getCodeGenOpts().StackProtectorGuard != "") +getModule().setStackProtectorGuard(getCodeGenOpts().StackProtectorGuard); +

[PATCH] D102742: [IR] make stack-protector-guard-* flags into module attrs

2021-05-19 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 346573. nickdesaulniers added a comment. Herald added a subscriber: pengfei. - remove TargetOption members, update tests Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D102742/new/

[PATCH] D102568: [Driver] Delete -mimplicit-it=

2021-05-19 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D102568#2768224 , @mstorsjo wrote: > I would request that this commit should be reverted. Sure, @MaskRay would you mind reverting? > But this change did break my build in these places: >

[PATCH] D102742: [IR] make stack-protector-guard-* flags into module attrs

2021-05-18 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers planned changes to this revision. nickdesaulniers added a comment. Obviously needs work/cleanup, changes to x86, and tests, but posting for early feedback about module level attributes vs function level attributes, or possibly something else. I tested this quickly with thin LTO

[PATCH] D102742: [IR] make stack-protector-guard-* flags into module attrs

2021-05-18 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. nickdesaulniers added reviewers: MaskRay, pcc, xiangzhangllvm. Herald added subscribers: dexonsmith, hiraditya, kristof.beyls. nickdesaulniers requested review of this revision. Herald added projects: clang, LLVM. Herald added subscribers: llvm-commits,

[PATCH] D101327: [Clang][Driver] validate sysregs for -mstack-protector-guard-reg=

2021-05-17 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers abandoned this revision. nickdesaulniers added a comment. I don't plan to land this; I wrote it in case it comes up in code review. llvm's codegen will `report_fatal_error` for garbage sysregs. If it comes up again in the future, this phab review will still exist for

[PATCH] D100919: [AArch64] Support customizing stack protector guard

2021-05-17 Thread Nick Desaulniers 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 rG0f417789192e: [AArch64] Support customizing stack protector guard (authored by nickdesaulniers). Repository: rG LLVM Github Monorepo CHANGES

[PATCH] D100919: [AArch64] Support customizing stack protector guard

2021-05-17 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers marked an inline comment as done. nickdesaulniers added a comment. Appreciate the reviews; ++beers_owed; Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D100919/new/ https://reviews.llvm.org/D100919

<    4   5   6   7   8   9   10   11   12   13   >