[ConstantFolding] Constant folding for integer vector reduce intrinsics
authorDavid Green <david.green@arm.com>
Fri, 29 May 2020 15:26:44 +0000 (16:26 +0100)
committerDavid Green <david.green@arm.com>
Fri, 29 May 2020 16:58:42 +0000 (17:58 +0100)
commita01c0049b1a3583604259ae7bbe9761fc123adae
treec9a1e9d463e7c5260c06c2361e3aea7b69978aab
parentc1a33299768f8404dd7b83a6cfef7c1155786c6a
[ConstantFolding] Constant folding for integer vector reduce intrinsics

This add constant folding for all the integer vector reduce intrinsics,
providing that the argument is a constant vector. zeroinitializer always
produces 0 for all intrinsics, and other values can be handled with
APInt operators.

Differential Revision: https://reviews.llvm.org/D80516
llvm/lib/Analysis/ConstantFolding.cpp
llvm/test/Analysis/ConstantFolding/vecreduce.ll [new file with mode: 0644]