diff options
author | Duncan Sands <baldrick@free.fr> | 2011-10-07 08:29:06 +0000 |
---|---|---|
committer | Duncan Sands <baldrick@free.fr> | 2011-10-07 08:29:06 +0000 |
commit | c52af4648416425d816d08221ec88db1113866cb (patch) | |
tree | 6356aacc662b265074fa10067150f26bd39a044a /llvm/lib/Object/Object.cpp | |
parent | 04e6cbc80b3a32d9714f39bdcaa028cc13b1acab (diff) | |
download | llvm-c52af4648416425d816d08221ec88db1113866cb.zip llvm-c52af4648416425d816d08221ec88db1113866cb.tar.gz llvm-c52af4648416425d816d08221ec88db1113866cb.tar.bz2 |
Teach GVN to also propagate switch cases. For example, in this code
switch (n) {
case 27:
do_something(x);
...
}
the call do_something(x) will be replaced with do_something(27). In
gcc-as-one-big-file this results in the removal of about 500 lines of
bitcode (about 0.02%), so has about 1/10 of the effect of propagating
branch conditions.
llvm-svn: 141360
Diffstat (limited to 'llvm/lib/Object/Object.cpp')
0 files changed, 0 insertions, 0 deletions