diff options
author | Chris Lattner <sabre@nondot.org> | 2008-10-15 16:06:03 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2008-10-15 16:06:03 +0000 |
commit | db03983238ac7cebd9f09d453847fcc4ee30b8d2 (patch) | |
tree | e39238dd80847bdd09a846b10574b5e92c3842ab | |
parent | f4fee2a9765cf24084084d104ef549265c0ead8f (diff) |
move PR1604 here.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57582 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Target/README.txt | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/lib/Target/README.txt b/lib/Target/README.txt index 173c0bc5f3..9831efbdf6 100644 --- a/lib/Target/README.txt +++ b/lib/Target/README.txt @@ -954,3 +954,20 @@ should remove it, but it doesn't apply to memory objects. //===---------------------------------------------------------------------===// +Better mod/ref analysis for scanf would allow us to eliminate the vtable and a +bunch of other stuff from this example (see PR1604): + +#include <cstdio> +struct test { + int val; + virtual ~test() {} +}; + +int main() { + test t; + std::scanf("%d", &t.val); + std::printf("%d\n", t.val); +} + +//===---------------------------------------------------------------------===// + |