diff options
author | Chris Lattner <sabre@nondot.org> | 2004-05-13 15:26:48 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2004-05-13 15:26:48 +0000 |
commit | b7cb9ffd34dfa5e167d511df589e1a045c821b4a (patch) | |
tree | 568153ff762df16f92e0883f470da0322d426bd3 /docs/CommandGuide/llvm-prof.html | |
parent | 9f1b5310904b66bf7aa5593beb0bfae2bb895db8 (diff) |
Two more improvements for null pointer handling: storing a null pointer
and passing a null pointer into a function.
For this testcase:
void %test(int** %X) {
store int* null, int** %X
call void %test(int** null)
ret void
}
we now generate this:
test:
sub %ESP, 12
mov %EAX, DWORD PTR [%ESP + 16]
mov DWORD PTR [%EAX], 0
mov DWORD PTR [%ESP], 0
call test
add %ESP, 12
ret
instead of this:
test:
sub %ESP, 12
mov %EAX, DWORD PTR [%ESP + 16]
mov %ECX, 0
mov DWORD PTR [%EAX], %ECX
mov %EAX, 0
mov DWORD PTR [%ESP], %EAX
call test
add %ESP, 12
ret
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13558 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'docs/CommandGuide/llvm-prof.html')
0 files changed, 0 insertions, 0 deletions