Page MenuHomePhabricator

lattner (Chris Lattner)
User

Projects

User does not belong to any projects.

User Details

User Since
Jun 28 2016, 7:50 PM (195 w, 6 d)

Recent Activity

Mon, Mar 23

lattner committed rG4a219bf7ff6f: Fix a bug in the .mlir lexer, where a \0 character in a file is treated as a… (authored by lattner).
Fix a bug in the .mlir lexer, where a \0 character in a file is treated as a…
Mon, Mar 23, 5:59 PM
lattner closed D76647: Fix a bug in the .mlir lexer, where a \0 character in a file is treated as a colon (due to an accidental fall through) instead of whitespace..
Mon, Mar 23, 5:59 PM · Restricted Project
lattner added a comment to D76647: Fix a bug in the .mlir lexer, where a \0 character in a file is treated as a colon (due to an accidental fall through) instead of whitespace..

Thank you for the review River!

Mon, Mar 23, 5:59 PM · Restricted Project
lattner created D76647: Fix a bug in the .mlir lexer, where a \0 character in a file is treated as a colon (due to an accidental fall through) instead of whitespace..
Mon, Mar 23, 3:48 PM · Restricted Project
lattner committed rG42d8f48ccfcd: Fix a warning building on my machine, NFC. warning: unused function… (authored by lattner).
Fix a warning building on my machine, NFC. warning: unused function…
Mon, Mar 23, 11:28 AM
lattner closed D76627: Fix a warning building on my machine, NFC. warning: unused function 'compilePtxToCubinForTesting'.
Mon, Mar 23, 11:28 AM · Restricted Project
lattner created D76627: Fix a warning building on my machine, NFC. warning: unused function 'compilePtxToCubinForTesting'.
Mon, Mar 23, 10:21 AM · Restricted Project
lattner committed rG596da62d21ed: Add support for custom op parser/printer hooks to know about result names. (authored by lattner).
Add support for custom op parser/printer hooks to know about result names.
Mon, Mar 23, 9:16 AM
lattner closed D76205: Add support for custom op parser/printer hooks to know about result names..
Mon, Mar 23, 9:16 AM · Restricted Project
lattner added a comment to D76205: Add support for custom op parser/printer hooks to know about result names..

Patch landed here, thanks!
https://github.com/llvm/llvm-project/commit/596da62d21ede197dd95eca5146d2ddf0497275c

Mon, Mar 23, 9:14 AM · Restricted Project

Fri, Mar 20

lattner updated the diff for D76205: Add support for custom op parser/printer hooks to know about result names..

Incorporate all the great suggestions from River's review.

Fri, Mar 20, 3:12 PM · Restricted Project
lattner added a comment to D76205: Add support for custom op parser/printer hooks to know about result names..

Thank you so much for the fantastic review River! I've incorporated all of the suggested changes. I'll wait for Mehdi's ack before landing since he expressed concerns on the discourse thread. Thanks!

Fri, Mar 20, 3:12 PM · Restricted Project
lattner updated the diff for D76205: Add support for custom op parser/printer hooks to know about result names..

Fix a bug that Mehdi noticed in patch review in getResultName(). Expand
the testcase to handle and show the multiresult case explicitly, testing
the fix. Add a new OpAsmParser::getNumResults() method.

Fri, Mar 20, 11:55 AM · Restricted Project
lattner added a reviewer for D76205: Add support for custom op parser/printer hooks to know about result names.: mehdi_amini.

Thank you again so much for noticing this bug Mehdi. I've expanded out the test dialect op to be more interesting (allowing testing the multi-result case). I believe this is ready for review again, thanks!

Fri, Mar 20, 11:55 AM · Restricted Project

Thu, Mar 19

lattner added inline comments to D76205: Add support for custom op parser/printer hooks to know about result names..
Thu, Mar 19, 1:08 PM · Restricted Project

Wed, Mar 18

lattner added a comment to D76205: Add support for custom op parser/printer hooks to know about result names..

Ok, this patch is good to go, @rriddle can you take a look when you get a chance?

Wed, Mar 18, 11:19 PM · Restricted Project
lattner updated the diff for D76205: Add support for custom op parser/printer hooks to know about result names..

Fix a clang tidy warning, fix the memory issue that caused it to fail on some builders not others.

Wed, Mar 18, 11:19 PM · Restricted Project
lattner updated the diff for D76205: Add support for custom op parser/printer hooks to know about result names..

Remove the test logic. This patch is good to review.

Wed, Mar 18, 9:42 PM · Restricted Project
lattner updated the diff for D76205: Add support for custom op parser/printer hooks to know about result names..

Change to raw_string_ostream to see if it fixes the linux builder, also
add some debug info to catch the problem if it doesn't work.

Wed, Mar 18, 9:09 PM · Restricted Project

Sun, Mar 15

lattner added a comment to D76205: Add support for custom op parser/printer hooks to know about result names..

Ok, build 53570 looks like it has two unrelated failures, but the parser.mlir failure does look like a problem. This:

Sun, Mar 15, 8:24 PM · Restricted Project
lattner created D76205: Add support for custom op parser/printer hooks to know about result names..
Sun, Mar 15, 5:42 PM · Restricted Project

Thu, Mar 12

lattner committed rGe0a93cea56eb: incorporate feedback from River. (authored by lattner).
incorporate feedback from River.
Thu, Mar 12, 10:37 PM
lattner committed rG89ecd8c149e4: Teach the MLIR AsmPrinter to correctly escape asm names that use invalid… (authored by lattner).
Teach the MLIR AsmPrinter to correctly escape asm names that use invalid…
Thu, Mar 12, 10:37 PM
lattner closed D75919: Teach the MLIR AsmPrinter to correctly escape asm names that use invalid characters..
Thu, Mar 12, 10:36 PM · Restricted Project
lattner added a comment to D75919: Teach the MLIR AsmPrinter to correctly escape asm names that use invalid characters..

Thanks River!

Thu, Mar 12, 10:36 PM · Restricted Project
lattner resigned from D75169: [ARM] Enforcing calling convention for half-precision FP arguments and returns for big-endian AArch32.

I'm not a qualified reviewer for this at this point.

Thu, Mar 12, 7:04 PM · Restricted Project

Wed, Mar 11

lattner added a comment to D75919: Teach the MLIR AsmPrinter to correctly escape asm names that use invalid characters..

River, does this patch LGTY? It is pretty straight-forward.

Wed, Mar 11, 5:03 PM · Restricted Project

Tue, Mar 10

lattner added a comment to D75919: Teach the MLIR AsmPrinter to correctly escape asm names that use invalid characters..

Also, what about using a string as the escape mechanism?

Tue, Mar 10, 11:00 PM · Restricted Project
lattner added a comment to D75919: Teach the MLIR AsmPrinter to correctly escape asm names that use invalid characters..

Who should own the complexity (and the definition of what a valid asm name is): the core, or all clients?

Tue, Mar 10, 11:00 PM · Restricted Project
lattner created D75919: Teach the MLIR AsmPrinter to correctly escape asm names that use invalid characters..
Tue, Mar 10, 6:25 AM · Restricted Project

Thu, Mar 5

lattner committed rGc2b2472ca8c3: Fix a warning about an unreachable default in a switch statement. (authored by lattner).
Fix a warning about an unreachable default in a switch statement.
Thu, Mar 5, 8:46 AM
lattner closed D75663: Fix a warning about an unreachable default in a switch statement..
Thu, Mar 5, 8:45 AM · Restricted Project
lattner updated the diff for D75663: Fix a warning about an unreachable default in a switch statement..

Avoid warning for other compilers.

Thu, Mar 5, 8:45 AM · Restricted Project

Wed, Mar 4

lattner created D75663: Fix a warning about an unreachable default in a switch statement..
Wed, Mar 4, 10:18 PM · Restricted Project
lattner edited reviewers for D75663: Fix a warning about an unreachable default in a switch statement., added: rriddle; removed: jahira8434.
Wed, Mar 4, 10:18 PM · Restricted Project
lattner added reviewers for D75663: Fix a warning about an unreachable default in a switch statement.: mehdi_amini, jpienaar, jahira8434.
Wed, Mar 4, 10:18 PM · Restricted Project

Tue, Mar 3

lattner added a comment to D74415: [ADT] Implement the Waymarking as an independent utility.

Cool. Do you have time to review this patch for Ehud? he's been very patiently pinging

Tue, Mar 3, 1:14 PM · Restricted Project
lattner added a comment to D74415: [ADT] Implement the Waymarking as an independent utility.

This question would be best for River. MLIR is using a simpler approach, it isn't clear to me whether Waymarking would be worth it, but it should be possible to benchmark it now.

Tue, Mar 3, 9:39 AM · Restricted Project

Feb 28 2020

lattner added a comment to D74801: [ADT][NFC] SCCIterator: Change hasLoop() to hasCycle().

I'd be happy to help fix that problem. Please take a look at the llvm developer policy. :-)

Feb 28 2020, 11:30 AM · Restricted Project, Restricted Project

Feb 27 2020

lattner added a comment to D74415: [ADT] Implement the Waymarking as an independent utility.

Hi Ehud,

Feb 27 2020, 9:18 PM · Restricted Project
lattner accepted D74801: [ADT][NFC] SCCIterator: Change hasLoop() to hasCycle().

Seems fine to me.

Feb 27 2020, 9:18 PM · Restricted Project, Restricted Project
lattner added a reviewer for D74415: [ADT] Implement the Waymarking as an independent utility: rriddle.

+River in case you're interested in this.

Feb 27 2020, 9:18 PM · Restricted Project

Feb 19 2020

lattner accepted D69868: Allow "callbr" to return non-void values.

I'm super excited to see this progress towards supporting 'asm goto' with results! Great work!

Feb 19 2020, 10:34 PM · Restricted Project, Restricted Project

Feb 15 2020

lattner accepted D51664: [IR] Lazily number instructions for local dominance queries.

I haven't carefully reviewed the patch, but I think this is the right thing to do architecturally for the compiler. Thank you for driving this Reid. I'd appreciate it if someone could scrutinize the patch though!

Feb 15 2020, 12:00 PM · Restricted Project

Feb 13 2020

lattner accepted D74538: [doc] Clarify responsibility for fixing experimental target problems.

Very nice, please correct the CMAKE variable or, better yet, just drop the explicit mention of the flag to pass). I really appreciate that you are improving our policies!

Feb 13 2020, 3:45 PM · Restricted Project

Jan 12 2020

lattner added a comment to D72468: Update the attribution policy to use the 'Author' property of a git commit.

This looks great!

Jan 12 2020, 9:45 PM · Restricted Project
lattner added a reviewer for D72468: Update the attribution policy to use the 'Author' property of a git commit: lattner.
Jan 12 2020, 9:45 PM · Restricted Project

Jan 9 2020

lattner added a comment to D72467: Remove "mask" operand from shufflevector..

The big question here, of course, is "do we want to do this?", and if we do, "do we want to do this now?".

Jan 9 2020, 3:34 PM · Restricted Project, Restricted Project
lattner added a comment to D71636: [AArch64][SVE][WIP] Add support for vscale constants (?).

If shuffle masks are no longer IR entities, this means ruling out computed shuffle masks in the future, which are available on some targets (X86). Whether we want computed shuffle masks at all is a different question.

Yes, this is kind of a decision point: either we allow computed shufflemasks, or we get rid of the operand altogether. Or we can introduce some intrinsics and put off the decision, I guess.

I don't think there's much incentive to support computed shuffle masks. Yes, x86 has pshufb, but that doesn't generalize to other element widths/two source vectors/etc. easily. And there aren't very many practical use cases for computed shuffles in automatic vectorization.

If we allow computed shuffle masks, there's also the minor complication that we'd have to change shufflevector to produce poison, not undef, for undef indexes. But we can likely change that with some work...

Jan 9 2020, 3:28 PM · Restricted Project

Jan 7 2020

lattner added a comment to D68203: Add support for (expressing) vscale..

I'm not a comptent reviewer on the details for this whole patch, but the general intrinsic approach LGTM!

Jan 7 2020, 10:24 PM · Restricted Project

Dec 26 2019

lattner accepted D71916: High-Level Code-Review Documentation Update.

This looks really great to me, thank you for driving this! I'd recommend giving this a couple of days for others to comment (as the doc itself suggest :-), given the global nature of the change. Thanks!

Dec 26 2019, 8:10 PM · Restricted Project

Dec 23 2019

A. Unique TensorFlower <gardener@tensorflow.org> committed rG31a003dc3c17: Introduce the ability for "isolated from above" ops to introduce shadowing… (authored by lattner).
Introduce the ability for "isolated from above" ops to introduce shadowing…
Dec 23 2019, 8:49 PM
A. Unique TensorFlower <gardener@tensorflow.org> committed rG40fc948e55c3: ODS: Round out the definitions of the common integer attributes sizes, adding… (authored by lattner).
ODS: Round out the definitions of the common integer attributes sizes, adding…
Dec 23 2019, 8:45 PM
A. Unique TensorFlower <gardener@tensorflow.org> committed rGa477fbaf40b6: Improve support for opaque types in MLIR, allowing dialects to opt into… (authored by lattner).
Improve support for opaque types in MLIR, allowing dialects to opt into…
Dec 23 2019, 8:44 PM
A. Unique TensorFlower <gardener@tensorflow.org> committed rG75ae06acf315: Trivial typo in comment fix. (authored by lattner).
Trivial typo in comment fix.
Dec 23 2019, 8:33 PM

Dec 19 2019

lattner added a comment to D71636: [AArch64][SVE][WIP] Add support for vscale constants (?).

What's the advantage of a redundant way to represent the same thing? LLVM could have a 'sizeof' ConstantExpr for example, but never did (people use the same gep trick). It is generally good to have fewer more canonical ways to represent a thing if possible.

Dec 19 2019, 4:20 PM · Restricted Project

Dec 18 2019

lattner added a comment to D71636: [AArch64][SVE][WIP] Add support for vscale constants (?).

My current thinking for shuffles is that we shouldn't represent the shuffle mask of shufflevector as a Constant at all. Currently, we basically treat it as an ArrayRef<int> anyway

Dec 18 2019, 10:12 PM · Restricted Project
lattner added a comment to D71636: [AArch64][SVE][WIP] Add support for vscale constants (?).

This is a very clever approach, I agree it should work - nice job! That said, I don't think it follows that we should accept these constantexprs in a ShuffleVector mask.

Dec 18 2019, 3:26 PM · Restricted Project

Nov 29 2019

lattner added a comment to D70844: [InstCombine] Fix big-endian miscompile of (bitcast (zext/trunc (bitcast))).

This LGTM but I'm not an active reviewer for this area, so I'd get a second opinion :)

Nov 29 2019, 8:41 AM · Restricted Project

Nov 3 2019

lattner edited reviewers for D69772: [APFloat] Fix subtraction of subnormal numbers, added: scanon; removed: lattner.

I'd recommend adding Steve Canon to APFloat related patches. Thanks!

Nov 3 2019, 3:58 PM · Restricted Project

Oct 24 2019

lattner accepted D69336: [BitVector] Define BitWord as uintptr_t.

This looks like progress to me. I personally would go with size_t even despite the (theoretical IMO) concern about size_t being a different size, but either way works for me, and both are better than ulong.

Oct 24 2019, 8:59 AM · Restricted Project

Sep 10 2019

lattner accepted D67387: Move LLVM_ENABLE_ABI_BREAKING_CHECKS to its own file.

Awesome, thanks Eric! This is very useful for projects that want to use LLVM Support library but also care about codesize.

Sep 10 2019, 9:30 AM · Restricted Project

Sep 4 2019

lattner committed rL370940: add myself.
add myself
Sep 4 2019, 10:33 AM
lattner accepted D65945: [LLVM][Alignment] Make functions using log of alignment explicit.

Renaming this to LogAlignment is much more clear throughout the core infra, thank you! Please get someone who knows the Yaml stuff to approve as well.

Sep 4 2019, 9:31 AM · Restricted Project

Jul 18 2019

lattner committed rGf688226bc9f9: unbreak links (authored by lattner).
unbreak links
Jul 18 2019, 10:50 PM
lattner committed rL366530: unbreak links.
unbreak links
Jul 18 2019, 10:49 PM
lattner committed rG2e418e16ddd4: replace the old kaleidoscope tutorial files with orphaned pages that forward to… (authored by lattner).
replace the old kaleidoscope tutorial files with orphaned pages that forward to…
Jul 18 2019, 10:25 PM
lattner committed rL366529: replace the old kaleidoscope tutorial files with orphaned pages that forward to….
replace the old kaleidoscope tutorial files with orphaned pages that forward to…
Jul 18 2019, 10:24 PM
lattner committed rG8ef8e5686ee1: Point to the dusted off version of the kaleidoscope tutorial. (authored by lattner).
Point to the dusted off version of the kaleidoscope tutorial.
Jul 18 2019, 10:17 PM
lattner committed rL366528: Point to the dusted off version of the kaleidoscope tutorial..
Point to the dusted off version of the kaleidoscope tutorial.
Jul 18 2019, 10:16 PM

Jul 3 2019

lattner added a comment to D64121: Rename variables so that they start with a lowercase letter..

I'm not a reviewer for LLD, but this change looks really great to me. The major thing to watch out for is that things like "XYZVar" need to be renamed to "xyzVar", but it looks like LLD was already spelling these cases as "XyzVar", so this doesn't come up.

Jul 3 2019, 10:19 AM · Restricted Project

Jun 14 2019

lattner added a comment to D63036: LLVM IR constant expressions never trap..

I commented on the llvmdev thread, but instead of moving this complexity around, I'd really rather see it go away. We should never have supported div/rem constant expressions in the first place...

Jun 14 2019, 4:21 PM · Restricted Project

Apr 25 2019

lattner committed rL359274: add one more link that was missing, also remove some logistics that are now….
add one more link that was missing, also remove some logistics that are now…
Apr 25 2019, 9:31 PM
lattner committed rL359273: rotate upcoming events that are no longer upcoming.
rotate upcoming events that are no longer upcoming
Apr 25 2019, 9:28 PM
lattner committed rL359272: fix link.
fix link
Apr 25 2019, 9:22 PM
lattner committed rL359271: add link to video.
add link to video
Apr 25 2019, 9:21 PM

Apr 13 2019

lattner committed rL358342: add MLIR slides, note that EuroLLVM19 is done.
add MLIR slides, note that EuroLLVM19 is done
Apr 13 2019, 12:49 PM

Apr 7 2019

lattner committed rG32a8e742e2ff: last changes for now (authored by lattner).
last changes for now
Apr 7 2019, 7:33 AM
lattner committed rL357868: last changes for now.
last changes for now
Apr 7 2019, 7:33 AM
lattner committed rG0fa6c15873d1: various improvements in wording, also unbreak the bot (authored by lattner).
various improvements in wording, also unbreak the bot
Apr 7 2019, 7:23 AM
lattner committed rL357867: various improvements in wording, also unbreak the bot.
various improvements in wording, also unbreak the bot
Apr 7 2019, 7:23 AM
lattner committed rG13d3505a86c0: make a bunch of cleanups in wording and tone (authored by lattner).
make a bunch of cleanups in wording and tone
Apr 7 2019, 6:42 AM
lattner committed rL357865: make a bunch of cleanups in wording and tone.
make a bunch of cleanups in wording and tone
Apr 7 2019, 6:40 AM
lattner committed rG2243a165b143: remove some unhelpful language from the tutorial (authored by lattner).
remove some unhelpful language from the tutorial
Apr 7 2019, 6:20 AM
lattner committed rL357863: remove some unhelpful language from the tutorial.
remove some unhelpful language from the tutorial
Apr 7 2019, 6:19 AM
lattner committed rGd80f118e523a: Copy the C++ kaleidoscope tutorial into a subdirectory and clean up various… (authored by lattner).
Copy the C++ kaleidoscope tutorial into a subdirectory and clean up various…
Apr 7 2019, 6:13 AM
lattner committed rL357862: Copy the C++ kaleidoscope tutorial into a subdirectory and clean up various….
Copy the C++ kaleidoscope tutorial into a subdirectory and clean up various…
Apr 7 2019, 6:13 AM
lattner committed rL357860: Rotate some of the old releases into the OldNews file.
Rotate some of the old releases into the OldNews file
Apr 7 2019, 4:40 AM

Apr 4 2019

lattner accepted D60291: [llvm] Add isa_and_nonnull.

Patch LGTM. I think that the isa_and_nonnull name is the least bad of the options that I've heard, and if someone comes up with a better name, we can always rename it in the future. Thank you for updating the docs as well!

Apr 4 2019, 10:53 PM · Restricted Project

Mar 19 2019

lattner added a comment to D57896: Variable names rule.

static Optional<const llvm::APSInt *>
getConcreteIntegerValue(const Expr *CondVarExpr, const ExplodedNode *N) {
//...

if (const auto *DRE = dyn_cast_or_null<DeclRefExpr>(CondVarExpr)) {
  if (const auto *VD = dyn_cast_or_null<VarDecl>(DRE->getDecl())) {

//...
}

would be:

static Optional<const llvm::APSInt *> |
getConcreteIntegerValue(const Expr *cond_var_expr, const ExplodedNode *node) { |
//... |

if (const auto *decl_ref_expr = dyn_cast_or_null<DeclRefExpr>(cond_var_expr)) {
  if (const auto *var_decl = dyn_cast_or_null<VarDecl>(decl_ref_expr->getDecl())) {

//... |
} whoops column-81 ~^

Hungarian notation on members and globals are cool idea. However, the notation is made without the `_` part, so I think `mMember` is better than `m_member` as we used to 80-column standard and it is waste of space and hurts your C-developer eyes. I would recommend `b` prefix to booleans as Unreal Engine 4 styling is used to do that (`bIsCoolStyle`) and it is handy. It is useful because booleans usually has multiple prefixes: `has, have, is` and you would list all the booleans together in autocompletion. Yes, there is a problem: if the notation is not capital like the pure Hungarian notation then it is problematic to list and we are back to the `BIsCapitalLetter` and `MMember` CamelCase-world where we started (except one project). I think @lattner could say if it is useful as all the Apple projects based on those notations and could be annoying.
Mar 19 2019, 11:39 AM · Restricted Project, Restricted Project

Mar 12 2019

lattner added a comment to D59251: [Documentation] Proposal for plan to change variable names.

this is a really great summary of the situation, thank you for collecting this in such a methodical way!

Mar 12 2019, 11:03 PM · Restricted Project

Feb 21 2019

lattner added a comment to D57896: Variable names rule.

I can understand Zach's position here, but LLDB has historically never conformed to the general LLVM naming or other conventions due to its heritage. It should not be taken as precedent that the rest of the project should follow.

Feb 21 2019, 8:44 PM · Restricted Project, Restricted Project

Feb 19 2019

lattner added a comment to D57896: Variable names rule.

Changed recommendation for acronyms from lower case to upper case, as suggested by several responses to the RFC.

Feb 19 2019, 5:02 AM · Restricted Project, Restricted Project

Feb 7 2019

lattner accepted D57896: Variable names rule.

I am very much +1 on this. That said, this isn't the sort of thing we just use patch review for. Please agitate a robust discussion about this on llvm-dev. :-)

Feb 7 2019, 10:04 PM · Restricted Project, Restricted Project

Jan 18 2019

lattner accepted D56897: Install new LLVM license structure and new developer policy..

Fantastic, thanks for driving this.

Jan 18 2019, 11:12 AM

Jan 17 2019

lattner accepted D56819: Document toolchain update policy.

Looks great!

Jan 17 2019, 10:26 PM

Jan 14 2019

lattner added a comment to D51664: [IR] Lazily number instructions for local dominance queries.

I haven't reviewed the patch in full detail, but the predicate "comesBefore" should probably be something like "isBeforeInBlock".

Jan 14 2019, 10:22 PM · Restricted Project
lattner added a comment to D51664: [IR] Lazily number instructions for local dominance queries.

Hi Reid,

Jan 14 2019, 10:21 PM · Restricted Project
lattner resigned from D52002: Omit range checks from jump tables when lowering switches with unreachable default.
Jan 14 2019, 10:14 PM · Restricted Project

Oct 31 2018

lattner accepted D53950: Fix clang -Wimplicit-fallthrough warnings across llvm, NFC.
Oct 31 2018, 10:38 PM