Commit Graph

49524 Commits

Author SHA1 Message Date
Zhongxing Xu
b393b5080c Implement struct initialization for SCA.
llvm-svn: 58506
2008-10-31 10:53:01 +00:00
Sanjiv Gupta
e3ba47b71b For some targets pointer and int are 16-bits. Allow 16-bits as a valid index
in such cases.

llvm-svn: 58505
2008-10-31 10:26:20 +00:00
Zhongxing Xu
98bb1fa69e Implement array initialization for SCA.
llvm-svn: 58504
2008-10-31 10:24:47 +00:00
Sanjiv Gupta
83b95cc60c Fixed build warning. No functionality change.
llvm-svn: 58503
2008-10-31 10:24:31 +00:00
Zhongxing Xu
87bfa4340c Add test code for array initialization.
llvm-svn: 58502
2008-10-31 10:23:14 +00:00
Sanjiv Gupta
d79592448b Made the mechanism of defining preprocessor defs for maxint, ptrdiff_t, wchar
etc more generic. For some targets, long may not be equal to pointer size. For
example: PIC16 has int as i16, ptr as i16 but long as i32.

Also fixed a few build warnings in assert() functions in CFRefCount.cpp,
CGDecl.cpp, SemaDeclCXX.cpp and ParseDeclCXX.cpp.

llvm-svn: 58501
2008-10-31 09:52:39 +00:00
Daniel Dunbar
ada702ef45 Turn off module verification in Release-Asserts builds.
llvm-svn: 58500
2008-10-31 09:34:21 +00:00
Douglas Gregor
61956c460a Add support for parsing and representing C++ constructor declarations.
Notes:
  - Constructors are never found by name lookup, so they'll never get
    pushed into any scope. Instead, they are stored as an 
    OverloadedFunctionDecl in CXXRecordDecl for easy overloading.
  - There's a new action isCurrentClassName that determines whether an
    identifier is the name of the innermost class currently being defined;
    we use this to identify the declarator-id grammar rule that refers to 
    a type-name. 
  - MinimalAction does *not* support parsing constructors.
  - We now handle virtual and explicit function specifiers.

llvm-svn: 58499
2008-10-31 09:07:45 +00:00
Daniel Dunbar
f8362f9e5d "One" line fix for -parse-noop failure, "id" and several other things
were being treated as type names for non-Objective-C files.
 - Other lines are just because MinimalAction didn't have access to
   the LangOptions.

llvm-svn: 58498
2008-10-31 08:56:51 +00:00
Daniel Dunbar
0c248e7ed8 Debug info: Bug fix, function types should always include the return
type.

llvm-svn: 58497
2008-10-31 08:12:03 +00:00
Zhongxing Xu
ce71638c0d Implement BindStruct and fix a bug in RetriveStruct.
llvm-svn: 58496
2008-10-31 08:10:01 +00:00
Zhongxing Xu
4de1c851d3 Fix 80-col violations.
llvm-svn: 58495
2008-10-31 07:26:14 +00:00
Zhongxing Xu
6c0d588942 Implement load from struct region. Instead of returning an UnknownVal(), we create a CompoundVal by loading from each field of the struct.
llvm-svn: 58494
2008-10-31 07:16:08 +00:00
Zhongxing Xu
5e23c5bf49 Make CompoundLiteralRegion a subclass of TypedRegiion.
llvm-svn: 58493
2008-10-31 06:30:35 +00:00
Zhongxing Xu
2caf586d2f Add a tentative assertion.
llvm-svn: 58492
2008-10-31 06:05:32 +00:00
Ted Kremenek
d15b2b1121 On Mac OS X, use TMPDIR as the default location to place analysis results. This is a more secure location for such files, and addresses <rdar://problem/6334220>.
llvm-svn: 58491
2008-10-31 05:48:42 +00:00
Daniel Dunbar
d678ae2da3 Quick fix for PR2950, infinite loop generating debug info for
recursive types.
 - Style will be clean up in further patches.

llvm-svn: 58490
2008-10-31 04:04:54 +00:00
Bill Wendling
6d70df0b05 Don't skip over all "terminator" instructions when determining where to put the
callee-saved restore code. It could skip over conditional jumps
accidentally. Instead, just skip the "return" instructions.

llvm-svn: 58489
2008-10-31 04:00:23 +00:00
Daniel Dunbar
a290ded36a Formatting tweaks.
- No functionality change.

llvm-svn: 58488
2008-10-31 03:54:29 +00:00
Zhongxing Xu
121a53a176 Fix a comment.
llvm-svn: 58487
2008-10-31 03:01:26 +00:00
Daniel Dunbar
a1c4fcfc29 Fix warning.
llvm-svn: 58486
2008-10-31 01:50:01 +00:00
Oscar Fuentes
39304667af CMake: Fix some unwanted commentary line wraps on the last change.
llvm-svn: 58485
2008-10-31 01:37:26 +00:00
Oscar Fuentes
c999dfadf1 CMake: Establish dependencies among executables and libraries, using
data manually extracted from llvm-config.

llvm-svn: 58484
2008-10-31 01:24:51 +00:00
Dan Gohman
99cdf8893e Use MOVSSmr instead of EXTRACTPSmr in the case of extracting
vector element 0 for a store, as it's smaller and faster.

llvm-svn: 58483
2008-10-31 00:57:24 +00:00
Ted Kremenek
d119c0bd24 Added missing 'expected-warning'
llvm-svn: 58481
2008-10-31 00:20:13 +00:00
Ted Kremenek
20cf431bce Enhance compound literal test case.
llvm-svn: 58480
2008-10-31 00:19:42 +00:00
Ted Kremenek
289c37ad8d Use llvm::raw_string_ostream instead of std::ostringstream.
llvm-svn: 58479
2008-10-31 00:18:30 +00:00
Ted Kremenek
83214f9f9a Enhance path-sensitive return-of-stack-address check to print out the line number of a compound literal (whose address is being returned) instead of printing out the hex representation of the pointer address of the CompoundLiteralExpr.
llvm-svn: 58478
2008-10-31 00:13:20 +00:00
Ted Kremenek
21365a31c2 Add accessor method to CompoundLiteralRegion to retrieve the CompoundLiteralExpr.
llvm-svn: 58476
2008-10-31 00:04:54 +00:00
Jim Grosbach
2589604d85 Revert errant deletion. The target needs to be able to specify that it doesn't want the generic constant pool to be emitted.
llvm-svn: 58475
2008-10-30 23:44:39 +00:00
Evan Cheng
c696ef9b11 I think we got non-machine specific constpool entries covered.
llvm-svn: 58474
2008-10-30 23:43:36 +00:00
Ted Kremenek
883af75f01 Updated checker build.
llvm-svn: 58473
2008-10-30 23:41:37 +00:00
Ted Kremenek
3d71fe1503 Add missing "expected warning".
Add compound literal with empty initializer (just to test the analyzer handles it).

llvm-svn: 58470
2008-10-30 23:17:05 +00:00
Ted Kremenek
4c276c736c Extend "followsFundamentalRule" to ignore prefix '_' characters.
llvm-svn: 58469
2008-10-30 23:14:58 +00:00
Ted Kremenek
828e6dff9b Handle the case in VisitInitListExprs where there are no initializers in the compound literal.
llvm-svn: 58468
2008-10-30 23:14:36 +00:00
Ted Kremenek
ae4d61efb2 Add method that will be invoked using the dot-syntax just to test that the missing -dealloc checker handles it.
llvm-svn: 58467
2008-10-30 23:00:13 +00:00
Ted Kremenek
6955463c24 Distinguish between self.X = ... where self.X is a property reference and self.X is an implicit call to setX.
llvm-svn: 58462
2008-10-30 22:28:48 +00:00
Cedric Venet
6c9f3ec66c Change the name of the generated solution file for a CMake build. (from 'project' to 'LLVM').
!!!!!!!!!! Warning !!!!!!!!!!!!!!!
If you already have created a solution with cmake, you will need to manually open to the new one.

llvm-svn: 58461
2008-10-30 21:22:00 +00:00
Duncan Sands
aa53c491b2 Testcase for PR2987.
llvm-svn: 58459
2008-10-30 21:13:11 +00:00
Dan Gohman
13cbcf1c18 Canonicalize sext(i1) to i1?-1:0, and update various instcombine
optimizations accordingly.

llvm-svn: 58457
2008-10-30 20:40:10 +00:00
Duncan Sands
8311657b98 Testcase for PR2986.
llvm-svn: 58456
2008-10-30 20:34:30 +00:00
Duncan Sands
e18295c258 Fix PR2986: do not use a potentially illegal
type for the shift amount type.  Add a check
that shifts and rotates use the type returned
by getShiftAmountTy for the amount.  This
exposed some problems in CellSPU and PPC,
which have already been fixed.

llvm-svn: 58455
2008-10-30 20:26:50 +00:00
Daniel Dunbar
82d87d6203 Set svn:ignore on cscope.{files,out} in root llvm directory.
llvm-svn: 58453
2008-10-30 19:35:32 +00:00
Daniel Dunbar
5666feb09f Set svn:ignore for some Release-Asserts and Output dirs.
llvm-svn: 58452
2008-10-30 19:31:35 +00:00
Duncan Sands
1310574b0f Shift amounts should have type getShiftAmountTy
(i32 for PPC, not i8).  Correct this, and some
formatting while there.

llvm-svn: 58451
2008-10-30 19:28:32 +00:00
Daniel Dunbar
3933e66a89 Add InlineCost class for represent the estimated cost of inlining a
function.
 - This explicitly models the costs for functions which should
   "always" or "never" be inlined. This fixes bugs where such costs
   were not previously respected.

llvm-svn: 58450
2008-10-30 19:26:59 +00:00
Duncan Sands
0852f48d1d Shift amounts should have the type given by
getShiftAmountTy (i32 in the case of CellSPU).

llvm-svn: 58449
2008-10-30 19:24:28 +00:00
Ted Kremenek
b7d13803ce Improve compound literal test case.
llvm-svn: 58447
2008-10-30 18:46:50 +00:00
Ted Kremenek
0f0adc97c5 Use the correct predecessor node.
llvm-svn: 58446
2008-10-30 18:37:08 +00:00
Ted Kremenek
e40b698953 Pretty-printing for SVals now mainly uses llvm::raw_ostream. We have an adapter for std::ostream, but this will be removed in the future.
llvm-svn: 58445
2008-10-30 18:35:10 +00:00