llvm/lib
Chris Lattner b7cb9ffd34 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
2004-05-13 15:26:48 +00:00
..
Analysis Fine grainify namespacification 2004-05-09 06:22:29 +00:00
Archive Use the true, decoded name of the archive member in getObjectType. 2004-03-31 19:51:00 +00:00
AsmParser Fix a memory leak. We leaked the vector holding the entries in switch tables. 2004-04-17 23:49:15 +00:00
Bytecode Squelch compile-time warning (profile build). 2004-04-28 15:32:09 +00:00
CodeGen Fix a really nasty bug from my changes on Monday to PHIElim. These changes 2004-05-12 21:47:57 +00:00
Debugger "fix" a nasty race condition 2004-01-14 21:18:03 +00:00
ExecutionEngine Generalize the strlen size_t hack, for the benefit of the other external 2004-05-01 06:42:15 +00:00
Linker Don't use invalid HTML in a doxygen comment. 2004-04-15 15:23:45 +00:00
Support Implement the new cl::PositionalEatsArgs flag, refactor code a bit 2004-05-06 22:04:31 +00:00
Target Two more improvements for null pointer handling: storing a null pointer 2004-05-13 15:26:48 +00:00
Transforms Do not pass in the same argument to the extracted function more than once, and 2004-05-12 16:26:18 +00:00
VMCore Implement the AddPrototypes method 2004-05-09 04:29:57 +00:00
Makefile CBackend is no longer here 2004-02-13 23:29:37 +00:00