clang optimizer does not remove unused/uneeded variables(and accesses) from global scope

hi llvmdev list

im currently investigating a missing optimizer feature in VS2010 - and comparing the VS2010 results with the result of clang 3.1

i've downloaded clang from -> Experimental Clang Binaries for Mingw32/x86

clang --version
clang version 3.1 (branches/release_31)
Target: i686-pc-mingw32
Thread model: posix

----- test.c

typedef unsigned char byte_t;
typedef unsigned int dword_t;

byte_t byte;
dword_t dword;

int main(int argc, char** argv)
     dword_t random = (dword_t)argv;

     byte = (byte_t)random;
     dword = (dword_t)random;

     dword_t result = 3*(byte+dword);

     return result;