Commit Graph

25009 Commits

Author SHA1 Message Date
Fariborz Jahanian f2afc804c3 twik to my previous patch for pr7936.
Build qualified version of ObjC pointers (not pointers) when
doing overload resolution.

llvm-svn: 111740
2010-08-21 17:11:09 +00:00
Benjamin Kramer 1e0cb91249 Avoid including mm_malloc.h in a cc1 test, it pulls in system headers.
llvm-svn: 111738
2010-08-21 13:39:38 +00:00
Zhongxing Xu faf150bbc3 Place method near its class.
llvm-svn: 111737
2010-08-21 12:24:38 +00:00
Zhongxing Xu 7a1a8e25ea Remove dead code.
llvm-svn: 111736
2010-08-21 11:05:46 +00:00
Zhongxing Xu e11f17f5ed Improve comments.
llvm-svn: 111735
2010-08-21 11:03:37 +00:00
Zhongxing Xu 5cba6c85c9 Remove a special case for OSAtomic functions. We can already bind and retrieve
with the same binding key. The only trick here is that sometimes the Symbolic
region is stored in with an LocAsInteger wrapper. We unwrap that in 
SVal::getAsLocSymbol().

llvm-svn: 111734
2010-08-21 11:00:26 +00:00
John McCall 4887165193 DeclPtrTy -> Decl *
llvm-svn: 111733
2010-08-21 09:40:31 +00:00
Zhongxing Xu e70b6d17a4 Remove dead code. We no longer need it because now we treat the first element
region and its base region as the same binding key.

llvm-svn: 111732
2010-08-21 08:55:42 +00:00
Zhongxing Xu cdadf8d9b2 remove unused variable.
llvm-svn: 111731
2010-08-21 06:51:45 +00:00
Zhongxing Xu adc3ac7012 When invalidating a struct region, whether its type definition exists is not
relavant any more, because we set its default value to a symbol, and the type of
default symbolic value is irrelavant.

llvm-svn: 111730
2010-08-21 06:26:59 +00:00
Michael J. Spencer 1d9c76d637 Fix typo in comment.
llvm-svn: 111729
2010-08-21 06:05:06 +00:00
John McCall fed68df76c This test needs a triple: it's checking the alignment of a pointer in bytes.
llvm-svn: 111727
2010-08-21 04:58:16 +00:00
Daniel Dunbar 5c816378f8 IRgen: Set the alignment correctly when creating LValue for a decls.
- Fixes PR5598.
 - Review appreciated.

llvm-svn: 111726
2010-08-21 04:20:22 +00:00
Daniel Dunbar 49e5d12e59 CodeGenFunction: Eliminate unused MakeQualifiers() function.
llvm-svn: 111725
2010-08-21 04:13:07 +00:00
Daniel Dunbar 26d2c39b95 Simplify.
llvm-svn: 111724
2010-08-21 04:05:54 +00:00
Daniel Dunbar 226bddaff1 IRgen/CGValue: Give MakeAddrLValue() an alignment argument, and eliminate old form of MakeAddr().
llvm-svn: 111723
2010-08-21 03:58:45 +00:00
Daniel Dunbar 4bb04cee6a IRgen: Move remaining LValue::Set... methods to LValue::set... (non-static) methods.
llvm-svn: 111722
2010-08-21 03:51:29 +00:00
Daniel Dunbar f166a523f1 IRgen: Move remaining MakeAddr() calls to MakeAddrLValue().
llvm-svn: 111721
2010-08-21 03:44:13 +00:00
Daniel Dunbar e8b6cda15a IRgen: The CVR qualifiers in a subobject adjustment should just come from the
field (I think).
 - Doug, please check.

llvm-svn: 111720
2010-08-21 03:37:02 +00:00
Daniel Dunbar b657ac51cf IRgen/CGValue: Add getQuals(), so qualifiers can be modified on an LValue.
llvm-svn: 111719
2010-08-21 03:29:54 +00:00
Daniel Dunbar e50dda95ee IRgen/LValue: Add LValue::setNonGC instead of SetObjCNonGC, for consistency with isNonGC().
llvm-svn: 111718
2010-08-21 03:22:38 +00:00
Daniel Dunbar 2e442a00b3 IRgen: Switch more MakeAddr() users to MakeAddrLValue; this time for calls which were previously not computing the qualifier list. In most cases, I don't think it matters, but I believe this is conservatively more correct / consistent.
llvm-svn: 111717
2010-08-21 03:15:20 +00:00
Daniel Dunbar f6fb7e2b53 IRgen: Switch a bunch of trivial MakeAddr calls to use MakeAddrLValue.
llvm-svn: 111716
2010-08-21 03:08:16 +00:00
Daniel Dunbar b1d94a98dd IRgen: Eliminate EmitPredefinedFunctionName(), it doesn't need to be factored out.
llvm-svn: 111715
2010-08-21 03:01:12 +00:00
Daniel Dunbar 93b00a98a3 IRgen: Add an LValue::MakeAddr variant which takes a type and uses that to build
the qualifiers.

Also, add CodeGenFunction::MakeAddrLValue() helper function which passes in the
ASTContext.

llvm-svn: 111714
2010-08-21 02:53:44 +00:00
Daniel Dunbar 30eb5fa3ba Improve test coverage.
llvm-svn: 111712
2010-08-21 02:46:28 +00:00
Dan Gohman 25f9aaedc6 Delete an obsolete comment.
llvm-svn: 111711
2010-08-21 02:41:29 +00:00
Daniel Dunbar e3b8dd433c IRgen/CGValue: Add alignment to LValue, and use that alignment when generating lvalue load/stores.
llvm-svn: 111710
2010-08-21 02:39:23 +00:00
Daniel Dunbar ab4dbea096 IRgen/LValue: Rename SetQualifiers() to Initialize().
llvm-svn: 111708
2010-08-21 02:31:58 +00:00
Daniel Dunbar 0381634a61 IRgen: Change Emit{Load,Store}OfScalar to take a required Alignment argument and
update callers as best I can.
 - This is a work in progress, our alignment handling is very horrible / sketchy -- I am just aiming for monotonic improvement.
 - Serious review appreciated.

llvm-svn: 111707
2010-08-21 02:24:36 +00:00
Daniel Dunbar a94e3d1124 IRgen: Use Ty consistently in this function.
llvm-svn: 111705
2010-08-21 02:17:08 +00:00
Chris Lattner fee309467b filecheckize test
llvm-svn: 111702
2010-08-21 00:29:50 +00:00
Chris Lattner 20a2b46ca2 fix PR7943, a corner case with the GNU __VA_ARGS__ comma
swallowing extension.

llvm-svn: 111701
2010-08-21 00:27:00 +00:00
Fariborz Jahanian 7a3f3a0402 Contributed test case for PR7936
by Jean-Daniel Dupas.

llvm-svn: 111700
2010-08-21 00:17:33 +00:00
Fariborz Jahanian e4151b590e patch to support comparison involving
objctive-c pointer conversions. Fixes pr7936.

llvm-svn: 111699
2010-08-21 00:10:36 +00:00
Argyrios Kyrtzidis d32ee89ea2 Fix an issue with writing to PCH another included PCH, introduced by the "using an AST on-disk hash table for name lookup" commit.
When including a PCH and later re-emitting to another PCH, the name lookup tables of DeclContexts
may be incomplete, since we now lazily deserialize the visible decls of a particular name.
Fix the issue by iterating over the un-deserialized visible decls and completing the lookup tables
of DeclContexts before writing them out.

llvm-svn: 111698
2010-08-20 23:35:55 +00:00
Argyrios Kyrtzidis b155b21195 Add an iterator to OnDiskChainedHashTable to allow iterating over all the key/data pairs.
llvm-svn: 111697
2010-08-20 23:31:11 +00:00
Fariborz Jahanian 45b31616bd Remove dead code.
llvm-svn: 111693
2010-08-20 23:02:01 +00:00
Benjamin Kramer 6f35f3cd80 Disallow direct inclusion of avxintrin.h. Users should include immintrin.h instead. This matches GCC's behavior.
llvm-svn: 111692
2010-08-20 23:00:03 +00:00
Dan Gohman b1aac3362c CreateTemporaryType doesn't needs its Context argument.
llvm-svn: 111688
2010-08-20 22:39:57 +00:00
Dan Gohman 196f71006e Introduce a new temporary MDNode concept. Temporary MDNodes are
not part of the IR, are not uniqued, and may be safely RAUW'd.
This replaces a variety of alternate mechanisms for achieving
the same effect.

llvm-svn: 111682
2010-08-20 22:02:57 +00:00
Fariborz Jahanian 662f05a035 Rmove dead code.
llvm-svn: 111680
2010-08-20 21:45:03 +00:00
Fariborz Jahanian a50b3a20f1 objective-c ivar refactoring patch. Iterations
over ivars for a varienty of puposes is now
consolidated into two small routines; DeepCollectObjCIvars
and ShallowCollectObjCIvars. 

llvm-svn: 111679
2010-08-20 21:21:08 +00:00
Nick Lewycky fe71238b8d Add a workaround for PR7947, a crash trying to recover from invalid C++ code.
llvm-svn: 111675
2010-08-20 20:54:15 +00:00
Dan Gohman c47a56732c Add a comment.
llvm-svn: 111674
2010-08-20 20:37:16 +00:00
John McCall 8b0666cf79 Another step in the process of making the parser depend on Sema:
- move DeclSpec &c into the Sema library
  - move ParseAST into the Parse library
Reflect this change in a thousand different includes.
Reflect this change in the link orders.

llvm-svn: 111667
2010-08-20 18:27:03 +00:00
Benjamin Kramer 65b9f7b255 Add immintrin meta header.
- This is the official way to get AVX intrinsics, we might want to disallow
  direct inclusion of avxintrin.h, just like GCC does.

llvm-svn: 111660
2010-08-20 18:04:07 +00:00
Chris Lattner 1b55b75e24 alphabeticalize
llvm-svn: 111654
2010-08-20 17:24:02 +00:00
Chris Lattner 21a597a31d hopefully unbreak the msvc buildbot.
llvm-svn: 111653
2010-08-20 17:23:33 +00:00
Douglas Gregor e3b3464d4e Fix a major regression with value-initialization of class types with
trivial default constructors. We're weren't zero-initializing them,
which manifested as <rdar://problem/8320532> (a regression in the GCC
test suite) and is likely to have caused significant other breakage.

llvm-svn: 111650
2010-08-20 16:57:37 +00:00