dsanders (Daniel Sanders)
User

Projects

User does not belong to any projects.

User Details

User Since
Aug 19 2013, 3:30 PM (196 w, 1 d)

Recent Activity

Today

dsanders committed rL303727: Explicitly set CPU and -slow-incdec to try to fix r303678's test on llvm-clang….
Explicitly set CPU and -slow-incdec to try to fix r303678's test on llvm-clang…
Wed, May 24, 12:02 AM

Yesterday

dsanders committed rL303721: Revert r303720: Tweak r303678's test to try to fix llvm-clang-x86_64-expensive….
Revert r303720: Tweak r303678's test to try to fix llvm-clang-x86_64-expensive…
Tue, May 23, 11:45 PM
dsanders committed rL303720: Tweak r303678's test to try to fix llvm-clang-x86_64-expensive-checks-win..
Tweak r303678's test to try to fix llvm-clang-x86_64-expensive-checks-win.
Tue, May 23, 11:05 PM
dsanders committed rL303683: Fix unused variable warnings after r303678.
Fix unused variable warnings after r303678
Tue, May 23, 1:03 PM
dsanders committed rL303678: [globalisel][tablegen] Add support for (set $dst, 1) and test X86's OptForSize….
[globalisel][tablegen] Add support for (set $dst, 1) and test X86's OptForSize…
Tue, May 23, 12:33 PM
dsanders closed D32791: [globalisel][tablegen] Add support for (set $dst, 1) and test X86's OptForSize predicate..
Tue, May 23, 12:33 PM

Mon, May 22

dsanders committed rL303542: Revert r303259 - [globalisel][tablegen] Import rules containing….
Revert r303259 - [globalisel][tablegen] Import rules containing…
Mon, May 22, 3:14 AM

Fri, May 19

dsanders created D33352: [globalisel][tablegen] Fix incorrect inclusion of VS_32/VS_64 in [VS]GPRRegBank.
Fri, May 19, 4:49 AM
dsanders committed rL303418: [globalisel][tablegen] Demote OptForSize/OptForMinSize/ForCodeSize to per….
[globalisel][tablegen] Demote OptForSize/OptForMinSize/ForCodeSize to per…
Fri, May 19, 4:22 AM
dsanders closed D32861: [globalisel][tablegen] Demote OptForSize/OptForMinSize/ForCodeSize to per-function predicates..
Fri, May 19, 4:21 AM

Thu, May 18

dsanders committed rL303341: Re-commit: [globalisel][tablegen] Import rules containing intrinsic_wo_chain..
Re-commit: [globalisel][tablegen] Import rules containing intrinsic_wo_chain.
Thu, May 18, 3:47 AM

Wed, May 17

dsanders committed rL303259: [globalisel][tablegen] Import rules containing intrinsic_wo_chain..
[globalisel][tablegen] Import rules containing intrinsic_wo_chain.
Wed, May 17, 6:53 AM
dsanders closed D32278: [globalisel][tablegen] Import rules containing intrinsic_wo_chain..
Wed, May 17, 6:53 AM
dsanders committed rL303253: [globalisel][tablegen] Require that all registers between instructions of a….
[globalisel][tablegen] Require that all registers between instructions of a…
Wed, May 17, 5:56 AM
dsanders closed D32869: [globalisel][tablegen] Require that all registers between instructions of a match are virtual..
Wed, May 17, 5:56 AM
dsanders accepted D33224: [GISel]: Fix more Undefined behavior in GlobalISel::IRTranslator.

LGTM

Wed, May 17, 2:55 AM

Tue, May 16

dsanders accepted D33031: [GlobalISel][TableGen] Fix handling of default operands.

LGTM.

Tue, May 16, 7:58 AM
dsanders added a comment to D33224: [GISel]: Fix more Undefined behavior in GlobalISel::IRTranslator.

Is it possible to add a test case for this? It seems that a test where the last instruction has a DILocation should trigger it.

Tue, May 16, 4:13 AM

Fri, May 12

dsanders accepted D33084: [GISel]: Fix undefined behavior while accessing DefaultAction map.

One nit: We could avoid introducing the Optional<> by testing for LLT.isValid() instead of testing for whether the Optional has a value

Fri, May 12, 2:59 PM

Thu, May 11

dsanders added a comment to D32869: [globalisel][tablegen] Require that all registers between instructions of a match are virtual..

Hi Daniel,

We are talking pass each other :).

Thu, May 11, 4:08 PM
dsanders added inline comments to D32868: [globalisel][tablegen] Fix nullptr dereferences when getVRegDef() is called on a phys reg..
Thu, May 11, 3:25 PM
dsanders added inline comments to D33084: [GISel]: Fix undefined behavior while accessing DefaultAction map.
Thu, May 11, 3:04 AM
dsanders accepted D33085: [GISel]:Remove unused Lambda capture. NFC.

LGTM

Thu, May 11, 2:26 AM

Wed, May 10

dsanders added inline comments to D33031: [GlobalISel][TableGen] Fix handling of default operands.
Wed, May 10, 8:10 AM
dsanders added inline comments to D33031: [GlobalISel][TableGen] Fix handling of default operands.
Wed, May 10, 7:18 AM
dsanders accepted D14390: [mips] Expansion of LI.S and LI.D.

I haven't looked too closely at the output of the macro since I don't know what it should be but it looks like the issues I raised earlier in the review are no longer there. I just have one nit about nextReg().

Wed, May 10, 7:06 AM
dsanders added inline comments to D33031: [GlobalISel][TableGen] Fix handling of default operands.
Wed, May 10, 2:16 AM
dsanders added inline comments to D33031: [GlobalISel][TableGen] Fix handling of default operands.
Wed, May 10, 2:12 AM

Tue, May 9

dsanders added a comment to D32869: [globalisel][tablegen] Require that all registers between instructions of a match are virtual..

If that happens, doesn't that means we need to support it?

The way I was thinking about this was that we should be able to insert copy to vreg before and after to assign to and from the physical registers.

Tue, May 9, 11:06 AM
dsanders added a comment to D32744: [globalisel] Improve legalizer DEBUG_ONLY output..

I believe PrintTo will be valid since it's occurs after the instruction we're working on. If we're folding multiple instructions into one we'll be following the operands backwards, away from PrintTo.

Tue, May 9, 10:42 AM

Thu, May 4

dsanders updated the diff for D32278: [globalisel][tablegen] Import rules containing intrinsic_wo_chain..

Hoist out the checks for intrinsic id's so that they are only importable when
found in the place we expect them to be.

Thu, May 4, 10:09 AM
dsanders updated the diff for D32278: [globalisel][tablegen] Import rules containing intrinsic_wo_chain..

Refresh patch

Thu, May 4, 10:03 AM
dsanders added a dependency for D32278: [globalisel][tablegen] Import rules containing intrinsic_wo_chain.: D32869: [globalisel][tablegen] Require that all registers between instructions of a match are virtual..
Thu, May 4, 10:00 AM
dsanders added a dependent revision for D32869: [globalisel][tablegen] Require that all registers between instructions of a match are virtual.: D32278: [globalisel][tablegen] Import rules containing intrinsic_wo_chain..
Thu, May 4, 10:00 AM
dsanders added a dependency for D32869: [globalisel][tablegen] Require that all registers between instructions of a match are virtual.: D32868: [globalisel][tablegen] Fix nullptr dereferences when getVRegDef() is called on a phys reg..
Thu, May 4, 9:59 AM
dsanders added a dependent revision for D32868: [globalisel][tablegen] Fix nullptr dereferences when getVRegDef() is called on a phys reg.: D32869: [globalisel][tablegen] Require that all registers between instructions of a match are virtual..
Thu, May 4, 9:59 AM
dsanders created D32869: [globalisel][tablegen] Require that all registers between instructions of a match are virtual..
Thu, May 4, 9:57 AM
dsanders created D32868: [globalisel][tablegen] Fix nullptr dereferences when getVRegDef() is called on a phys reg..
Thu, May 4, 9:44 AM
dsanders committed rL302154: [globalisel][tablegen] Add several GINodeEquiv's for operators that do not….
[globalisel][tablegen] Add several GINodeEquiv's for operators that do not…
Thu, May 4, 7:38 AM
dsanders closed D32275: [globalisel][tablegen] Add several GINodeEquiv's for operators that do not require additional support..
Thu, May 4, 7:37 AM
dsanders created D32861: [globalisel][tablegen] Demote OptForSize/OptForMinSize/ForCodeSize to per-function predicates..
Thu, May 4, 6:04 AM
dsanders added a comment to D32744: [globalisel] Improve legalizer DEBUG_ONLY output..

Just to clarify, this wouldn't work if the target decided to insert new instructions before PrevMII (or even at the beginning for e.g.). I'm guessing if the target does that, its not a big deal if we don't print it.

Thu, May 4, 1:42 AM

Wed, May 3

dsanders created D32791: [globalisel][tablegen] Add support for (set $dst, 1) and test X86's OptForSize predicate..
Wed, May 3, 3:51 AM

Tue, May 2

dsanders created D32746: [globalisel][legalizer] G_LOAD/G_STORE NarrowScalar should not emit G_GEP x, 0..
Tue, May 2, 6:27 AM
dsanders added inline comments to D32575: Don't try to legalize Intermediate instructions (with generic types).
Tue, May 2, 5:19 AM
dsanders created D32744: [globalisel] Improve legalizer DEBUG_ONLY output..
Tue, May 2, 5:19 AM
dsanders added inline comments to D32575: Don't try to legalize Intermediate instructions (with generic types).
Tue, May 2, 3:58 AM
dsanders added a comment to D32677: [GlobalISel][X86] Prioritize Tablegen-erated instruction selection. NFC.

Thanks for doing this. It will allow me to add a test for the predicates related to the optsize attribute.

Tue, May 2, 3:49 AM

Sat, Apr 29

dsanders committed rL301756: [globalisel][tablegen] Fix the test after silencing the unused variable warning….
[globalisel][tablegen] Fix the test after silencing the unused variable warning…
Sat, Apr 29, 12:59 PM
dsanders committed rL301755: [globalisel][tablegen] Silence unused variable warning..
[globalisel][tablegen] Silence unused variable warning.
Sat, Apr 29, 12:23 PM
dsanders committed rL301750: [globalisel][tablegen] Compute available feature bits correctly..
[globalisel][tablegen] Compute available feature bits correctly.
Sat, Apr 29, 10:43 AM
dsanders closed D32491: [globalisel][tablegen] Compute available feature bits correctly..
Sat, Apr 29, 10:43 AM

Fri, Apr 28

dsanders added inline comments to D32575: Don't try to legalize Intermediate instructions (with generic types).
Fri, Apr 28, 3:59 PM
dsanders added a comment to D32491: [globalisel][tablegen] Compute available feature bits correctly..

I just checked and the existing ARM tests fail without this patch because the available features aren't reset when entering the functions. They work with this patch + enabling the TableGen selector for ARM, so we'll have tests then :)

Fri, Apr 28, 8:37 AM
dsanders added a comment to D32491: [globalisel][tablegen] Compute available feature bits correctly..

In that case I'll commit the previous version of this patch tomorrow and post the immediate support for a separate review. The PR can then come out of that review. Thanks

Fri, Apr 28, 8:02 AM
dsanders added inline comments to D32491: [globalisel][tablegen] Compute available feature bits correctly..
Fri, Apr 28, 7:53 AM
dsanders updated the diff for D32491: [globalisel][tablegen] Compute available feature bits correctly..

Add support for patterns consisting solely of an IntInit* and use this to add a
test case to the rule predicate support... almost.

Fri, Apr 28, 7:24 AM
dsanders added inline comments to D32575: Don't try to legalize Intermediate instructions (with generic types).
Fri, Apr 28, 1:37 AM

Thu, Apr 27

dsanders updated the diff for D32491: [globalisel][tablegen] Compute available feature bits correctly..

Moved ForCodeSize and similar to the Subtarget.

Thu, Apr 27, 5:12 AM
dsanders added a comment to D32491: [globalisel][tablegen] Compute available feature bits correctly..

I'm having trouble improving the test case since the function-level predicates don't show up in any importable rules yet. I'll see if I can uncover one

Thu, Apr 27, 5:11 AM

Wed, Apr 26

dsanders accepted D32537: [globalisel][tablegen] Fix vector element size.

LGTM

Wed, Apr 26, 8:14 AM
dsanders added a comment to D32491: [globalisel][tablegen] Compute available feature bits correctly..

So, we have a new GISelAccessor with a new InstructionSelector for each unique subtarget (module + function attributes, as hashed in getSubtargetImpl). Why do we need to have module features and function features in each InstructionSelector? Isn't there a different InstructionSelector for each kind of function, and don't we magically get the right one when processing each function? What am I missing? It seems to me that we could get away with a single set of availableFeatures per InstructionSelector.

Wed, Apr 26, 4:43 AM

Tue, Apr 25

dsanders created D32491: [globalisel][tablegen] Compute available feature bits correctly..
Tue, Apr 25, 8:26 AM
dsanders committed rL301311: Bring back the ability opt out of padding zero-byte functions by not providing….
Bring back the ability opt out of padding zero-byte functions by not providing…
Tue, Apr 25, 7:40 AM
dsanders closed D32398: Bring back the ability opt out of padding zero-byte functions by not providing a nop instruction. by committing rL301311: Bring back the ability opt out of padding zero-byte functions by not providing….
Tue, Apr 25, 7:40 AM
dsanders added a comment to D32398: Bring back the ability opt out of padding zero-byte functions by not providing a nop instruction..

Thanks. Hopefully it won't break very often.

Tue, Apr 25, 7:39 AM
dsanders added a comment to D32275: [globalisel][tablegen] Add several GINodeEquiv's for operators that do not require additional support..

I decided to have a look at code coverage differences before committing this. This patch made no difference to the code coverage. On closer inspection it turns out beginFunction() isn't being executed so no rules with rule predicates can match. I'll take a look at this, maybe something from the rule-predicates patch didn't make it into the final commit.

I literally just ran into this while trying to enable TableGen for ARM. I'm wondering if it's really a good idea to have beginFunction in the first place. There's a related FIXME in TargetSubtargetInfo.h around getInstructionSelector. Maybe we should have an instruction selector per MachineFunction?

Tue, Apr 25, 3:58 AM
dsanders added a comment to D32275: [globalisel][tablegen] Add several GINodeEquiv's for operators that do not require additional support..

I decided to have a look at code coverage differences before committing this. This patch made no difference to the code coverage. On closer inspection it turns out beginFunction() isn't being executed so no rules with rule predicates can match. I'll take a look at this, maybe something from the rule-predicates patch didn't make it into the final commit.

Tue, Apr 25, 2:46 AM

Mon, Apr 24

dsanders added a comment to D30299: [tablegen] Optionally format tablegen targets with clang-format.

Sorry for being slow to get back to this one. I've been prioritising the other patches.

Mon, Apr 24, 9:41 AM

Apr 23 2017

dsanders added a comment to D32398: Bring back the ability opt out of padding zero-byte functions by not providing a nop instruction..

Hi Hans,

Apr 23 2017, 7:06 AM
dsanders created D32398: Bring back the ability opt out of padding zero-byte functions by not providing a nop instruction..
Apr 23 2017, 7:03 AM

Apr 22 2017

dsanders committed rL301080: [globalisel][tablegen] Add support for RegisterOperand..
[globalisel][tablegen] Add support for RegisterOperand.
Apr 22 2017, 9:06 AM
dsanders closed D32229: [globalisel][tablegen] Add support for RegisterOperand..
Apr 22 2017, 9:06 AM
dsanders committed rL301079: [globalisel][tablegen] Revise API for ComplexPattern operands to improve….
[globalisel][tablegen] Revise API for ComplexPattern operands to improve…
Apr 22 2017, 8:24 AM
dsanders closed D31761: [globalisel][tablegen] Revise API for ComplexPattern operands to improve flexibility..
Apr 22 2017, 8:23 AM
dsanders committed rL301077: [globalisel][tablegen] Fix PR32733 by checking which instruction operands….
[globalisel][tablegen] Fix PR32733 by checking which instruction operands…
Apr 22 2017, 7:44 AM

Apr 21 2017

dsanders committed rL300993: [globalisel][tablegen] Import SelectionDAG's rule predicates and support the….
[globalisel][tablegen] Import SelectionDAG's rule predicates and support the…
Apr 21 2017, 9:13 AM
dsanders committed rL300978: Revert r300964 + r300970 - [globalisel][tablegen] Import SelectionDAG's rule….
Revert r300964 + r300970 - [globalisel][tablegen] Import SelectionDAG's rule…
Apr 21 2017, 7:22 AM
dsanders committed rL300970: [globalisel][tablegen] Try again to fix builds on old MSVC's after r300964.
[globalisel][tablegen] Try again to fix builds on old MSVC's after r300964
Apr 21 2017, 6:04 AM
dsanders committed rL300968: Revert: r300966 - [globalisel][tablegen] Attempt to fix builds on old MSVC's….
Revert: r300966 - [globalisel][tablegen] Attempt to fix builds on old MSVC's…
Apr 21 2017, 5:21 AM
dsanders committed rL300966: [globalisel][tablegen] Attempt to fix builds on old MSVC's after r300964.
[globalisel][tablegen] Attempt to fix builds on old MSVC's after r300964
Apr 21 2017, 4:42 AM
dsanders committed rL300964: [globalisel][tablegen] Import SelectionDAG's rule predicates and support the….
[globalisel][tablegen] Import SelectionDAG's rule predicates and support the…
Apr 21 2017, 3:40 AM
dsanders closed D31418: [globalisel][tablegen] Import SelectionDAG's rule predicates and support the equivalent in GIRule..
Apr 21 2017, 3:40 AM
dsanders updated the summary of D31418: [globalisel][tablegen] Import SelectionDAG's rule predicates and support the equivalent in GIRule..
Apr 21 2017, 3:39 AM
dsanders added inline comments to D31418: [globalisel][tablegen] Import SelectionDAG's rule predicates and support the equivalent in GIRule..
Apr 21 2017, 3:38 AM
dsanders added inline comments to D31750: [globalisel] Enable tracing the legalizer with --debug-only=legalize-mir.
Apr 21 2017, 12:57 AM

Apr 20 2017

dsanders added inline comments to D32278: [globalisel][tablegen] Import rules containing intrinsic_wo_chain..
Apr 20 2017, 11:47 AM
dsanders added a comment to D32275: [globalisel][tablegen] Add several GINodeEquiv's for operators that do not require additional support..
In D32275#732358, @ab wrote:

LGTM

Apr 20 2017, 11:47 AM
dsanders added inline comments to D32278: [globalisel][tablegen] Import rules containing intrinsic_wo_chain..
Apr 20 2017, 11:06 AM
dsanders committed rL300847: [globalisel] Enable tracing the legalizer with --debug-only=legalize-mir.
[globalisel] Enable tracing the legalizer with --debug-only=legalize-mir
Apr 20 2017, 9:15 AM
dsanders added inline comments to D31750: [globalisel] Enable tracing the legalizer with --debug-only=legalize-mir.
Apr 20 2017, 9:01 AM
dsanders closed D31750: [globalisel] Enable tracing the legalizer with --debug-only=legalize-mir.
Apr 20 2017, 8:58 AM
dsanders updated the diff for D31418: [globalisel][tablegen] Import SelectionDAG's rule predicates and support the equivalent in GIRule..

Rebase and fix nits

Apr 20 2017, 8:01 AM
dsanders added a dependent revision for D31329: [globalisel][tablegen] Make it possible to declare rules directly in GlobalISel.: D31418: [globalisel][tablegen] Import SelectionDAG's rule predicates and support the equivalent in GIRule..
Apr 20 2017, 8:01 AM
dsanders added inline comments to D32275: [globalisel][tablegen] Add several GINodeEquiv's for operators that do not require additional support..
Apr 20 2017, 2:44 AM
dsanders added a comment to D32275: [globalisel][tablegen] Add several GINodeEquiv's for operators that do not require additional support..

One thing to mention for this patch is that G_ICMP and G_FCMP are not included due to a difference in operand order between G_ICMP/G_FCMP in GlobalISel and setcc in SelectionDAG (predicate, lhs, rhs vs lhs, rhs, predicate). I can support those in a later patch by adding more information to GINodeEquiv or by changing G_ICMP/G_FCMP. I don't see a particularly strong argument either way on that point but I'm expecting to need to convert the predicate operand too so I'm leaning towards making GINodeEquiv more descriptive.

Apr 20 2017, 2:15 AM
dsanders created D32278: [globalisel][tablegen] Import rules containing intrinsic_wo_chain..
Apr 20 2017, 2:03 AM
dsanders added a dependent revision for D32275: [globalisel][tablegen] Add several GINodeEquiv's for operators that do not require additional support.: D32278: [globalisel][tablegen] Import rules containing intrinsic_wo_chain..
Apr 20 2017, 2:03 AM
dsanders created D32275: [globalisel][tablegen] Add several GINodeEquiv's for operators that do not require additional support..
Apr 20 2017, 12:42 AM
dsanders added a dependent revision for D32229: [globalisel][tablegen] Add support for RegisterOperand.: D32275: [globalisel][tablegen] Add several GINodeEquiv's for operators that do not require additional support..
Apr 20 2017, 12:42 AM