Page MenuHomePhabricator

nickdesaulniers (Nick Desaulniers)
Google

Projects

User does not belong to any projects.

User Details

User Since
Apr 13 2018, 4:23 PM (103 w, 4 d)

Recent Activity

Today

nickdesaulniers added a comment to D77701: [Sema] refactor static functions into private methods NFC.

OTOH, this is reasonable, NFC, and I tend to agree about it being a code smell.
OTOH, this makes parsing Sema.h that much slower and adds even more text for us to wade through in that header file.

Given that the approaches are equivalent except for smell and that Sema.h is already 12kLoC long, I would rather leave this as-is or possibly even see us go in the opposite direction and use static functions whenever there's a private function only used in a single .cpp file and making it static doesn't make it overly awkward for some reason.

Wed, Apr 8, 9:12 AM · Restricted Project

Yesterday

nickdesaulniers created D77701: [Sema] refactor static functions into private methods NFC.
Tue, Apr 7, 7:04 PM · Restricted Project
nickdesaulniers added a comment to D77611: [Sema] Check calls to __attribute__((warn_unused_result)) from StmtExprs.

Looks like GCC warns on everything but the last unused expression (the last one being the return statement) - only warning on that last one if it's ultimately unused by the statement expression function call, as it were (& is annotated warn_unused_result). Basically, it models it like a function in a way that Clang perhaps does not?

Tue, Apr 7, 4:22 PM · Restricted Project
nickdesaulniers retitled D77611: [Sema] Check calls to __attribute__((warn_unused_result)) from StmtExprs from [Sema] fix -Wunused-result in StmtExpr to [Sema] Check calls to __attribute__((warn_unused_result)) from StmtExprs.
Tue, Apr 7, 3:16 PM · Restricted Project
nickdesaulniers updated the diff for D77611: [Sema] Check calls to __attribute__((warn_unused_result)) from StmtExprs.
  • tighten up condition, eagerly emit diag, test with kernel before pushing
Tue, Apr 7, 3:16 PM · Restricted Project
nickdesaulniers added inline comments to D77611: [Sema] Check calls to __attribute__((warn_unused_result)) from StmtExprs.
Tue, Apr 7, 2:43 PM · Restricted Project
nickdesaulniers updated the diff for D77611: [Sema] Check calls to __attribute__((warn_unused_result)) from StmtExprs.
  • emit warning just for CallExprs
Tue, Apr 7, 2:42 PM · Restricted Project
nickdesaulniers added a comment to D71082: Allow system header to provide their own implementation of some builtin.

It'd be nice if the kernel's FORTIFY were more like all of the other existing ones in this way.

Tue, Apr 7, 11:55 AM · Restricted Project
nickdesaulniers added a comment to D77611: [Sema] Check calls to __attribute__((warn_unused_result)) from StmtExprs.

Note your test case is related to -Wunused-value, mine is -Wunused-result (via the use of __attribute__((warn_result_unused)) which we should always warn about.

Tue, Apr 7, 11:55 AM · Restricted Project

Mon, Apr 6

nickdesaulniers created D77611: [Sema] Check calls to __attribute__((warn_unused_result)) from StmtExprs.
Mon, Apr 6, 5:29 PM · Restricted Project
nickdesaulniers planned changes to D77611: [Sema] Check calls to __attribute__((warn_unused_result)) from StmtExprs.

ah, using this to build a Linux kernel triggers tons of warnings. So the behavior of GCC is even more subtle than captured in the test cases here.

Mon, Apr 6, 5:29 PM · Restricted Project
nickdesaulniers committed rG41ba80182cc2: [CallSite Removal] a CallBase is never an IndirectCall for isInlineAsm (authored by nickdesaulniers).
[CallSite Removal] a CallBase is never an IndirectCall for isInlineAsm
Mon, Apr 6, 4:23 PM
nickdesaulniers closed D77600: [CallSite Removal] a CallBase is never an IndirectCall for isInlineAsm.
Mon, Apr 6, 4:23 PM · Restricted Project
nickdesaulniers updated the diff for D77600: [CallSite Removal] a CallBase is never an IndirectCall for isInlineAsm.
  • actually compile test the change...
Mon, Apr 6, 4:22 PM · Restricted Project
nickdesaulniers accepted D72194: [MC][ELF] Ensure that mergeable globals with an explicit section are assigned to SHF_MERGE sections with compatible entsizes.

interdiff LGTM, please wait for @efriedma 's feedback, too before landing. Thanks for this improvement!

Mon, Apr 6, 4:21 PM · Restricted Project
nickdesaulniers added a reviewer for D72194: [MC][ELF] Ensure that mergeable globals with an explicit section are assigned to SHF_MERGE sections with compatible entsizes: efriedma.
Mon, Apr 6, 4:21 PM · Restricted Project
nickdesaulniers updated the diff for D77600: [CallSite Removal] a CallBase is never an IndirectCall for isInlineAsm.
  • touch fewer lines as per Bill
Mon, Apr 6, 4:21 PM · Restricted Project
nickdesaulniers updated the summary of D77600: [CallSite Removal] a CallBase is never an IndirectCall for isInlineAsm.
Mon, Apr 6, 3:49 PM · Restricted Project
nickdesaulniers updated the diff for D77600: [CallSite Removal] a CallBase is never an IndirectCall for isInlineAsm.
  • simplify function
Mon, Apr 6, 3:49 PM · Restricted Project
nickdesaulniers planned changes to D77600: [CallSite Removal] a CallBase is never an IndirectCall for isInlineAsm.
Mon, Apr 6, 3:48 PM · Restricted Project
nickdesaulniers updated the summary of D77600: [CallSite Removal] a CallBase is never an IndirectCall for isInlineAsm.
Mon, Apr 6, 3:48 PM · Restricted Project
nickdesaulniers created D77600: [CallSite Removal] a CallBase is never an IndirectCall for isInlineAsm.
Mon, Apr 6, 3:48 PM · Restricted Project
nickdesaulniers committed rG5bc291be7154: [SelectionDAG] fix predecessor list for INLINEASM_BRs' parent (authored by nickdesaulniers).
[SelectionDAG] fix predecessor list for INLINEASM_BRs' parent
Mon, Apr 6, 2:11 PM
nickdesaulniers closed D76961: [SelectionDAG] fix predecessor list for INLINEASM_BRs' parent.
Mon, Apr 6, 2:11 PM · Restricted Project
nickdesaulniers accepted D77463: [ARM] Remove condition that could never be true.

Thanks for the citation. I verified in https://static.docs.arm.com/ddi0487/fa/DDI0487F_a_armv8_arm.pdf pdf page 4449 that <Rt> must be even-numbered and not R14.

Mon, Apr 6, 10:18 AM · Restricted Project

Fri, Apr 3

nickdesaulniers updated the diff for D76961: [SelectionDAG] fix predecessor list for INLINEASM_BRs' parent.
  • add period to end of comment.
Fri, Apr 3, 5:21 PM · Restricted Project
nickdesaulniers added inline comments to D76961: [SelectionDAG] fix predecessor list for INLINEASM_BRs' parent.
Fri, Apr 3, 5:21 PM · Restricted Project
nickdesaulniers updated the diff for D76961: [SelectionDAG] fix predecessor list for INLINEASM_BRs' parent.
  • update comment- update comment- update comment- update comment- update comment- update comment- update comment- update comment- update comment
Fri, Apr 3, 5:21 PM · Restricted Project
nickdesaulniers updated the summary of D76961: [SelectionDAG] fix predecessor list for INLINEASM_BRs' parent.
Fri, Apr 3, 3:11 PM · Restricted Project
nickdesaulniers updated the summary of D76961: [SelectionDAG] fix predecessor list for INLINEASM_BRs' parent.
Fri, Apr 3, 3:11 PM · Restricted Project
nickdesaulniers updated the diff for D76961: [SelectionDAG] fix predecessor list for INLINEASM_BRs' parent.
  • drop verifier checks, fix typos
Fri, Apr 3, 3:11 PM · Restricted Project
nickdesaulniers committed rG9d9b8a20a8b0: [test] preformat test with update_llc_test_checks.py NFC (authored by nickdesaulniers).
[test] preformat test with update_llc_test_checks.py NFC
Fri, Apr 3, 2:09 PM
nickdesaulniers closed D77356: [test] preformat test with update_llc_test_checks.py NFC.
Fri, Apr 3, 2:08 PM · Restricted Project
nickdesaulniers retitled D76961: [SelectionDAG] fix predecessor list for INLINEASM_BRs' parent from [SelectionDAG] fix predeccessor list for INLINEASM_BRs' parent to [SelectionDAG] fix predecessor list for INLINEASM_BRs' parent.
Fri, Apr 3, 12:25 PM · Restricted Project
nickdesaulniers added inline comments to D76961: [SelectionDAG] fix predecessor list for INLINEASM_BRs' parent.
Fri, Apr 3, 12:25 PM · Restricted Project
nickdesaulniers updated subscribers of D76961: [SelectionDAG] fix predecessor list for INLINEASM_BRs' parent.
Fri, Apr 3, 11:53 AM · Restricted Project

Thu, Apr 2

nickdesaulniers updated the summary of D76961: [SelectionDAG] fix predecessor list for INLINEASM_BRs' parent.
Thu, Apr 2, 7:32 PM · Restricted Project
nickdesaulniers added a parent revision for D76961: [SelectionDAG] fix predecessor list for INLINEASM_BRs' parent: D77356: [test] preformat test with update_llc_test_checks.py NFC.
Thu, Apr 2, 7:32 PM · Restricted Project
nickdesaulniers added a child revision for D77356: [test] preformat test with update_llc_test_checks.py NFC: D76961: [SelectionDAG] fix predecessor list for INLINEASM_BRs' parent.
Thu, Apr 2, 7:32 PM · Restricted Project
nickdesaulniers removed a parent revision for D77356: [test] preformat test with update_llc_test_checks.py NFC: D76961: [SelectionDAG] fix predecessor list for INLINEASM_BRs' parent.
Thu, Apr 2, 7:32 PM · Restricted Project
nickdesaulniers removed a child revision for D76961: [SelectionDAG] fix predecessor list for INLINEASM_BRs' parent: D77356: [test] preformat test with update_llc_test_checks.py NFC.
Thu, Apr 2, 7:32 PM · Restricted Project
nickdesaulniers requested review of D76961: [SelectionDAG] fix predecessor list for INLINEASM_BRs' parent.
Thu, Apr 2, 7:32 PM · Restricted Project
nickdesaulniers added a parent revision for D77356: [test] preformat test with update_llc_test_checks.py NFC: D76961: [SelectionDAG] fix predecessor list for INLINEASM_BRs' parent.
Thu, Apr 2, 7:32 PM · Restricted Project
nickdesaulniers updated the diff for D76961: [SelectionDAG] fix predecessor list for INLINEASM_BRs' parent.
  • redo everything
Thu, Apr 2, 7:32 PM · Restricted Project
nickdesaulniers retitled D76961: [SelectionDAG] fix predecessor list for INLINEASM_BRs' parent from [BranchFolder] don't remove MBB's that have their address taken to [SelectionDAG] fix predeccessor list for INLINEASM_BRs' parent.
Thu, Apr 2, 7:32 PM · Restricted Project
nickdesaulniers added a child revision for D76961: [SelectionDAG] fix predecessor list for INLINEASM_BRs' parent: D77356: [test] preformat test with update_llc_test_checks.py NFC.
Thu, Apr 2, 7:32 PM · Restricted Project
nickdesaulniers updated the diff for D77356: [test] preformat test with update_llc_test_checks.py NFC.
  • forgot to rebuild all of llvm before run of update_llc_test_checks.py
Thu, Apr 2, 7:32 PM · Restricted Project
nickdesaulniers updated the summary of D77356: [test] preformat test with update_llc_test_checks.py NFC.
Thu, Apr 2, 7:32 PM · Restricted Project
nickdesaulniers created D77356: [test] preformat test with update_llc_test_checks.py NFC.
Thu, Apr 2, 7:00 PM · Restricted Project
nickdesaulniers added a comment to D76961: [SelectionDAG] fix predecessor list for INLINEASM_BRs' parent.

FWIW: this is the current state of the patch: https://github.com/ClangBuiltLinux/llvm-project/commit/21a14be632072013a2800f8747154ca1a271d3b6

Thu, Apr 2, 6:27 PM · Restricted Project
nickdesaulniers added a comment to D76961: [SelectionDAG] fix predecessor list for INLINEASM_BRs' parent.

@void would you be opposed to me posting a patch first that preprocessed llvm/test/CodeGen/X86/callbr-asm-outputs.ll with llvm/utils/update_llc_test_checks.py?

I find updating these tests with lots of checks to be a PITA, and it make it easier to maintain this test in the future and see what changed easier with my change.

Yeah, go for it.

Thu, Apr 2, 6:27 PM · Restricted Project
nickdesaulniers added a comment to D76961: [SelectionDAG] fix predecessor list for INLINEASM_BRs' parent.

Ok, everything is green now, kernel boots. (There's probably more verification I can do, too).

Thu, Apr 2, 4:50 PM · Restricted Project
nickdesaulniers added a comment to D76961: [SelectionDAG] fix predecessor list for INLINEASM_BRs' parent.

Ok, I think I have a fix in hand; it's still regressing the existing test, but I think it's more along the lines of the above changes regarding Address of block that was removed by CodeGen vs Block address taken and I don't have the below diff in this new branch I'm working out of yet, but need to double check. It is now producing valid predecessors and successors, and verifies that.

Thu, Apr 2, 3:44 PM · Restricted Project
nickdesaulniers added a comment to D77330: Consider increasing the default ARM32 page size to 64k..

From the mailing list:

Thu, Apr 2, 1:33 PM · Restricted Project, lld
nickdesaulniers added a comment to D76961: [SelectionDAG] fix predecessor list for INLINEASM_BRs' parent.

Just a status update; yesterday I found/observed how the phi nodes get emitted from selectiondag. This morning I've found a fix for the mangled phi node, but that regresses other phi nodes in the test case. I think I understand why, and will continue to investigate further, but I'm going for a smoke to contemplate. I didn't smoke before this bug.

Thu, Apr 2, 1:33 PM · Restricted Project

Tue, Mar 31

nickdesaulniers added a comment to D76961: [SelectionDAG] fix predecessor list for INLINEASM_BRs' parent.

Everything looks good. I don't understand why INLINEASM_BR isn't the terminal instruction of bb.0. Isn't it marked a terminator in llvm/include/llvm/Target/Target.td line 1021? I also also don't understand why the MachineBasicBlock has a terminators method plural? I thought all blocks have 1 and only 1 terminal instruction?

Tue, Mar 31, 6:44 PM · Restricted Project
nickdesaulniers accepted D72194: [MC][ELF] Ensure that mergeable globals with an explicit section are assigned to SHF_MERGE sections with compatible entsizes.

Anyways, tests are now green for me, and I'm happy with the patch. Thanks for all of the work that went into this @bd1976llvm . It doesn't really matter to me which way we resolve the above comment about echo.

Tue, Mar 31, 1:44 PM · Restricted Project
nickdesaulniers added a comment to D72194: [MC][ELF] Ensure that mergeable globals with an explicit section are assigned to SHF_MERGE sections with compatible entsizes.

Split testing of error and output to defeat redirection race.

Tue, Mar 31, 1:07 PM · Restricted Project

Mon, Mar 30

nickdesaulniers added a comment to D76961: [SelectionDAG] fix predecessor list for INLINEASM_BRs' parent.

Probably in InstrEmitter::EmitSpecialNode.

We normally construct the MachineFunction CFG much earlier; see SelectionDAGBuilder::visitCallBr.

It looks like the problem is that we split the "block" into two MBBs, and the successors end up attached to the second block, instead of the first. Not sure where that happens, off the top of my head.

I think this is what's going on in ScheduleDAGSDNodes::EmitSchedule; the results of the before/after split don't look quite right in terms of pred/succ lists, but I've got to dig more into this tomorrow.

Mon, Mar 30, 5:29 PM · Restricted Project
nickdesaulniers added a comment to D76961: [SelectionDAG] fix predecessor list for INLINEASM_BRs' parent.

Probably in InstrEmitter::EmitSpecialNode.

We normally construct the MachineFunction CFG much earlier; see SelectionDAGBuilder::visitCallBr.

It looks like the problem is that we split the "block" into two MBBs, and the successors end up attached to the second block, instead of the first. Not sure where that happens, off the top of my head.

Mon, Mar 30, 4:57 PM · Restricted Project
nickdesaulniers committed rGf0869417652f: [SelectionDAGISel] small cleanup to INLINEASM_BR selection. NFC (authored by nickdesaulniers).
[SelectionDAGISel] small cleanup to INLINEASM_BR selection. NFC
Mon, Mar 30, 3:52 PM
nickdesaulniers closed D77100: [SelectionDAGISel] small cleanup to INLINEASM_BR selection. NFC.
Mon, Mar 30, 3:52 PM · Restricted Project
nickdesaulniers created D77100: [SelectionDAGISel] small cleanup to INLINEASM_BR selection. NFC.
Mon, Mar 30, 3:51 PM · Restricted Project
nickdesaulniers added a comment to D76961: [SelectionDAG] fix predecessor list for INLINEASM_BRs' parent.

Ok, so I don't think this is generally the case, as we could have a MachineOperand to the INLINEASM_BR that is a blockaddress, yet is not a successor

Even if there isn't any way to tell the difference from the INLINEASM_BR instruction at the moment, we could change that.

Mon, Mar 30, 3:19 PM · Restricted Project
nickdesaulniers added a comment to D76961: [SelectionDAG] fix predecessor list for INLINEASM_BRs' parent.

So I think we need to fix up ISEL to properly set successors and predecessors for MachineBasicBlocks that are terminated by INLINEASM_BR MachineInstrs. Does that sound right, @void @efriedma ?

Mon, Mar 30, 3:17 PM · Restricted Project
nickdesaulniers added a comment to D76961: [SelectionDAG] fix predecessor list for INLINEASM_BRs' parent.
  1. all MachineBasicBlocks that are targets of INLINEASM_BR should have the INLINEASM_BR's parent MachineBasicBlock in their list of predacessors. This is the invariant that's violated in the above test case.
Mon, Mar 30, 3:16 PM · Restricted Project
nickdesaulniers added a comment to D76961: [SelectionDAG] fix predecessor list for INLINEASM_BRs' parent.
  1. implement separate machine verifier checks for:
    1. all MachineBasicBlocks with INLINEASM_BR terminators should have the targets of the INLINEASM_BR in their list of successors.
Mon, Mar 30, 2:11 PM · Restricted Project
nickdesaulniers planned changes to D76961: [SelectionDAG] fix predecessor list for INLINEASM_BRs' parent.

An INLINEASM_BR edge should count as a predecessor, yes; if that edge is missing, something went wrong.

Mon, Mar 30, 10:49 AM · Restricted Project

Fri, Mar 27

nickdesaulniers added a comment to D76962: [MC] Parse directives with arguments as macro arguments.

Thanks for the patch!

Fri, Mar 27, 6:12 PM · Restricted Project
nickdesaulniers created D76961: [SelectionDAG] fix predecessor list for INLINEASM_BRs' parent.
Fri, Mar 27, 5:39 PM · Restricted Project
nickdesaulniers added a comment to D72194: [MC][ELF] Ensure that mergeable globals with an explicit section are assigned to SHF_MERGE sections with compatible entsizes.

Patch looks good with everything I was able to throw at it; let's get that test fixed up so we don't land new tests that are red, and we should be good to go here.

Fri, Mar 27, 1:10 PM · Restricted Project
nickdesaulniers added a comment to D72194: [MC][ELF] Ensure that mergeable globals with an explicit section are assigned to SHF_MERGE sections with compatible entsizes.

Cool thanks for addition; finding and fixing things in code review is better than having patches reverted.

Fri, Mar 27, 12:01 PM · Restricted Project

Wed, Mar 25

nickdesaulniers added inline comments to D72194: [MC][ELF] Ensure that mergeable globals with an explicit section are assigned to SHF_MERGE sections with compatible entsizes.
Wed, Mar 25, 6:25 PM · Restricted Project
nickdesaulniers added inline comments to D72194: [MC][ELF] Ensure that mergeable globals with an explicit section are assigned to SHF_MERGE sections with compatible entsizes.
Wed, Mar 25, 5:53 PM · Restricted Project

Tue, Mar 24

nickdesaulniers added inline comments to D72194: [MC][ELF] Ensure that mergeable globals with an explicit section are assigned to SHF_MERGE sections with compatible entsizes.
Tue, Mar 24, 3:39 PM · Restricted Project

Fri, Mar 20

nickdesaulniers added a comment to D6379: Only warn about DWARF2 supporting one section per compilation unit for code sections.

So I rebased this, wrote tests that pass, then tried it on my kernel and...it didn't lower the warning count any. So I probably won't be pursing this revision further. Seems that most of our out of line assembly uses .section/.pushsection for progbits (or unspecified, which I guess defaults to progbits), but is all compiled with -Wa,-gdwarf-2.

Fri, Mar 20, 6:27 PM
nickdesaulniers updated subscribers of D6379: Only warn about DWARF2 supporting one section per compilation unit for code sections.

Looks like d306c3cec2605ae9100248e6ac097d0325e8aae8 added some tests for r211273 (8b273086176081c4fa803ebb2c09211f0318a73f). cc @olista01 @ostannard

Fri, Mar 20, 3:12 PM
nickdesaulniers added a comment to D6379: Only warn about DWARF2 supporting one section per compilation unit for code sections.

Hello, we're hitting this issue when assembling the Linux kernel with Clang (https://github.com/ClangBuiltLinux/linux/issues/716). I'd be happy to dust this off/rebase and add tests. @dim would you prefer to do it or shall I?

Fri, Mar 20, 3:12 PM
nickdesaulniers added inline comments to D72194: [MC][ELF] Ensure that mergeable globals with an explicit section are assigned to SHF_MERGE sections with compatible entsizes.
Fri, Mar 20, 11:23 AM · Restricted Project
nickdesaulniers added a comment to D75428: [MC][ARM] add implicit immediate form for ldrsbt/ldrht/ldrsht.

I only use arc for:

  1. pushing changes to phabricator via arc diff. When I make changes in response to code review, I git commit -a --amend, or squash multiple patches all into one, then run arc.
  2. fetching changes from phabricator via arc patch D<12345> to either commit, or help test.
Fri, Mar 20, 10:49 AM · Restricted Project

Thu, Mar 19

nickdesaulniers added a comment to D75428: [MC][ARM] add implicit immediate form for ldrsbt/ldrht/ldrsht.

When I merge changes, I do:

Thu, Mar 19, 4:27 PM · Restricted Project
nickdesaulniers accepted D75815: [InstCombine] Simplify calls with "returned" attribute.

From a testing perspective, LGTM. I was able to build+boot a 4.4 aarch64 Linux kernel built with clang with this patch applied! Thank you.

Thu, Mar 19, 3:54 PM · Restricted Project
nickdesaulniers added a comment to D75815: [InstCombine] Simplify calls with "returned" attribute.

Thanks for the modifications, I'm happy to give this a shot and report back, if you would kindly mind waiting to submit this on that report? I'll take care of this now.

Thu, Mar 19, 3:54 PM · Restricted Project

Wed, Mar 18

nickdesaulniers removed a reviewer for D75098: Add TCOPY, a terminator form of the COPY instr: nickdesaulniers.
Wed, Mar 18, 4:19 PM · Restricted Project

Tue, Mar 17

nickdesaulniers committed rG5d90f886bc02: [clang][AArch64] readd support for 'p' inline asm constraint (authored by nickdesaulniers).
[clang][AArch64] readd support for 'p' inline asm constraint
Tue, Mar 17, 11:17 AM
nickdesaulniers closed D76297: [clang][AArch64] readd support for 'p' inline asm constraint.
Tue, Mar 17, 11:17 AM · Restricted Project
nickdesaulniers added inline comments to D76297: [clang][AArch64] readd support for 'p' inline asm constraint.
Tue, Mar 17, 10:43 AM · Restricted Project
nickdesaulniers added a comment to D76297: [clang][AArch64] readd support for 'p' inline asm constraint.

@sdesmalen sorry, would you mind re-reviewing. I'm not comfortable landing with the previous version being reviewed and not the current one.

Tue, Mar 17, 10:43 AM · Restricted Project
nickdesaulniers updated the diff for D76297: [clang][AArch64] readd support for 'p' inline asm constraint.
  • fix 'U' case
Tue, Mar 17, 10:10 AM · Restricted Project
nickdesaulniers added inline comments to D76297: [clang][AArch64] readd support for 'p' inline asm constraint.
Tue, Mar 17, 10:10 AM · Restricted Project
nickdesaulniers created D76297: [clang][AArch64] readd support for 'p' inline asm constraint.
Tue, Mar 17, 10:10 AM · Restricted Project

Mon, Mar 16

nickdesaulniers added a comment to D75428: [MC][ARM] add implicit immediate form for ldrsbt/ldrht/ldrsht.

Hi @falstaff84 , do you need help committing this?

Mon, Mar 16, 4:57 PM · Restricted Project
nickdesaulniers updated the summary of D76096: [clang] allow const structs to be constant expressions in initializer lists.
Mon, Mar 16, 4:24 PM · Restricted Project
nickdesaulniers added a comment to D75815: [InstCombine] Simplify calls with "returned" attribute.

Apologies for the revert, but thank you @thakis for it. If you need help testing an updated V2, I'd be happy to help.

Mon, Mar 16, 1:40 PM · Restricted Project
nickdesaulniers added a comment to D75580: [llvm][CodeGen][SVE] Implement IR intrinsics for gather prefetch..

Hello! Thanks for this patch. In release builds, I'm seeing lots of warnings that:

Mon, Mar 16, 1:07 PM · Restricted Project

Fri, Mar 13

nickdesaulniers added a comment to D75815: [InstCombine] Simplify calls with "returned" attribute.

Hello, it seems that this patch is causing a compiler crash for us when building a 4.4 Linux kernel.
https://github.com/ClangBuiltLinux/linux/issues/930
It appears to cause a crash during inlining, though I just run opt -inline <module before inlining from -O2> I don't observe the crash. I assume there's some analysis pass I need to run first? opt -instsimplify -inline also didn't seem to work, though opt -O2 does. See link above for steps to reproduce and most concise reproducer I could come up with.

Fri, Mar 13, 7:26 PM · Restricted Project
nickdesaulniers added a comment to D76096: [clang] allow const structs to be constant expressions in initializer lists.

it's substantially more efficient for CodeGen to walk the AST representation (the InitListExpr) and directly generate an IR constant than it is to create an APValue representation of the array. (APValue is not especially space-efficient, and the extra copying and data shuffling can be quite slow.)

Fri, Mar 13, 4:13 PM · Restricted Project
nickdesaulniers updated the diff for D76096: [clang] allow const structs to be constant expressions in initializer lists.
  • add support for compile time arrays
Fri, Mar 13, 4:13 PM · Restricted Project
nickdesaulniers added inline comments to D76096: [clang] allow const structs to be constant expressions in initializer lists.
Fri, Mar 13, 11:17 AM · Restricted Project
nickdesaulniers added a comment to D76096: [clang] allow const structs to be constant expressions in initializer lists.
Fri, Mar 13, 11:17 AM · Restricted Project