diff options
author | Francis Visoiu Mistrih <francisvm@yahoo.com> | 2018-11-28 12:00:28 +0000 |
---|---|---|
committer | Francis Visoiu Mistrih <francisvm@yahoo.com> | 2018-11-28 12:00:28 +0000 |
commit | 879087ce5b56712ccfa96b286cec49fcce95f366 (patch) | |
tree | 9daed5b277c06402db7f9890526b5b8d56758e51 /llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp | |
parent | d7eebd6d831fa80c3840f10120c235db65f650da (diff) | |
download | bcm5719-llvm-879087ce5b56712ccfa96b286cec49fcce95f366.tar.gz bcm5719-llvm-879087ce5b56712ccfa96b286cec49fcce95f366.zip |
[MachineScheduler] Add support for clustering mem ops with FI base operands
Before this patch, the following stores in `merge_fail` would fail to be
merged, while they would get merged in `merge_ok`:
```
void use(unsigned long long *);
void merge_fail(unsigned key, unsigned index)
{
unsigned long long args[8];
args[0] = key;
args[1] = index;
use(args);
}
void merge_ok(unsigned long long *dst, unsigned a, unsigned b)
{
dst[0] = a;
dst[1] = b;
}
```
The reason is that `getMemOpBaseImmOfs` would return false for FI base
operands.
This adds support for this.
Differential Revision: https://reviews.llvm.org/D54847
llvm-svn: 347747
Diffstat (limited to 'llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp')
0 files changed, 0 insertions, 0 deletions