- Oct 16, 2004
-
-
Chris Lattner authored
llvm-svn: 17054
-
Chris Lattner authored
llvm-svn: 17053
-
Chris Lattner authored
llvm-svn: 17052
-
Chris Lattner authored
llvm-svn: 17051
-
Chris Lattner authored
llvm-svn: 17050
-
Chris Lattner authored
now compile: 'foo() {}' into "ret" instead of "mov EAX, 0; ret" llvm-svn: 17049
-
Chris Lattner authored
llvm-svn: 17048
-
Chris Lattner authored
llvm-svn: 17047
-
Chris Lattner authored
llvm-svn: 17046
-
Chris Lattner authored
llvm-svn: 17045
-
Chris Lattner authored
ignore unreachable instructions llvm-svn: 17044
-
Chris Lattner authored
llvm-svn: 17043
-
Chris Lattner authored
that are initialized with undef. When promoting malloc to a global, start out initialized to undef llvm-svn: 17042
-
Chris Lattner authored
llvm-svn: 17041
-
Chris Lattner authored
llvm-svn: 17040
-
Chris Lattner authored
llvm-svn: 17039
-
Chris Lattner authored
llvm-svn: 17038
-
Chris Lattner authored
llvm-svn: 17037
-
Chris Lattner authored
llvm-svn: 17036
-
Chris Lattner authored
llvm-svn: 17035
-
Chris Lattner authored
llvm-svn: 17034
-
Chris Lattner authored
llvm-svn: 17033
-
Chris Lattner authored
Update for changes in LLVM 1.4 bytecode format. llvm-svn: 17032
-
Chris Lattner authored
llvm-svn: 17031
-
Chris Lattner authored
llvm-svn: 17030
-
Chris Lattner authored
llvm-svn: 17029
-
Chris Lattner authored
llvm-svn: 17027
-
Chris Lattner authored
that the vtables for these classes are only instantiated in this translation unit, not in every xlation unit they are used. llvm-svn: 17026
-
Chris Lattner authored
Instructions.cpp, so that a vtable is not emitted into every translation unit that uses the classes. llvm-svn: 17025
-
Misha Brukman authored
llvm-svn: 17024
-
Chris Lattner authored
llvm-svn: 17023
-
Misha Brukman authored
llvm-svn: 17022
-
- Oct 15, 2004
-
-
Chris Lattner authored
llvm-svn: 17017
-
Chris Lattner authored
llvm-svn: 17016
-
Chris Lattner authored
case: int C[100]; int foo() { return C[4]; } We now codegen: foo: mov %EAX, DWORD PTR [C + 16] ret instead of: foo: mov %EAX, OFFSET C mov %EAX, DWORD PTR [%EAX + 16] ret Other impressive features may be coming later. This patch is contributed by Jeff Cohen! llvm-svn: 17011
-
Chris Lattner authored
contributed by Jeff Cohen! llvm-svn: 17010
-
Chris Lattner authored
constant displacements from global variables. Patch by Jeff Cohen! llvm-svn: 17009
-
Chris Lattner authored
by Jeff Cohen! llvm-svn: 17008
-
Chris Lattner authored
useful when you have a reference like: int A[100]; void foo() { A[10] = 1; } In this case, &A[10] is a single constant and should be treated as such. Only MO_GlobalAddress and MO_ExternalSymbol are allowed to use this field, no other operand type is. This is another fine patch contributed by Jeff Cohen!! llvm-svn: 17007
-
Chris Lattner authored
The problem occurred when trying to reload this instruction: MOV32mr %reg2326, 8, %reg2297, 4, %reg2295 The value of reg2326 was available in EBX, so it was reused from there, instead of reloading it into EDX. The value of reg2297 was available in EDX, so it was reused from there, instead of reloading it into EDI. The value of reg2295 was not available, so we tried reloading it into EBX, its assigned register. However, we checked and saw that we already reloaded something into EBX, so we chose what reg2326 was assigned to (EDX) and reloaded into that register instead. Unfortunately EDX had already been used by reg2297, so reloading into EDX clobbered the value used by the reg2326 operand, breaking the program. The fix for this is to check that the newly picked register is ok. In this case we now find that EDX is already used and try using EDI, which succeeds. llvm-svn: 17006
-