- User Since
- Aug 19 2013, 3:30 PM (200 w, 6 d)
Fri, Jun 23
Fix the nits ( -> /, Optional<std::pair<...>>, etc.)
Tue, Jun 20
LGTM with a nit.
Made all requested changes in the commit rL305791
Tue, Jun 13
Tue, Jun 6
Constrain the source operand too. This fixes the odd GPR64all, it's now GPR64sp.
Mon, Jun 5
Resubmit the patch minus the bits that were already in D33590. Sorry about that.
Update the SelectionDAG rules for FPR->GPR bitcasts to use GPR32all and GPR64all
The remaining issue I mentioned in the update is this one.
- Double check why tablegen gives us gpr32 instead of gpr32all
Fix all the nits.
Fri, Jun 2
Fix the X86 machine verifier bug where EXTRACT_SUBREG could emit a subregister
copy with classes that didn't quite support it. TableGen now finds a suitable
pair of classes. However, if this results in a copy of the operand into another
class, tablegen will currently refuse to import SelectionDAG because we lack
multi-insn emission at the moment. Support for that will start to be introduced
as part of the state-machine patches.
Thu, Jun 1
This was reverted due to compile-time regressions so re-open it and add it to the end of the patch series that fixes that.
After re-testing this on current trunk, there's a bug in X86 due to GR64 not fully supporting the 8bit subregister index. I'll fix this shortly using failedImport() for this case since we don't have multi-insn emission quite yet. The following patches introduce the infrastructure for it.
May 26 2017
May 25 2017
Factored out the optimization into MachineIRBuilder.
May 24 2017
May 23 2017
May 22 2017
May 19 2017
May 18 2017
May 17 2017
May 16 2017
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.
May 12 2017
One nit: We could avoid introducing the Optional<> by testing for LLT.isValid() instead of testing for whether the Optional has a value
May 11 2017
May 10 2017
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().
May 9 2017
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.
May 4 2017
Hoist out the checks for intrinsic id's so that they are only importable when
found in the place we expect them to be.
May 3 2017
May 2 2017
Thanks for doing this. It will allow me to add a test for the predicates related to the optsize attribute.
Apr 29 2017
Apr 28 2017
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
Add support for patterns consisting solely of an IntInit* and use this to add a
test case to the rule predicate support... almost.
Apr 27 2017
Moved ForCodeSize and similar to the Subtarget.
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