LLVM backend for 6502
Go to file
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
autoconf Refactor external benchmark checking stuff into one hairy 2004-04-16 17:13:33 +00:00
docs Reduce line length to about 80 chars. 2004-05-13 03:40:27 +00:00
examples/ModuleMaker Configure script for ModuleMaker. 2003-11-25 20:02:07 +00:00
include Fix a comment. 2004-05-12 21:57:23 +00:00
lib Two more improvements for null pointer handling: storing a null pointer 2004-05-13 15:26:48 +00:00
projects Use inttypes.h, which exists on all of Linux, Solaris and Darwin. 2004-05-11 16:14:53 +00:00
runtime Share the profile info type enum with the C++ analysis libraries. 2004-05-04 16:51:48 +00:00
test Testcase for PR337, which was reduced by Reid Spencer. 2004-05-10 05:11:24 +00:00
tools Turn the block extractor on by default now that it basically works, eliminating the option. 2004-05-12 19:02:44 +00:00
utils Added `zeroinitializer' keyword. 2004-04-28 19:36:08 +00:00
.cvsignore
configure Regenerated using autoconf-2.57. 2004-04-16 17:13:44 +00:00
CREDITS.TXT Just testing the "Reid has CVS commit access" system 2004-05-06 18:06:18 +00:00
LICENSE.TXT Added obsequi. 2004-05-11 19:29:59 +00:00
llvm.spec RPM spec file for LLVM tools and libraries. 2004-02-10 03:57:51 +00:00
llvm.spec.in RPM spec file for LLVM tools and libraries. 2004-02-10 03:57:51 +00:00
Makefile Standardize header comments of top-level Makefiles. 2004-04-24 00:10:56 +00:00
Makefile.common Standardize header comments of top-level Makefiles. 2004-04-24 00:10:56 +00:00
Makefile.config.in Standardize header comments of top-level Makefiles. 2004-04-24 00:10:56 +00:00
Makefile.rules Standardize header comments of top-level Makefiles. 2004-04-24 00:10:56 +00:00
README.txt This file has been superseded by docs/index.html . 2004-05-12 02:48:30 +00:00

This file is a placeholder; see docs/index.html for documentation.