[PATCH] D136497: [Clang] support for outputs along indirect edges of asm goto

2023-01-10 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 487929. nickdesaulniers added a comment. - rebase, format Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D136497/new/ https://reviews.llvm.org/D136497 Files: clang/docs/LanguageExtensions.rst

[PATCH] D137113: [Clang] refactor CodeGenFunction::EmitAsmStmt NFC

2023-01-10 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 487927. nickdesaulniers added a comment. - rebase, format Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D137113/new/ https://reviews.llvm.org/D137113 Files: clang/lib/CodeGen/CGStmt.cpp Index:

[PATCH] D104931: [AArch64] Wire up ILP32 ABI support in Clang

2022-12-22 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Herald added a project: All. The linux kernel uses a build time invocation of the compiler for feature detection of the `-mabi=lp64` command line flag, which clang-16 currently doesn't support. Looking at https://gcc.gnu.org/onlinedocs/gcc/AArch64-Options.html,

[PATCH] D140508: [clang] fix -Wuninitialized for asm goto outputs on indirect edges.

2022-12-21 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 484699. nickdesaulniers edited the summary of this revision. nickdesaulniers added a comment. - reference 3a604fdbcd5f in commit message as well Repository: rG LLVM Github

[PATCH] D140508: [clang] fix -Wuninitialized for asm goto outputs on indirect edges.

2022-12-21 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. Herald added a reviewer: NoQ. Herald added a project: All. nickdesaulniers requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. Now that we support outputs from asm goto along indirect edges, we can

[PATCH] D136497: [Clang] support for outputs along indirect edges of asm goto

2022-12-21 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Ready for review: 1. https://reviews.llvm.org/D135997 2. https://reviews.llvm.org/D140166 3. https://reviews.llvm.org/D139861 4. https://reviews.llvm.org/D139872 5. https://reviews.llvm.org/D139883 6. https://reviews.llvm.org/D139970 7.

[PATCH] D136497: [Clang] support for outputs along indirect edges of asm goto

2022-12-21 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 484678. nickdesaulniers added a comment. - add clang release notes from D138078 and new one for new feature. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D136497/new/

[PATCH] D137113: [Clang] refactor CodeGenFunction::EmitAsmStmt NFC

2022-12-21 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 484672. nickdesaulniers added a comment. - rebase Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D137113/new/ https://reviews.llvm.org/D137113 Files: clang/lib/CodeGen/CGStmt.cpp Index:

[PATCH] D136497: [Clang] support for outputs along indirect edges of asm goto

2022-12-21 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 484671. nickdesaulniers edited the summary of this revision. nickdesaulniers added a comment. - rebase, drop callbrpad inst Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D136497/new/

[PATCH] D139768: [SPARC][clang] Add SPARC target feature flags

2022-12-14 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 the patch! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D139768/new/ https://reviews.llvm.org/D139768

[PATCH] D139395: Add CFI integer types normalization

2022-12-12 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added subscribers: hjl.tools, rjmccall. nickdesaulniers added a comment. Thanks for the patch and the work on cross language CFI support! I wonder if we have precedent for other non-standard extensions to `ItaniumMangleContextImpl`? I wonder if we should perhaps have a distinct

[PATCH] D136497: [Clang] support for outputs along indirect edges of asm goto

2022-12-07 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Probably should copy the release note change from https://reviews.llvm.org/D138078. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D136497/new/ https://reviews.llvm.org/D136497

[PATCH] D136497: [Clang] support for outputs along indirect edges of asm goto

2022-12-07 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 480993. nickdesaulniers edited the summary of this revision. nickdesaulniers added a comment. - rebase, use new callbrpad inst Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D136497/new/

[PATCH] D137113: [Clang] refactor CodeGenFunction::EmitAsmStmt NFC

2022-12-07 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 480992. nickdesaulniers added a comment. - rebase Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D137113/new/ https://reviews.llvm.org/D137113 Files: clang/lib/CodeGen/CGStmt.cpp Index:

[PATCH] D138078: [SelectionDAGISel] split critical indirect edges from callbr w/ outputs

2022-11-28 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers planned changes to this revision. nickdesaulniers added inline comments. Comment at: llvm/lib/Transforms/Utils/BreakCriticalEdges.cpp:482-483 + + for (Instruction : instructions(F)) { +if (auto *CBR = dyn_cast()) { + // If the CallBrInst has no output,

[PATCH] D138078: [SelectionDAGISel] split critical indirect edges from callbr w/ outputs

2022-11-18 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 476530. nickdesaulniers retitled this revision from "[CodeGenPrepare] split critical indirect edges from callbr w/ outputs" to "[SelectionDAGISel] split critical indirect edges from callbr w/ outputs". nickdesaulniers edited the summary of this

[PATCH] D138078: [CodeGenPrepare] split critical indirect edges from callbr w/ outputs

2022-11-16 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D138078#3931843 , @arsenm wrote: > To me it sounds like the kind of issue we deal with in FinalizeISel to hack > around dag limitations I think it would be MUCH better to do this work BEFORE ISEL, otherwise in

[PATCH] D138078: [CodeGenPrepare] split critical indirect edges from callbr w/ outputs

2022-11-16 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D138078#3931247 , @nickdesaulniers wrote: > It looks like `indirectbr-expand` _is_ enabled at `-O0` and is necessary for > correctness IIUC. Thoughts on moving this there, and maybe renaming the pass > to

[PATCH] D138078: [CodeGenPrepare] split critical indirect edges from callbr w/ outputs

2022-11-16 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. > in SelectionDAGBuilder::visitCallBr So the issue I hit immediate is that the ValueMap SelectionDAG has maps the indirect destination BB to the original MBB; I can't split the edge and have the CallBrInst lower correctly to refer to the synthesized MBB. I

[PATCH] D138078: [CodeGenPrepare] split critical indirect edges from callbr w/ outputs

2022-11-16 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers planned changes to this revision. nickdesaulniers added a comment. > the question "when is the best time to split critical edges" is perhaps > important to consider. In D138078#3929590 , @efriedma wrote: > You can't put transforms

[PATCH] D138078: [CodeGenPrepare] split critical indirect edges from callbr w/ outputs

2022-11-15 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 475635. nickdesaulniers added a comment. - another typo in release notes Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D138078/new/ https://reviews.llvm.org/D138078 Files: clang/docs/ReleaseNotes.rst

[PATCH] D138078: [CodeGenPrepare] split critical indirect edges from callbr w/ outputs

2022-11-15 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 475634. nickdesaulniers added a comment. - typo, iwyu Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D138078/new/ https://reviews.llvm.org/D138078 Files: clang/docs/ReleaseNotes.rst

[PATCH] D138078: [CodeGenPrepare] split critical indirect edges from callbr w/ outputs

2022-11-15 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. nickdesaulniers added reviewers: void, jyknight, efriedma, craig.topper. Herald added subscribers: StephenFan, jdoerfert, pengfei, hiraditya. Herald added a project: All. nickdesaulniers requested review of this revision. Herald added projects: clang, LLVM.

[PATCH] D135488: [codegen] Display stack layouts in console

2022-11-15 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D135488#3928831 , @dblaikie wrote: > Any chance we could ... emit it as part of the > frame-larger-than/warn-stack-size diagnostic? This pass prints a TON of (helpful) information...we have a lot of

[PATCH] D135488: [codegen] Display stack layouts in console

2022-11-15 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D135488#3928567 , @nickdesaulniers wrote: > In D135488#3928559 , @arsenm wrote: > >> In D135488#3928557 , >> @nickdesaulniers wrote:

[PATCH] D135488: [codegen] Display stack layouts in console

2022-11-15 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D135488#3928559 , @arsenm wrote: > In D135488#3928557 , > @nickdesaulniers wrote: > >> Can we add a `Note` diagnostic when we emit a `-Wframe-larger-than=` that >> alludes to

[PATCH] D135488: [codegen] Display stack layouts in console

2022-11-15 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Can we add a `Note` diagnostic when we emit a `-Wframe-larger-than=` that alludes to re-running with `-mllvm -print-stack-frame` to get additional info? We should update the release notes of clang to mention this feature, too. Repository: rG LLVM Github

[PATCH] D137317: [X86][CET] Add Diags for targets pre to i686

2022-11-03 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D137317#3905654 , @craig.topper wrote: > In D137317#3905643 , > @nickdesaulniers wrote: > >> Seems fine, though looking at `llvm::X86::CPUKind`, why do you choose >>

[PATCH] D137317: [X86][CET] Add Diags for targets pre to i686

2022-11-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. Seems fine, though looking at `llvm::X86::CPUKind`, why do you choose `llvm::X86::CK_PentiumPro` as the lower bounds? Surely `llvm::X86::CK_Pentium2` doesn't support CET?

[PATCH] D136841: [LoongArch] Support inline asm operand modifier 'z'

2022-11-02 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D136841#3893956 , @xen0n wrote: > Inching closer to ClangBuiltLinux on LoongArch it seems! Cool! Stay in touch when this is closer to working and we'll wire up support in CI to keep the build green. Repository:

[PATCH] D136497: [Clang] support for outputs along indirect edges of asm goto

2022-10-31 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/CodeGen/CGStmt.cpp:2868-2873 + // If we happen to share the same indirect and default dest, don't re-add + // stores. That was done for the default destination in the above call to + // EmitAsmStores. +

[PATCH] D136497: [Clang] support for outputs along indirect edges of asm goto

2022-10-31 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 472152. nickdesaulniers marked an inline comment as done. nickdesaulniers added a comment. - reroll for a new sha so that phab unmarks this as "changes planned" Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D136497: [Clang] support for outputs along indirect edges of asm goto

2022-10-31 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/CodeGen/CGStmt.cpp:2868-2873 + // If we happen to share the same indirect and default dest, don't re-add + // stores. That was done for the default destination in the above call to + // EmitAsmStores. +

[PATCH] D136497: [Clang] support for outputs along indirect edges of asm goto

2022-10-31 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 472144. nickdesaulniers added a comment. - remove unnecssary asserts Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D136497/new/ https://reviews.llvm.org/D136497 Files:

[PATCH] D136497: [Clang] support for outputs along indirect edges of asm goto

2022-10-31 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/CodeGen/CGStmt.cpp:2868-2873 + // If we happen to share the same indirect and default dest, don't re-add + // stores. That was done for the default destination in the above call to + // EmitAsmStores. +

[PATCH] D136497: [Clang] support for outputs along indirect edges of asm goto

2022-10-31 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers planned changes to this revision. nickdesaulniers added inline comments. Comment at: clang/lib/CodeGen/CGStmt.cpp:2867 +for (unsigned i = 0, e = CBR->getNumIndirectDests(); i != e; ++i) { + assert(CBRRegResults[i].size() == ResultRegTypes.size()); +

[PATCH] D136497: [Clang] support for outputs along indirect edges of asm goto

2022-10-31 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 472136. nickdesaulniers added a comment. - rebase on D137113 , add comment Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D136497/new/ https://reviews.llvm.org/D136497

[PATCH] D136497: [Clang] support for outputs along indirect edges of asm goto

2022-10-31 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/CodeGen/CGStmt.cpp:2850 assert(RegResults.size() == ResultRegTypes.size()); assert(RegResults.size() == ResultTruncRegTypes.size()); nickdesaulniers wrote: > void wrote: > > Should these

[PATCH] D137113: [Clang] refactor CodeGenFunction::EmitAsmStmt NFC

2022-10-31 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 472132. nickdesaulniers added a comment. - move asserts Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D137113/new/ https://reviews.llvm.org/D137113 Files: clang/lib/CodeGen/CGStmt.cpp Index:

[PATCH] D136497: [Clang] support for outputs along indirect edges of asm goto

2022-10-31 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/CodeGen/CGStmt.cpp:2362 + // a pointer. + if (TruncTy->isFloatingPointTy()) +Tmp = Builder.CreateFPTrunc(Tmp, TruncTy); nickdesaulniers wrote: > void wrote: > > This looks like a

[PATCH] D137113: [Clang] refactor CodeGenFunction::EmitAsmStmt NFC

2022-10-31 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers planned changes to this revision. nickdesaulniers added a comment. Let me move the asserts, too. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D137113/new/ https://reviews.llvm.org/D137113

[PATCH] D136497: [Clang] support for outputs along indirect edges of asm goto

2022-10-31 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers planned changes to this revision. nickdesaulniers added a comment. In D136497#3889938 , @void wrote: > It might be easier to see the main changes here if you submit the (very nice) > refactoring of `EmitAsmStores` first. D137113

[PATCH] D137113: [Clang] refactor CodeGenFunction::EmitAsmStmt NFC

2022-10-31 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. nickdesaulniers added reviewers: void, nikic, jyknight, efriedma, craig.topper. Herald added a subscriber: StephenFan. Herald added a project: All. nickdesaulniers requested review of this revision. Herald added a project: clang. Herald added a subscriber:

[PATCH] D136707: [clang][Toolchains][Gnu] pass -gdwarf-* through to assembler

2022-10-26 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 rGad78ce44bb47: [clang][Toolchains][Gnu] pass -gdwarf-* through to assembler (authored by nickdesaulniers). Repository: rG LLVM Github Monorepo

[PATCH] D136707: [clang][Toolchains][Gnu] pass -gdwarf-* through to assembler

2022-10-26 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 470860. nickdesaulniers marked 3 inline comments as done. nickdesaulniers added a comment. - add const, fix lowerCamelCase, use Twine Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D136707/new/

[PATCH] D136707: [clang][Toolchains][Gnu] pass -gdwarf-* through to assembler

2022-10-25 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 470638. nickdesaulniers added a comment. - more refactoring Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D136707/new/ https://reviews.llvm.org/D136707 Files: clang/lib/Driver/ToolChains/Clang.cpp

[PATCH] D136707: [clang][Toolchains][Gnu] pass -gdwarf-* through to assembler

2022-10-25 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/Driver/ToolChains/CommonArgs.h:107 unsigned ParseDebugDefaultVersion(const ToolChain , const llvm::opt::ArgList ); This can be made static to the .cpp file now.

[PATCH] D136707: [clang][Toolchains][Gnu] pass -gdwarf-* through to assembler

2022-10-25 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/Driver/ToolChains/Clang.cpp:4206-4214 // If a -gdwarf argument appeared, remember it. const Arg *GDwarfN = getDwarfNArg(Args); bool EmitDwarf = false; if (GDwarfN) { if (checkDebugInfoOption(GDwarfN,

[PATCH] D136707: [clang][Toolchains][Gnu] pass -gdwarf-* through to assembler

2022-10-25 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. nickdesaulniers added reviewers: MaskRay, probinson. Herald added a subscriber: StephenFan. Herald added a project: All. nickdesaulniers requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. We've been

[PATCH] D136309: [clang][Toolchains][Gnu] pass -g through to assembler

2022-10-24 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 rGe3bb359aacdd: [clang][Toolchains][Gnu] pass -g through to assembler (authored by nickdesaulniers). Repository: rG LLVM Github Monorepo CHANGES

[PATCH] D136309: [clang][Toolchains][Gnu] pass -g through to assembler

2022-10-24 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Updating the description to note support for `-g` in gas looks like 2.16 (not 2.15) based on: $ git describe --contains 329e276daf98 --match 'bin*' binutils-2_16-branchpoint~2248 Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D136572: Harmonize cmake_policy() across standalone builds of all projects

2022-10-24 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/CMakeLists.txt:6 if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR) + # Please keep policies in sync with llvm/CMakeLists.txt. + if(POLICY CMP0114) Seems error prone. Does cmake have an include

[PATCH] D136497: [Clang] support for outputs along indirect edges of asm goto

2022-10-21 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 469782. nickdesaulniers added a comment. - update LanguageExtensions doc Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D136497/new/ https://reviews.llvm.org/D136497 Files:

[PATCH] D136497: [Clang] support for outputs along indirect edges of asm goto

2022-10-21 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Note to reviewers: I expect this to be one of a 3 part progression. 1. Fix DomTree D135997 2. Fix front end D136497 3. Fix back end (TODO) Hopefully that's it; famous last words...

[PATCH] D136497: [Clang] support for outputs along indirect edges of asm goto

2022-10-21 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 469767. nickdesaulniers added a comment. - git clang-format HEAD~ Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D136497/new/ https://reviews.llvm.org/D136497 Files: clang/lib/CodeGen/CGStmt.cpp

[PATCH] D136497: [Clang] support for outputs along indirect edges of asm goto

2022-10-21 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 469764. nickdesaulniers edited the summary of this revision. nickdesaulniers added a comment. - add note to commit message (let's see if phab captures what I wrote, used arc diff --verbatim) Repository: rG LLVM Github Monorepo CHANGES SINCE LAST

[PATCH] D136497: [Clang] support for outputs along indirect edges of asm goto

2022-10-21 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. nickdesaulniers added reviewers: nikic, void, jyknight, efriedma, craig.topper. Herald added a subscriber: StephenFan. Herald added a project: All. nickdesaulniers requested review of this revision. Herald added a project: clang. Herald added a subscriber:

[PATCH] D136309: [clang][Toolchains][Gnu] pass -g through to assembler

2022-10-20 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Looks like binutils-gdb commit 329e276daf98fb4c8b3770a6c2f02fd22472a638 ("Add support for a -g switch to GAS") added support for -g. (I think the 2.15 release) But that was in 2004; llvm commit 3db3a3b0d5c56dc7da843236e244307c4ac64860 was in 2016...

[PATCH] D136309: [clang][Toolchains][Gnu] pass -g through to assembler

2022-10-20 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 469300. nickdesaulniers added a comment. - delete test from clang/test/Driver/gcc_forward.c Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D136309/new/ https://reviews.llvm.org/D136309 Files:

[PATCH] D136309: [clang][Toolchains][Gnu] pass -g through to assembler

2022-10-20 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Hmm... looks like this regresses 3db3a3b0d5c56dc7da843236e244307c4ac64860; I wonder what PR it was referring to? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D136309/new/ https://reviews.llvm.org/D136309

[PATCH] D136309: [clang][Toolchains][Gnu] pass -g through to assembler

2022-10-20 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D136309#3871769 , @MaskRay wrote: > (Note that assembler synthesized debug info for assembly files is a very > minor feature. I don't know why the Linux kernel is so fond of it..). This is _required_ for

[PATCH] D136309: [clang][Toolchains][Gnu] pass -g through to assembler

2022-10-20 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 469280. nickdesaulniers added a comment. handle -g0 positionally Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D136309/new/ https://reviews.llvm.org/D136309 Files: clang/lib/Driver/ToolChains/Gnu.cpp

[PATCH] D136309: [clang][Toolchains][Gnu] pass -g through to assembler

2022-10-20 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D136309#3871599 , @nickdesaulniers wrote: > @MaskRay do you think I should make it so that `-g -g0` disables passing > through `-g`? Looks like this pattern can be used: if (const Arg *A =

[PATCH] D136309: [clang][Toolchains][Gnu] pass -g through to assembler

2022-10-20 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. @MaskRay do you think I should make it so that `-g -g0` disables passing through `-g`? Comment at: clang/test/Driver/as-options.s:120 + +// Test that -g is passed through to GAS. +// RUN: %clang -fno-integrated-as -g %s -### 2>&1 | \

[PATCH] D136309: [clang][Toolchains][Gnu] pass -g through to assembler

2022-10-20 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers updated this revision to Diff 469256. nickdesaulniers marked 2 inline comments as done. nickdesaulniers added a comment. - add triple, use Arg::AddLastArg Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D136309/new/

[PATCH] D136309: [clang][Toolchains][Gnu] pass -g through to assembler

2022-10-19 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. I'm probably going to do something similar for `-gdwarf-N` as a follow up. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D136309/new/ https://reviews.llvm.org/D136309 ___

[PATCH] D136309: [clang][Toolchains][Gnu] pass -g through to assembler

2022-10-19 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. nickdesaulniers added a reviewer: MaskRay. Herald added a subscriber: StephenFan. Herald added a project: All. nickdesaulniers requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. We've been working around

[PATCH] D135989: [clang][Sema] Use size of char for void types

2022-10-14 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 consider appending to the commit message something along the lines of "operations on the result of getTypeSize() are in bits, not bytes. Using 1 as the value

[PATCH] D135989: [clang][Sema] Use size of char for void types

2022-10-14 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/test/Sema/array-bounds-ptr-arith.c:14 +void* broken (struct ext2_super_block *es,int a) { + return (void *)es->s_uuid + 9; // expected-warning {{the pointer incremented by 9 refers past the end of the array (that

[PATCH] D135818: [clang] Update ASM goto documentation to reflect how Clang differs from GCC

2022-10-13 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers accepted this revision. nickdesaulniers added inline comments. This revision is now accepted and ready to land. Comment at: clang/docs/LanguageExtensions.rst:1553 + implementation`_ in + that Clang doesn't

[PATCH] D135488: [codegen][WIP] Display stack layouts in console

2022-10-12 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Playing around with `llvm-dwarfdump` today, I think I found an interesting example: Consider the following DWARF DIE: 0x00017e5e: DW_TAG_variable DW_AT_location (0x2144:

[PATCH] D135488: [codegen][WIP] Display stack layouts in console

2022-10-11 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Nice! Diff 466919 fixes up my confusion regarding Slot vs SlotID. Though I do like how the Slots are sorted, since it keeps the Offsets in order FWICT. Maybe we could drop the SlotID column, then print out Slot for the variables, rather than the SlotID? I

[PATCH] D135411: Add generic KCFI operand bundle lowering

2022-10-10 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: llvm/lib/Transforms/Instrumentation/KCFI.cpp:48-49 + SmallVector KCFICalls; + for (inst_iterator I = inst_begin(F), E = inst_end(F); I != E; ++I) { +if (auto *CI = dyn_cast(&*I)) + if

[PATCH] D135440: [SourceManager] Speedup getFileIDLocal with a separate Offset Table.

2022-10-10 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. Is it worth it and possible to fully decompose `LocalSLocEntryTable` into arrays of its constituent parts, and only construct a `SLocEntry` when necessary? I'm ok with the

[PATCH] D135488: [codegen][WIP] Display stack layouts in console

2022-10-07 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. (I totally think we should ship this, perhaps a Note: diagnostic that says to "rebuild with debug info and -fmy-new-flag-for-more-info") Probably not much precedence for those kind of warnings, but idk. Repository: rG LLVM Github Monorepo CHANGES SINCE

[PATCH] D135488: [codegen][WIP] Display stack layouts in console

2022-10-07 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Thanks for the patch, here's the output I observe from the LKML thread : https://paste.debian.net/1256338/. I think the stack slot numbers printed at the end aren't correct; the two large

[PATCH] D135440: [SourceManager] Speedup getFileIDLocal with a separate Offset Table.

2022-10-07 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/include/clang/Basic/SourceManager.h:697 + /// FileID lookup. + SmallVector LocalLocOffsetTable; nickdesaulniers wrote: > `LocalSLocEntryTable` is a vec of `SrcMgr::SLocEntry`. `SrcMgr::SLocEntry`'s >

[PATCH] D135488: [codegen][WIP] Display stack layouts in console

2022-10-07 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D135488#3843992 , @paulkirth wrote: > Roland mentioned there's probably a clever way to do this using only DWARF, > but that it's probably simpler to do in the compiler backend. That's essentially what I do in:

[PATCH] D135440: [SourceManager] Speedup getFileIDLocal with a separate Offset Table.

2022-10-07 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/include/clang/Basic/SourceManager.h:696 + /// An in-parallel SlocEntry offset table, merely used for speeding up the + /// FileID lookup. + SmallVector LocalLocOffsetTable; Add to this comment that the

[PATCH] D135411: Add generic KCFI operand bundle lowering

2022-10-07 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers accepted this revision. nickdesaulniers added inline comments. This revision is now accepted and ready to land. Comment at: llvm/lib/Transforms/Instrumentation/KCFI.cpp:48-49 + SmallVector KCFICalls; + for (inst_iterator I = inst_begin(F), E = inst_end(F); I !=

[PATCH] D135132: [SourceManager] Improve getFileIDLocal.

2022-10-06 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers accepted this revision. nickdesaulniers added inline comments. Comment at: clang/lib/Basic/SourceManager.cpp:797 + // SLocOffset. + unsigned LessIndex = 0; + // upper bound of the search range. Consider renaming this `LesserIndex` which

[PATCH] D134942: [Lex] Simplify and cleanup the updateConsecutiveMacroArgTokens implementation.

2022-10-06 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers accepted this revision. nickdesaulniers added inline comments. Comment at: clang/lib/Lex/TokenLexer.cpp:1019 + const Token ) { +return ID == SM.getFileID(T.getLocation()); + }) &&

[PATCH] D134831: [Clang][Sema] Add -Wcast-function-type-strict

2022-10-05 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. Please consider waiting until the warning flag has started propagating to branches of stable, at least to whatever branch -Werror is first enabled in. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D134831/new/

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

2022-10-04 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D20401#3833201 , @hokein wrote: >>> Meanwhile, I think besides evaluating the high level logic in in TokenLexer >>> and how it might be improved, I think there's potentially an opportunity >>> for a "AOS vs. SOA"

[PATCH] D134942: [Lex] Simplify and cleanup the updateConsecutiveMacroArgTokens implementation.

2022-10-04 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/Lex/TokenLexer.cpp:1019 +// sourcelocation-against-bounds comparison. +FileID BeginFID = SM.getFileID(BeginLoc); +SourceLocation Limit = sammccall wrote: > this getFileID() call is

[PATCH] D135090: [Clang] fix -Wvoid-ptr-dereference for gnu89

2022-10-04 Thread Nick Desaulniers via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG2dbfd06f2a8b: [Clang] fix -Wvoid-ptr-dereference for gnu89 (authored by nickdesaulniers). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D135090/new/

[PATCH] D134702: [Clang] Don't warn if deferencing void pointers in unevaluated context

2022-10-03 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/Sema/SemaExpr.cpp:14539 LangOptions LO = S.getLangOpts(); -if (LO.CPlusPlus || !(LO.C99 && IsAfterAmp)) +if (LO.CPlusPlus || !(LO.C99 && (IsAfterAmp || S.isUnevaluatedContext( S.Diag(OpLoc,

[PATCH] D135090: [Clang] fix -Wvoid-ptr-dereference for gnu89

2022-10-03 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers created this revision. nickdesaulniers added reviewers: aaron.ballman, junaire. Herald added a project: All. nickdesaulniers requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. Follow up to D134702

[PATCH] D134702: [Clang] Don't warn if deferencing void pointers in unevaluated context

2022-10-03 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/Sema/SemaExpr.cpp:14539 LangOptions LO = S.getLangOpts(); -if (LO.CPlusPlus || !(LO.C99 && IsAfterAmp)) +if (LO.CPlusPlus || !(LO.C99 && (IsAfterAmp || S.isUnevaluatedContext( S.Diag(OpLoc,

[PATCH] D134942: [Lex] Simplify and cleanup the updateConsecutiveMacroArgTokens implementation.

2022-09-30 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/Lex/TokenLexer.cpp:1008-1013 +assert(!Partition.empty() && + llvm::all_of(Partition.drop_front(), +[](const Token ) { + return SM.getFileID(( -

[PATCH] D134942: [Lex] Simplify and cleanup the updateConsecutiveMacroArgTokens implementation.

2022-09-30 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D134942#3827216 , @hokein wrote: > Some more perf data on building linux kernel (x86_64) > > before: getFileID 2.4% (1.10% on `getFileIDSlow`) > after: getFileID 2.35% (1.05% on `getFileIDSlow`) What compiler was used

[PATCH] D125142: [clang][auto-init] Deprecate -enable-trivial-auto-var-init-zero-knowing-it-will-be-removed-from-clang

2022-09-30 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added inline comments. Comment at: clang/lib/Driver/ToolChains/Clang.cpp:3464-3465 + D.Diag(diag::warn_ignored_clang_option) + << "-enable-trivial-auto-var-init-zero-knowing-it-will-be-removed-" + "from-clang"; CmdArgs.push_back(

[PATCH] D134831: [Clang][Sema] Add -Wcast-function-type-strict

2022-09-30 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. Please get the patch disabling this warning for the kernel in flight before landing this. It's going to make a lot of CI red due to kernel builds enabling `-Werror`.

[PATCH] D134454: [Driver][Distro] Fix ArchLinux sysroot detection

2022-09-30 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D134454#3824630 , @MaskRay wrote: > Another opinion is whether we actually need the more and more complex sysroot > computation logic. > Inferring sysroot from GCCInstallation looks backward to me. We should get >

[PATCH] D134337: [clang] [Driver] More flexible rules for loading default configs

2022-09-30 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D134337#3824862 , @MaskRay wrote: > It's unclear Clang wants to support GCC style specs file and whether GCC > wants to adopt another system beside its specs. > I lean toward there isn't much cooperation as we might

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

2022-09-30 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. In D20401#3824713 , @sammccall wrote: > Thanks Nick for the info! No kernel experience here, so if you have any > particular suggestions about how to measure the workload you care about it'd > be much appreciated (e.g.

[PATCH] D134671: [Driver] Prevent Mips specific code from claiming -mabi argument on other targets.

2022-09-29 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added subscribers: nathanchance, nickdesaulniers. nickdesaulniers added a comment. I don't think it's an issue for us to work around downstream, but this did regress support for `-mabi=ms` used in UEFI related build scripts. https://github.com/ClangBuiltLinux/linux/issues/1725

[PATCH] D134337: [clang] [Driver] More flexible rules for loading default configs

2022-09-29 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added a comment. It might be nice to work with `rustc` folks on the format of these configs. A frequent difficulty between Rust and C interop is the totally different command line flags necessary to compile code meant to link together and match as much of the ABI as possible.

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

2022-09-29 Thread Nick Desaulniers via Phabricator via cfe-commits
nickdesaulniers added subscribers: justinstitt, nikic, tstellar, serge-sans-paille. nickdesaulniers added a comment. In D20401#3823476 , @sammccall wrote: > In D20401#2770059 , @nickdesaulniers > wrote: > >> I

[PATCH] D134454: [Driver][Distro] Fix ArchLinux sysroot detection

2022-09-29 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. Looks great! Nice job @10ne1 . Need me to commit this for you? CHANGES SINCE LAST ACTION https://reviews.llvm.org/D134454/new/ https://reviews.llvm.org/D134454

<    1   2   3   4   5   6   7   8   9   10   >