summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Refactor the logic for printf argument type-checking into ↵Ted Kremenek2010-02-165-179/+263
| | | | | | | | | | analyze_printf::ArgTypeResult. Implement printf argument type checking for '%s'. Fixes <rdar://problem/3065808>. llvm-svn: 96310
* Added 'AsWideChar' flag to LengthModifier.Ted Kremenek2010-02-161-1/+2
| | | | llvm-svn: 96309
* Split the main for-each-use loop again, this time for GenerateTruncates,Dan Gohman2010-02-162-1/+63
| | | | | | | as it also peeks at which registers are being used by other uses. This makes LSR less sensitive to use-list order. llvm-svn: 96308
* Reapply 96294; now that I've gotten around to lookingDale Johannesen2010-02-161-4/+26
| | | | | | | at older buildbot messages, I see the failure predates this patch. llvm-svn: 96307
* Skeleton for importing Objective-C classesDouglas Gregor2010-02-164-1/+117
| | | | llvm-svn: 96306
* Apply patch from http://llvm.org/bugs/attachment.cgi?id=4136 now that PR5004 isBill Wendling2010-02-161-1/+5
| | | | | | finished. llvm-svn: 96304
* Something broke. Hard to believe it was this patchDale Johannesen2010-02-161-26/+4
| | | | | | | but it's harder to believe it's the other candidate, so reverting. Temporarily I hope. llvm-svn: 96303
* mark __builtin_longjmp noreturn, PR6312Chris Lattner2010-02-161-1/+1
| | | | llvm-svn: 96302
* When reusing an existing PHI node in a loop, be even moreDan Gohman2010-02-161-11/+39
| | | | | | strict about the requirements. llvm-svn: 96301
* Don't import __va_list_tag or __builtin_va_list when mergingDouglas Gregor2010-02-161-0/+6
| | | | llvm-svn: 96299
* Cope with anonymous tags defined within declarators by structurallyDouglas Gregor2010-02-159-83/+195
| | | | | | | | | | | | | | | | | | | | comparing their types under the assumption that they are equivalent, rather than importing the types and then checking for compatibility. A few minor tweaks here: - Teach structural matching to handle compatibility between function types with prototypes and those without prototypes. - Teach structural matching that an incomplete record decl is the same as any other record decl with the same name. - Keep track of pairs of declarations that we have already checked (but failed to find as structurally matching), so we don't emit diagnostics repeatedly. - When importing a typedef of an anonymous tag, be sure to link the imported tag type to its typedef. With these changes, we survive a repeated import of <stdlib.h> and <stdio.h>. Alas, the ASTNodeImporter is getting a little grotty. llvm-svn: 96298
* Put repeated empty pattern into the AQI instruction class.Bob Wilson2010-02-151-49/+19
| | | | | | | We could almost use a multiclass for the signed/unsigned instructions, but there are only 6 of them so I guess it's not worth it. llvm-svn: 96297
* Fix a memory leak. Patch by Nicolas Geoffray.Evan Cheng2010-02-151-0/+1
| | | | llvm-svn: 96295
* More handling of DBG_VALUE.Dale Johannesen2010-02-151-4/+26
| | | | llvm-svn: 96294
* Convert GRExprEngine's handling of ObjCMessageExprs to use a worklistTed Kremenek2010-02-152-213/+208
| | | | | | to evaluate arguments. llvm-svn: 96293
* Add missed entry to cmake build list fileAnton Korobeynikov2010-02-151-0/+1
| | | | llvm-svn: 96292
* Add Sema support for __builtin_fpclassify by extending the existing check ↵Benjamin Kramer2010-02-154-12/+20
| | | | | | for __builtin_isinf and friends. Part of PR6083. llvm-svn: 96291
* Use ttype encoding consistentlyAnton Korobeynikov2010-02-151-1/+1
| | | | llvm-svn: 96290
* Fix a silly darwin-only typo introduced during merge.Anton Korobeynikov2010-02-151-7/+6
| | | | llvm-svn: 96289
* Move TLOF implementations to libCodegen to resolve layering violation.Anton Korobeynikov2010-02-1518-1025/+1091
| | | | llvm-svn: 96288
* It turns out that we emitted completely wrong common EH frame since the ↵Anton Korobeynikov2010-02-151-7/+9
| | | | | | early beginning! The "z" CIE augmentation mark indicates that there is an extra word containing the size of augmentation section. However, even for frames w/o any augmentation data we emitted size uleb! (this is the case of "unwinding through C code"). Thus frame moves information was emitterd completely wrong. llvm-svn: 96287
* Add suffix for stubs, so we won't have name clashes with private symbols.Anton Korobeynikov2010-02-151-0/+1
| | | | llvm-svn: 96286
* Preliminary patch to improve dwarf EH generation - Hooks to return ↵Anton Korobeynikov2010-02-1520-297/+470
| | | | | | Personality / FDE / LSDA / TType encoding depending on target / options (e.g. code model / relocation model) - MCIzation of Dwarf EH printer to use encoding information - Stub generation for ELF target (needed for indirect references) - Some other small changes here and there llvm-svn: 96285
* Issue a bettter diagnostics for incorrect property setter name.Fariborz Jahanian2010-02-153-1/+7
| | | | | | (radar 7647953). llvm-svn: 96284
* Fix instantiation of template functions with local classes that contain virtualChandler Carruth2010-02-152-1/+28
| | | | | | methods. llvm-svn: 96283
* Teach the verifier to check the condition on a branch and ensure that it hasNick Lewycky2010-02-152-0/+53
| | | | | | 'i1' type. llvm-svn: 96282
* Tell ASTMerge to merge every declaration it sees, rather than cherry-picking ↵Douglas Gregor2010-02-151-15/+1
| | | | | | those declarations that we know will work. llvm-svn: 96280
* Fix PR6300.Jakob Stoklund Olesen2010-02-152-3/+82
| | | | | | | A virtual register can be used before it is defined in the same MBB if the MBB is part of a loop. Teach the implicit-def pass about this case. llvm-svn: 96279
* Reimplement the structural-equality checks used to determine whetherDouglas Gregor2010-02-156-277/+910
| | | | | | | | | | | | | | two types in different AST contexts are equivalent. Rather than transforming the type from one context into the other context, we perform a deep structural comparison of the types. This change addresses a serious problem with recursive data types like struct ListNode { int value; struct ListNode *Next; } xList; llvm-svn: 96278
* Last week we were generating code with duplicate induction variables in thisBob Wilson2010-02-151-0/+4
| | | | | | | test, but the problem seems to have gone away today. Add a check to make sure it doesn't come back. llvm-svn: 96277
* Class continuation now has its own property ast forFariborz Jahanian2010-02-154-59/+110
| | | | | | | | those declared in it. This is to allow duplicate property diagnostics for properties declared in class extensions multiple times (radar 7629420) and for future use. llvm-svn: 96276
* Fix crash in VerifyType when checking Contexts. Because there may not be aNick Lewycky2010-02-151-8/+14
| | | | | | | Module (we were called with verifyFunction and an unowned Function) we can't rely on Mod->getContext(). llvm-svn: 96275
* Test to compile the rewritten file for my last patch.Fariborz Jahanian2010-02-151-0/+13
| | | | | | (radar 7649577 related). llvm-svn: 96274
* Don't try to materialize a function that isn't materializable anyways. ThisNick Lewycky2010-02-151-3/+5
| | | | | | fixes a crash using FPM on a Function that isn't owned by a Module. llvm-svn: 96273
* A function with no Module owner isn't materializable. This fixes F->dump() forNick Lewycky2010-02-151-2/+2
| | | | | | functions not embedded within modules. llvm-svn: 96272
* remove empty file.Chris Lattner2010-02-151-0/+0
| | | | llvm-svn: 96271
* Fix a broken rewritin of @implementation keyword.Fariborz Jahanian2010-02-151-1/+1
| | | | | | (fixes radar 7649577). llvm-svn: 96270
* Simplify.Daniel Dunbar2010-02-151-23/+4
| | | | llvm-svn: 96269
* Remove c++ style comments from c header.Bill Wendling2010-02-151-8/+8
| | | | llvm-svn: 96266
* revert r96241. It breaks two regression tests, isn't documented,Chris Lattner2010-02-152-154/+8
| | | | | | and the testcase needs improvement. llvm-svn: 96265
* Renumber Instruction enums in llvm-c.Bill Wendling2010-02-151-50/+62
| | | | llvm-svn: 96264
* fix PR6305 by handling BlockAddress in a helper functionChris Lattner2010-02-153-3/+29
| | | | | | called by jump threading. llvm-svn: 96263
* Split SelectionDAGISel::IsLegalAndProfitableToFold toEvan Cheng2010-02-158-39/+63
| | | | | | | | IsLegalToFold and IsProfitableToFold. The generic version of the later simply checks whether the folding candidate has a single use. This allows the target isel routines more flexibility in deciding whether folding makes sense. The specific case we are interested in is folding constant pool loads with multiple uses. llvm-svn: 96255
* Optimize the implementation of IdDeclInfo pooling in the IdentifierResolver.John McCall2010-02-151-13/+25
| | | | llvm-svn: 96253
* comment fix.Chris Lattner2010-02-151-1/+1
| | | | llvm-svn: 96248
* Use getLocStart(), instead of getLocEnd(), to record starting location of ↵Devang Patel2010-02-152-1/+16
| | | | | | objc method. :) llvm-svn: 96245
* reverting back 96242 as it still causes a test failure.Sanjiv Gupta2010-02-152-12/+9
| | | | llvm-svn: 96244
* Re-applying 96173 with corresponding changes in test.Sanjiv Gupta2010-02-152-9/+12
| | | | llvm-svn: 96242
* Add support for emitting non-temporal stores for DAGs markedDavid Greene2010-02-152-8/+154
| | | | | | non-temporal. llvm-svn: 96241
* Add non-temporal flags and remove an assumption of default arguments.David Greene2010-02-1512-184/+307
| | | | llvm-svn: 96240
OpenPOWER on IntegriCloud