- Dec 08, 2007
-
-
Owen Anderson authored
Fix several cache coherence bugs in MemDep/GVN that were found. Also add some (disabled) debugging code to make such problems easier to diagnose in the future, written by Duncan Sands. llvm-svn: 44695
-
Evan Cheng authored
llvm-svn: 44694
-
Fariborz Jahanian authored
used as reciver type of a message expression. llvm-svn: 44693
-
Evan Cheng authored
llvm-svn: 44692
-
Evan Cheng authored
llvm-svn: 44691
-
Chuck Rose III authored
llvm-svn: 44690
- Dec 07, 2007
-
-
Steve Naroff authored
Omit the field name when including the super class structure template. This allows us to access a superclasses ivars without deriving the absolute path. The comments below say a bit more... llvm-svn: 44688
-
Bill Wendling authored
_foo: li r2, 0 LBB1_1: ; bb li r5, 0 stw r5, 0(r3) addi r2, r2, 1 addi r3, r3, 4 cmplw cr0, r2, r4 bne cr0, LBB1_1 ; bb LBB1_2: ; return blr to: _foo: li r2, 0 li r5, 0 LBB1_1: ; bb stw r5, 0(r3) addi r2, r2, 1 addi r3, r3, 4 cmplw cr0, r2, r4 bne cr0, LBB1_1 ; bb LBB1_2: ; return blr ZOMG!! :-) Moar to come... llvm-svn: 44687
-
Evan Cheng authored
llvm-svn: 44686
-
Fariborz Jahanian authored
type. llvm-svn: 44685
-
Steve Naroff authored
Have Sema::CheckConstantInitList skip semantic analysis when the element type is a record (until we implement the FIXME). This removes a bogus error for the following code... snarofflocal% cat bug.m #import <Foundation/NSGeometry.h> #define NUMHELICOPTERRECTS 5 static NSRect helicopterRects[NUMHELICOPTERRECTS] = { {{27, 0}, {18, 11}}, // Bottom {{0, 8}, {4, 11}}, // Tail {{0, 16}, {50, 1}}, {{22, 5}, {18, 12}}, // Body {{0, 10}, {42, 3}} }; llvm-svn: 44684
-
Steve Naroff authored
Lookup methods in the global pool even when a statically typed object's class interface isn't in scope! As the comment in the code indicates, I'm not fond of this. Nevertheless, gcc compat is a goal. Here is the case I'm talking about... #import <Foundation/Foundation.h> @interface AnyClass : NSObject - (NSRect)rect; @end @class Helicopter; static void func(Helicopter *obj) { NSRect r = [obj rect]; } ...before this patch, we would warn/error. With this patch, everything "just works". llvm-svn: 44682
-
Fariborz Jahanian authored
llvm-svn: 44681
-
Evan Cheng authored
llvm-svn: 44676
-
Owen Anderson authored
llvm-svn: 44674
-
Steve Naroff authored
Rewrite 'super' within a class method. This required some minor tweaks to the front-end. llvm-svn: 44673
-
Evan Cheng authored
llvm-svn: 44672
-
Evan Cheng authored
llvm-svn: 44671
-
Fariborz Jahanian authored
"@class Protocol;" llvm-svn: 44670
-
- Dec 06, 2007
-
-
Evan Cheng authored
Remove a bogus optimization. It's not possible to do a move to low element to a <8 x i16> or <16 x i8> vector. llvm-svn: 44669
-
Evan Cheng authored
llvm-svn: 44668
-
Anders Carlsson authored
llvm-svn: 44666
-
Fariborz Jahanian authored
to rewriter (my previous patch). llvm-svn: 44665
-
Devang Patel authored
struct STestB1 {char a; char b:2; } stb1; struct STestB2 {char a; char b:5; char c:4} stb2; llvm-svn: 44664
-
Dale Johannesen authored
Simpler and safer. llvm-svn: 44663
-
Fariborz Jahanian authored
llvm-svn: 44662
-
Chris Lattner authored
llvm-svn: 44661
-
Evan Cheng authored
llvm-svn: 44660
-
Chris Lattner authored
only disable it if we don't know it will be obviously profitable. Still fixme, but less so. :) llvm-svn: 44658
-
Chris Lattner authored
the X86 backend are needed before this should be enabled by default. llvm-svn: 44657
-
Chris Lattner authored
_foo: movl $12, %eax andl 4(%esp), %eax movl _array(%eax), %eax ret instead of: _foo: movl 4(%esp), %eax shrl $2, %eax andl $3, %eax movl _array(,%eax,4), %eax ret As it turns out, this triggers all the time, in a wide variety of situations, for example, I see diffs like this in various programs: - movl 8(%eax), %eax - shll $2, %eax - andl $1020, %eax - movl (%esi,%eax), %eax + movzbl 8(%eax), %eax + movl (%esi,%eax,4), %eax - shll $2, %edx - andl $1020, %edx - movl (%edi,%edx), %edx + andl $255, %edx + movl (%edi,%edx,4), %edx Unfortunately, I also see stuff like this, which can be fixed in the X86 backend: - andl $85, %ebx - addl _bit_count(,%ebx,4), %ebp + shll $2, %ebx + andl $340, %ebx + addl _bit_count(%ebx), %ebp llvm-svn: 44656
-
Chris Lattner authored
llvm-svn: 44655
-
Chris Lattner authored
llvm-svn: 44654
-
Chris Lattner authored
llvm-svn: 44653
-
Chuck Rose III authored
llvm-svn: 44651
-
Chris Lattner authored
llvm-svn: 44650
-
Dale Johannesen authored
llvm-svn: 44649
-
Fariborz Jahanian authored
crash because of this. llvm-svn: 44648
-
Chris Lattner authored
to create a JIT. This lets you specify JIT-specific configuration items like the JITMemoryManager to use. llvm-svn: 44647
-