Oct 2 2020
Oct 1 2020
Closed by revision https://reviews.llvm.org/rG20283ff491a4
Closed by revision https://reviews.llvm.org/rG545de56f87f5
Closed by revision https://reviews.llvm.org/rGdd519bf0b074
Sep 30 2020
Sorry, didn't realise tags and reviewers were automatically added. Thought it was a mistake. Apologies for the few extra emails notifications that would have been sent.
Sep 28 2020
Sep 24 2020
Renamed ARMssatnoshift and ARMusatnoshift to ARMssat and ARMusat
Sep 23 2020
Sep 22 2020
Sep 21 2020
Added new helper function isSSATMinMaxPattern which checks whether the instruction being passed in is a valid max instruction that is part of a min(max()) or max(min()) pattern. Simplified getIntImmCostInst down to make a call to this function.
Improved getIntImmCostInst so that the max(min()) case is properly handled by checking the instruction's operand is a min and a select instruction.
Sep 16 2020
Made the checks more specific to min(max()) and max(min()) patterns which should generate SSAT
Sep 15 2020
Headsup: This broke a number of tests for me. Looking closer into where it changed things erroneously...
Sep 14 2020
Sep 10 2020
Added explanation about LLVM canonicalizing to min/max patterns to both the comment before the function and commit message. Tidied up formatting by moving a comment, reducing indention where possible and removing unused function (isUpperSaturate).
Sep 9 2020
Aug 19 2020
Aug 12 2020
Changed tests to show original IR (vmlav and add instructions) being transformed to use vmlava, run using opt -instcombine -S -mtriple=arm -o - %s instead.
Aug 4 2020
Aug 3 2020
Removed t2_asr_imm and replaced with just asr_imm. Also deleted thumb2 tests and instead included Run command in arm tests to avoid having the same tests repeated.
Jul 24 2020
Removed fast attributes and added test cases for when the floating point flag is not set.
Added second test for f16 case and made test cases much shorter. Also moved position of pattern definition so that the size is handled clearly