- Sep 22, 2009
-
-
John McCall authored
Several of the existing methods were identical to their respective specializations, and so have been removed entirely. Several more 'leaf' optimizations were introduced. The getAsFoo() methods which imposed extra conditions, like getAsObjCInterfacePointerType(), have been left in place. llvm-svn: 82501
-
-
Fariborz Jahanian authored
gcc-style write-barrier api only. llvm-svn: 82493
-
Ted Kremenek authored
integer pointer. For now just invalidate the fields of the struct. This addresses: <rdar://problem/7185607> [RegionStore] support invalidation of bit fields using integer assignment llvm-svn: 82492
-
Chris Lattner authored
take into consideration that the result of an invoke is only valid in the normal dest, not the unwind dest. This caused 'PHINode::hasConstantValue' to return true in an invalid situation, causing mem2reg to delete a phi that was actually needed. This caused a crash building 483.xalancbmk. llvm-svn: 82491
-
Chris Lattner authored
no functionality change. llvm-svn: 82490
-
Chris Lattner authored
llvm-svn: 82489
-
Chris Lattner authored
llvm-svn: 82488
-
- Sep 21, 2009
-
-
Evan Cheng authored
variable increment / decrement slighter high priority. This has major impact on some micro-benchmarks. On MultiSource/Applications and spec tests, it's a minor win. It also reduce 256.bzip instruction count by 8%, 55 on 164.gzip on i386 / Darwin. llvm-svn: 82485
-
David Goodwin authored
llvm-svn: 82483
-
Douglas Gregor authored
llvm-svn: 82482
-
Douglas Gregor authored
llvm-svn: 82481
-
Fariborz Jahanian authored
llvm-svn: 82478
-
Douglas Gregor authored
a nested-name-specifier that describes how to refer to that name. For example, given: struct Base { int member; }; struct Derived : Base { int member; }; the code-completion result for a member access into "Derived" will provide both "member" to refer to Derived::member (no qualification needed) and "Base::member" to refer to Base::member (qualification included). llvm-svn: 82476
-
Douglas Gregor authored
enumerators when either the user intentionally wrote a qualified name (in which case we just use that nested-name-specifier to match the user's code) or when this is the first "case" statement and we need a qualified name to refer to an enumerator in a different scope. llvm-svn: 82474
-
Dan Gohman authored
the base pointer, without the offset. This matches MemSDNode's new alignment behavior, and holds more interesting information. llvm-svn: 82473
-
Fariborz Jahanian authored
llvm-svn: 82472
-
Dan Gohman authored
llvm-svn: 82471
-
Dan Gohman authored
loads in order to reduce register pressure. llvm-svn: 82470
-
Douglas Gregor authored
of enumeration type, providing the various unused enumerators as options. llvm-svn: 82467
-
Dan Gohman authored
And fix a bug with the behavior of min/max instructions formed from fcmp uge comparisons. Also, use FiniteOnlyFPMath() for this code instead of UnsafeFPMath, as it is more specific. llvm-svn: 82466
-
Dan Gohman authored
PseudoSourceValue already effectively represents the offset from the frame base, so the actual offset should not be added to it. llvm-svn: 82465
-
Chris Lattner authored
bootstrap problems. llvm-svn: 82464
-
Dan Gohman authored
by setPreservesCFG(). llvm-svn: 82463
-
Dan Gohman authored
helpful, and it didn't correctly handle the case of constants input to PHIs for backedges. llvm-svn: 82462
-
Chris Lattner authored
arrays and structs, which cannot be bitcast to integers. llvm-svn: 82460
-
Douglas Gregor authored
real work is performed within Sema. Addresses Chris's comments, but still retains the heavyweight list-of-multimaps data structure. llvm-svn: 82459
-
Mikhail Glushenkov authored
llvm-svn: 82456
-
Dan Gohman authored
llvm-svn: 82455
-
Nuno Lopes authored
llvm-svn: 82454
-
Xerxes Ranby authored
llvm-svn: 82449
-
Jakob Stoklund Olesen authored
The machine code verifier no longer tolerates phi instructions with noop operands. All MBBs on a phi instruction must be in the CFG. llvm-svn: 82448
-
Chris Lattner authored
This doesn't kick in too much because of phi translation issues, but this can be resolved in the future. llvm-svn: 82447
-
Chris Lattner authored
llvm-svn: 82446
-
Chris Lattner authored
llvm-svn: 82444
-
Chris Lattner authored
analysis, one that does the xform. llvm-svn: 82443
-
Chris Lattner authored
llvm-svn: 82442
-
Daniel Dunbar authored
assert if the setModuleInfo hasn't been called. llvm-svn: 82441
-
Chris Lattner authored
llvm-svn: 82440
-
Chris Lattner authored
from a piece of a large store when both are in the same block. This allows clang to compile the testcase in PR4216 to this code: _test_bitfield: movl 4(%esp), %eax movl %eax, %ecx andl $-65536, %ecx orl $32962, %eax andl $40186, %eax orl %ecx, %eax ret This is not ideal, but is a whole lot better than the code produced by llvm-gcc: _test_bitfield: movw $-32574, %ax orw 4(%esp), %ax andw $-25350, %ax movw %ax, 4(%esp) movw 7(%esp), %cx shlw $8, %cx movzbl 6(%esp), %edx orw %cx, %dx movzwl %dx, %ecx shll $16, %ecx movzwl %ax, %eax orl %ecx, %eax ret and dramatically better than that produced by gcc 4.2: _test_bitfield: pushl %ebx call L3 "L00000000001$pb": L3: popl %ebx movl 8(%esp), %eax leal 0(,%eax,4), %edx sarb $7, %dl movl %eax, %ecx andl $7168, %ecx andl $-7201, %ebx movzbl %dl, %edx andl $1, %edx sall $5, %edx orl %ecx, %ebx orl %edx, %ebx andl $24, %eax andl $-58336, %ebx orl %eax, %ebx orl $32962, %ebx movl %ebx, %eax popl %ebx ret llvm-svn: 82439
-