diff options
| author | Davide Italiano <davide@freebsd.org> | 2017-01-19 23:07:51 +0000 | 
|---|---|---|
| committer | Davide Italiano <davide@freebsd.org> | 2017-01-19 23:07:51 +0000 | 
| commit | 6c2c3e07bfaa1a021bf665971b018491a728a895 (patch) | |
| tree | 40dbd17044c80ff0fdcb0c63479680733eb7b46a /llvm/lib/CodeGen/StackMaps.cpp | |
| parent | 5a52af0f63af33ceca08ac39f04738f37bd746ea (diff) | |
| download | bcm5719-llvm-6c2c3e07bfaa1a021bf665971b018491a728a895.tar.gz bcm5719-llvm-6c2c3e07bfaa1a021bf665971b018491a728a895.zip | |
[SCCP] Teach the pass how to handle `div` with overdefined operands.
This can prove that:
extern int f;
int g() {
    int x = 0;
    for (int i = 0; i < 365; ++i) {
        x /= f;
    }
    return x;
}
always returns zero. Thanks to Sanjoy for confirming this
transformation actually made sense (bugs are mine).
llvm-svn: 292531
Diffstat (limited to 'llvm/lib/CodeGen/StackMaps.cpp')
0 files changed, 0 insertions, 0 deletions

