- Mar 29, 2009
-
-
Chris Lattner authored
simplifies some code. llvm-svn: 67993
-
Chris Lattner authored
llvm-svn: 67992
-
Chris Lattner authored
llvm-svn: 67991
-
Chris Lattner authored
pointer's expected number of zero low-bits. This should fix the breakage I introduced recently. llvm-svn: 67990
-
Chris Lattner authored
llvm-svn: 67989
-
Chris Lattner authored
llvm::PointerUnion class. llvm-svn: 67988
-
Chris Lattner authored
you to do things like: /// PointerUnion<int*, float*> P; /// P = (int*)0; /// printf("%d %d", P.is<int*>(), P.is<float*>()); // prints "1 0" /// X = P.get<int*>(); // ok. /// Y = P.get<float*>(); // runtime assertion failure. /// Z = P.get<double*>(); // does not compile. /// P = (float*)0; /// Y = P.get<float*>(); // ok. /// X = P.get<int*>(); // runtime assertion failure. llvm-svn: 67987
-
Chris Lattner authored
some pointer instances have properties that not all of a type have. llvm-svn: 67986
-
Chris Lattner authored
llvm-svn: 67985
-
Chris Lattner authored
llvm-svn: 67984
-
Chris Lattner authored
llvm-svn: 67983
-
Chris Lattner authored
in the low bit position a little bit (haha). llvm-svn: 67982
-
Chris Lattner authored
llvm-svn: 67981
-
Chris Lattner authored
llvm-svn: 67980
-
Chris Lattner authored
function with a new NumLowBitsAvailable enum, which makes the value available as an integer constant expression. Add PointerLikeTypeTraits specializations for Instruction* and Use** since they are only guaranteed 4-byte aligned. Enhance PointerIntPair to know about (and enforce) the alignment specified by PointerLikeTypeTraits. This should allow things like PointerIntPair<PointerIntPair<void*, 1,bool>, 1, bool> because the inner one knows that 2 low bits are free. llvm-svn: 67979
-
Chris Lattner authored
llvm-svn: 67978
-
Chris Lattner authored
llvm-svn: 67977
-
Ted Kremenek authored
llvm-svn: 67976
-
Chris Lattner authored
llvm-svn: 67975
-
Chris Lattner authored
to PointerLikeTypeTraits. llvm-svn: 67974
-
Chris Lattner authored
# low bits free, and move to its own header. llvm-svn: 67973
-
Ted Kremenek authored
llvm-svn: 67972
-
Chris Lattner authored
hackish workarounds from memdep llvm-svn: 67971
-
Chris Lattner authored
llvm-svn: 67970
-
Eli Friedman authored
really intending to take ownership of this; I wrote this mostly because I was curious about how the ARM ABI works. It should be a decent start, though. llvm-svn: 67969
-
Chris Lattner authored
to work around this. llvm-svn: 67968
-
Chris Lattner authored
it to be stuck into a SmallPtrSet. llvm-svn: 67967
-
Anders Carlsson authored
More improvements to namespace aliases. We now support everything except aliases in using directives. llvm-svn: 67966
-
Anders Carlsson authored
llvm-svn: 67965
-
Anders Carlsson authored
llvm-svn: 67964
-
Anders Carlsson authored
Let getIdentifierNamespaceForKind know about aliases and have it treat them just like namespace decls. llvm-svn: 67963
-
- Mar 28, 2009
-
-
Anders Carlsson authored
llvm-svn: 67962
-
Anders Carlsson authored
llvm-svn: 67961
-
Ted Kremenek authored
<rdar://problem/6732151>. llvm-svn: 67954
-
Chris Lattner authored
llvm-svn: 67953
-
Chris Lattner authored
pointer. Its purpose in life is to be a glorified void*, but which does not implicitly convert to void* or other OpaquePtr's with a different UID. Introduce Action::DeclPtrTy which is a typedef for OpaquePtr<0>. Change the entire parser/sema interface to use DeclPtrTy instead of DeclTy*. This makes the C++ compiler enforce that these aren't convertible to other opaque types. We should also convert ExprTy, StmtTy, TypeTy, AttrTy, BaseTy, etc, but I don't plan to do that in the short term. The one outstanding known problem with this patch is that we lose the bitmangling optimization where ActionResult<DeclPtrTy> doesn't know how to bitmangle the success bit into the low bit of DeclPtrTy. I will rectify this with a subsequent patch. llvm-svn: 67952
-
Chris Lattner authored
llvm-svn: 67951
-
Rafael Espindola authored
llvm-svn: 67950
-
Rafael Espindola authored
llvm-svn: 67949
-
Ted Kremenek authored
llvm-svn: 67948
-