- Sep 22, 2009
-
-
Daniel Dunbar authored
llvm-svn: 82514
-
Anders Carlsson authored
llvm-svn: 82513
-
Mike Stump authored
llvm-svn: 82512
-
Mike Stump authored
llvm-svn: 82511
-
Daniel Dunbar authored
llvm-svn: 82510
-
Daniel Dunbar authored
llvm-svn: 82509
-
Mike Stump authored
llvm-svn: 82508
-
Daniel Dunbar authored
Switch DIDescriptor to use a TrackingVH. - This makes it much safer to work with debug info, since it was extraordinarily easy to have dangling pointers thanks to MDNode uniquing. llvm-svn: 82507
-
Daniel Dunbar authored
This is designed for tracking a value even when it might move (like WeakVH), but it is an error to delete the referenced value (unlike WeakVH0. TrackingVH is templated like AssertingVH on the tracked Value subclass, it is an error to RAUW a tracked value to an incompatible type. For implementation reasons the latter error is only diagnosed on accesses to a mis-RAUWed TrackingVH, because we don't want a virtual interface in a templated class. The former error is also only diagnosed on access, so that clients are allowed to delete a tracked value, as long as they don't use it. This makes it easier for the client to reason about destruction. llvm-svn: 82506
-
Evan Cheng authored
llvm-svn: 82505
-
Shantonu Sen authored
Block.h/Block_private.h headers, since clients won't know what to set. These are moved into runtime.c as appropriate 2) Use cmake checks for CAS builtins, instead of guessing based on GCC #defines (which aren't set by clang and llvm-gcc anyway) 3) "#pragma mark" isn't supported by FSF gcc, so "#if 0" it out. It should still show up in IDEs that support it 4) Fix some compiler warnings. GCC 4.3.3 seems super strict about %p. function pointers can't be cast to void * either. 5) Avoid a warning for apple_versioning.c that "ISO C does not allow empty files" llvm-svn: 82504
-
Evan Cheng authored
%S0<def> = EXTRACT_SUBREG %Q0<kill>, 1 to %S0<def> = IMPLICIT_DEF %Q0<imp-use,kill> Implicit_def does not *read* any register so the operand should be marked "implicit". The missing "implicit" marker on the operand is wrong, but it doesn't actually break anything. llvm-svn: 82503
-
Anders Carlsson authored
llvm-svn: 82502
-
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
-