summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Cleanup switch so it doesn't have a default case.Eli Friedman2009-12-181-1/+7
| | | | llvm-svn: 91725
* Fix for PR5830: fix the computation of the offset to a virtual base.Eli Friedman2009-12-181-3/+36
| | | | llvm-svn: 91724
* Make this comment more precise.Dan Gohman2009-12-181-1/+1
| | | | llvm-svn: 91722
* Add and tidy doxygen comments and move implementation of toString() to newlyKen Dyck2009-12-183-14/+52
| | | | | | created CharUnits.cpp. llvm-svn: 91719
* Fix an issue in googletest where a name was used before it was defined.Eli Friedman2009-12-181-1/+6
| | | | llvm-svn: 91718
* Increase opportunities to optimize (brcond (srl (and c1), c2)).Evan Cheng2009-12-182-1/+57
| | | | llvm-svn: 91717
* C++Tests: Add target paths for LLVM-Code-Compile checks as well.Daniel Dunbar2009-12-181-1/+33
| | | | llvm-svn: 91716
* Fix gcc warning.Eli Friedman2009-12-181-1/+2
| | | | llvm-svn: 91715
* Fix a few MSVC warnings.Daniel Dunbar2009-12-182-7/+5
| | | | llvm-svn: 91714
* Catch more cases of a pointer being marked garbage twice. This helps whenRafael Espindola2009-12-182-1/+31
| | | | | | debugging some leaks (PR5770 in particular). llvm-svn: 91713
* Reapply 91459 with a simple fix for the problem that broke the x86_64-darwinBob Wilson2009-12-182-405/+514
| | | | | | | bootstrap. This also replaces the WeakVH references that Chris objected to with normal Value references. llvm-svn: 91711
* Enhance GRExprEngine::VisitCallExpr() to be used in an lvalue context. ↵Ted Kremenek2009-12-183-7/+60
| | | | | | Uncovered a new failing test case along the way, but we're making progress on handling C++ references in the analyzer. llvm-svn: 91710
* Fix another parallel make race condition.Bob Wilson2009-12-181-0/+1
| | | | llvm-svn: 91709
* Formalize MDNode's function-localness:Victor Hernandez2009-12-184-17/+76
| | | | | | | | | | | - an MDNode is designated as function-local when created, and continues to be even if its operands are modified not to refer to function-local IR - function-localness is designated via lowest bit in SubclassData - getLocalFunction() descends MDNode tree to see if it is consistently function-local Add verification of MDNodes to checks that MDNodes are consistently function-local. Update AsmWriter to use isFunctionLocal(). llvm-svn: 91708
* Use System/DataTypes.h, stdint.h isn't portable.Daniel Dunbar2009-12-181-1/+1
| | | | llvm-svn: 91707
* Fix Win32 Path.inc for API update.Daniel Dunbar2009-12-181-1/+1
| | | | llvm-svn: 91706
* ARM: Define __thumb2__ for V6T2 targets and only defineDaniel Dunbar2009-12-181-5/+4
| | | | | | __USING_SJLJ_EXCEPTIONS__ on Darwin. llvm-svn: 91705
* Extend code-completion results with the type of each resultDouglas Gregor2009-12-1815-88/+166
| | | | llvm-svn: 91702
* Revert this use of NUW/NSW also. Overflow-undefined multiplication isn'tDan Gohman2009-12-181-3/+6
| | | | | | associative either. llvm-svn: 91701
* ARM: Fix predefines (__ARM_ARCH_..., __REGISTER_PREFIX).Daniel Dunbar2009-12-184-56/+72
| | | | | | | - This should be done leveraging the backend, but I'm a little refactored out. I'll fix it one day, I promise. llvm-svn: 91700
* When diagnosing that a decl ref expr is not a value, note the declarationJohn McCall2009-12-181-1/+1
| | | | | | with "declared at" rather than "previous declaration is here". llvm-svn: 91699
* Debian has x86_64-linux-gnu, not x86_64-pc-linux-gnu, so add it.Torok Edwin2009-12-181-0/+3
| | | | llvm-svn: 91698
* Try to de-bork DISABLE_SMART_POINTERS buildDouglas Gregor2009-12-181-7/+7
| | | | llvm-svn: 91696
* CK_UserDefinedConversion is a valid kind when doing copy ctor elision.Anders Carlsson2009-12-181-1/+2
| | | | llvm-svn: 91695
* Move the 4.4.2 c++ include search to the top, otherwise it was picking the 4.1.3Torok Edwin2009-12-181-5/+5
| | | | | | | dirs on my system. Which is wrong, since it was missing the x86_64-pc-linux-gnu suffix. llvm-svn: 91694
* Fix libstdc++ build on ARM linux and part of PR5770.Rafael Espindola2009-12-181-0/+3
| | | | | | | | | | | | | | MI was not being used but it was also not being deleted, so it was kept in the garbage list. The memory itself was freed once the function code gen was done. Once in a while the codegen of another function would create an instruction on the same address. Adding it to the garbage group would work once, but when another pointer was added it would cause an assert as "Cache" was about to be pushed to Ts. For a patch that make us detect problems like this earlier, take a look at http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20091214/092758.html With that patch we assert as soon and the new instruction is added to the garbage set. llvm-svn: 91691
* Change clang_codeComplete API to return the results in a structure onDouglas Gregor2009-12-184-54/+104
| | | | | | | | the heap, so that clients are not forced to copy the results during the initial iteration. A separate clang_disposeCodeCompleteResults function frees the returned results. llvm-svn: 91690
* Change the return type of ASTContext::getTypeSizeInChars() from uint64_t to theKen Dyck2009-12-182-5/+7
| | | | | | | new opaque value type, CharUnits. This will help us avoid accidentally mixing quantities that are in bit and character units. llvm-svn: 91689
* Rename getByteSize() and getTypeSizeInBytes() in ASTContext to getCharWidth()Ken Dyck2009-12-182-8/+8
| | | | | | | and getTypeSizeInChars() to reflect their basis in character type units, not that of a possibly independent architecture-specific byte. llvm-svn: 91688
* Fix regression I introduced when dynamic_cast-ing to a reference type.Anders Carlsson2009-12-182-1/+9
| | | | llvm-svn: 91687
* It's perfectly fine to see UserDefinedConversion casts when emitting scalar ↵Anders Carlsson2009-12-182-1/+7
| | | | | | expressions. llvm-svn: 91686
* Tweaks for PS3 target.John Thompson2009-12-181-0/+3
| | | | llvm-svn: 91685
* Removing trailing directory separator, to make stat workJohn Thompson2009-12-181-0/+5
| | | | llvm-svn: 91684
* Initial implementation of CharUnits, an opaque value class for representingKen Dyck2009-12-181-0/+141
| | | | | | sizes, offsets, and alignments in character units. llvm-svn: 91683
* Fix wrong frame pointer save offset in the 64-bit PowerPC SVR4 ABI.Tilmann Scheller2009-12-181-1/+1
| | | | | | Patch contributed by Ken Werner of IBM! llvm-svn: 91681
* Add support for calls through function pointers in the 64-bit PowerPC SVR4 ABI.Tilmann Scheller2009-12-184-3/+141
| | | | | | Patch contributed by Ken Werner of IBM! llvm-svn: 91680
* Make 'set_option' work with list options.Mikhail Glushenkov2009-12-182-11/+29
| | | | | | This works now: (set_option "list_opt", ["val_1", "val_2", "val_3"]) llvm-svn: 91679
* Set up the semantic context correctly when declaring a friend class template.John McCall2009-12-182-4/+15
| | | | llvm-svn: 91678
* Look through using decls when checking whether a name is an acceptableJohn McCall2009-12-181-1/+13
| | | | | | | | | | nested-name specifier name. I accidentally checked in the test case for this in the last commit --- fortunately, that refactor was inspired by having debugged this problem already, so I can fix the bug quick (though probably not fast enough for the buildbots). llvm-svn: 91677
* Pull Sema::isAcceptableLookupResult into SemaLookup. Extract the criteria intoJohn McCall2009-12-185-132/+122
| | | | | | | | | | | | | | | different functions and pick the function at lookup initialization time. In theory we could actually divide the criteria functions into N different functions for the N cases, but it's so not worth it. Among other things, lets us invoke LookupQualifiedName without recomputing IDNS info every time. Do some refactoring in SemaDecl to avoid an awkward special case in LQN that was only necessary for redeclaration testing for anonymous structs/unions --- which could be done more efficiently with a scoped lookup anyway. llvm-svn: 91676
* Optimize icmp of null and select of two constants even if the select hasEli Friedman2009-12-182-15/+33
| | | | | | multiple uses. (The construct in question was found in gcc.) llvm-svn: 91675
* On recent Intel u-arch's, folding loads into some unary SSE instructions canEvan Cheng2009-12-187-17/+110
| | | | | | | | | | | | | | | | | | | be non-optimal. To be precise, we should avoid folding loads if the instructions only update part of the destination register, and the non-updated part is not needed. e.g. cvtss2sd, sqrtss. Unfolding the load from these instructions breaks the partial register dependency and it can improve performance. e.g. movss (%rdi), %xmm0 cvtss2sd %xmm0, %xmm0 instead of cvtss2sd (%rdi), %xmm0 An alternative method to break dependency is to clear the register first. e.g. xorps %xmm0, %xmm0 cvtss2sd (%rdi), %xmm0 llvm-svn: 91672
* clang -cc1: Rename -mcpu to -target-cpu to match other target options and ↵Daniel Dunbar2009-12-187-11/+11
| | | | | | not alias driver/backend option. llvm-svn: 91671
* Address some of Anders commentsDouglas Gregor2009-12-181-4/+8
| | | | llvm-svn: 91670
* Switch the initialization required by return statements over to theDouglas Gregor2009-12-1822-78/+427
| | | | | | | | | | | | | | | | | | | | | | | | | | | | new InitializationSequence. This fixes some bugs (e.g., PR5808), changed some diagnostics, and caused more churn than expected. What's new: - InitializationSequence now has a "C conversion sequence" category and step kind, which falls back to - Changed the diagnostics for returns to always have the result type of the function first and the type of the expression second. CheckSingleAssignmentConstraints to peform checking in C. - Improved ASTs for initialization of return values. The ASTs now capture all of the temporaries we need to create, but intentionally do not bind the tempoary that is actually returned, so that it won't get destroyed twice. - Make sure to perform an (elidable!) copy of the class object that is returned from a class. - Fix copy elision in CodeGen to properly see through the subexpressions that occur with elidable copies. - Give "new" its own entity kind; as with return values and thrown objects, we don't bind the expression so we don't call a destructor for it. Note that, with this patch, I've broken returning move-only types in C++0x. We'll fix it later, when we tackle NRVO. llvm-svn: 91669
* Revert this use of NSW; this one isn't actually safe. NSW additionDan Gohman2009-12-181-4/+2
| | | | | | is not reassociative. llvm-svn: 91667
* Eliminte unnecessary uses of <cstdio>.Dan Gohman2009-12-182-5/+3
| | | | llvm-svn: 91666
* Add utility routines for NSW multiply.Dan Gohman2009-12-187-0/+42
| | | | llvm-svn: 91664
* Add utility routines for creating integer negation operators with NSW set.Dan Gohman2009-12-188-0/+37
| | | | | | Integer negation only overflows with INT_MIN, but that's an important case. llvm-svn: 91662
* Add -dwarf-debug-flags, which provides a way to embed the cc1 level options usedDaniel Dunbar2009-12-189-7/+51
| | | | | | | | to compile a translation unit into the debug info for that file. - Used by parts of Darwin build process to check compiler flags, etc. - <rdar://problem/7256886> clang does not emit AT_APPLE_flags llvm-svn: 91661
OpenPOWER on IntegriCloud