diff options
author | Chris Lattner <sabre@nondot.org> | 2011-01-04 07:46:33 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2011-01-04 07:46:33 +0000 |
commit | 8643810eded6eef8ad2753478a8403437695228f (patch) | |
tree | 66b048408d3166154342e9693b278b0084c3e524 /llvm/lib/CodeGen/MachineModuleInfo.cpp | |
parent | a62b01dc3771615cd3b7fdbdd6cfd529379dbb77 (diff) | |
download | llvm-8643810eded6eef8ad2753478a8403437695228f.zip llvm-8643810eded6eef8ad2753478a8403437695228f.tar.gz llvm-8643810eded6eef8ad2753478a8403437695228f.tar.bz2 |
Teach loop-idiom to turn a loop containing a memset into a larger memset
when safe.
The testcase is basically this nested loop:
void foo(char *X) {
for (int i = 0; i != 100; ++i)
for (int j = 0; j != 100; ++j)
X[j+i*100] = 0;
}
which gets turned into a single memset now. clang -O3 doesn't optimize
this yet though due to a phase ordering issue I haven't analyzed yet.
llvm-svn: 122806
Diffstat (limited to 'llvm/lib/CodeGen/MachineModuleInfo.cpp')
0 files changed, 0 insertions, 0 deletions