summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix style issues and typos found by Duncan.Rafael Espindola2011-09-061-3/+3
| | | | llvm-svn: 139154
* Rename variables in SemaExpr.cpp to give a more consistant naming scheme.Richard Trieu2011-09-061-35/+32
| | | | | | | | | | | | ExprResult LHS, RHS, Expr *LHSExpr, *RHSExpr QualType LHSType, RHSType Functions changed: handleFloatConversion() handleComplexIntConvsersion() llvm-svn: 139153
* As a first step, emit both the compact unwind and CIE/FDEs for a function.Bill Wendling2011-09-061-13/+7
| | | | llvm-svn: 139152
* Rename variables in SemaExpr.cpp to give a more consistant naming scheme.Richard Trieu2011-09-061-23/+24
| | | | | | | | | | | | ExprResult LHS, RHS, Expr *LHSExpr, *RHSExpr QualType LHSType, RHSType Functions changed: handleComplexFloatToComplexFloatConverstion() handleComplexFloatConversion() llvm-svn: 139151
* Try again at r138809 (make DSE more aggressive in removing dead stores at ↵Owen Anderson2011-09-063-79/+192
| | | | | | the end of a function), now with less deleting stores before memcpy's. llvm-svn: 139150
* Advertise support for cxx_range_for as an extension in C++98 mode. Patch by ↵Richard Smith2011-09-063-0/+7
| | | | | | | | Jean-Daniel Dupas! Also provide a modicum of test coverage for ranged for in C++98. llvm-svn: 139149
* Atomic pseudos don't use (as in read) CPSR. They clobber it.Jakob Stoklund Olesen2011-09-063-6/+6
| | | | llvm-svn: 139148
* Now, named mdnode llvm.dbg.cu keeps track of all compile units in a module. ↵Devang Patel2011-09-061-6/+12
| | | | | | Update DebugInfoFinder to collect compile units from llvm.dbg.cu. llvm-svn: 139147
* Finish implementing (de-)serialization of the CXXDefinitionData bitsDouglas Gregor2011-09-063-0/+31
| | | | | | | needed for implicit move constructors and move assignment operators. Fixes PR10847. llvm-svn: 139144
* When performing a derived-to-base cast on the right-hand side of theDouglas Gregor2011-09-064-14/+32
| | | | | | | | | | | | | | | | synthesized move assignment within an implicitly-defined move assignment operator, be sure to treat the derived-to-base cast as an xvalue (rather than an lvalue). Otherwise, we'll end up getting the wrong constructor. Optimize a direct call to a trivial move assignment operator to an aggregate copy, as we do for trivial copy assignment operators, and update the the assertion in CodeGenFunction::EmitAggregateCopy() to cope with this optimization. Fixes PR10860. llvm-svn: 139143
* Split the init.trampoline intrinsic, which currently combines GCC'sDuncan Sands2011-09-0619-81/+289
| | | | | | | | | | | | | | | | | | | | init.trampoline and adjust.trampoline intrinsics, into two intrinsics like in GCC. While having one combined intrinsic is tempting, it is not natural because typically the trampoline initialization needs to be done in one function, and the result of adjust trampoline is needed in a different (nested) function. To get around this llvm-gcc hacks the nested function lowering code to insert an additional parent variable holding the adjust.trampoline result that can be accessed from the child function. Dragonegg doesn't have the luxury of tweaking GCC code, so it stored the result of adjust.trampoline in the memory GCC set aside for the trampoline itself (this is always available in the child function), and set up some new memory (using an alloca) to hold the trampoline. Unfortunately this breaks Go which allocates trampoline memory on the heap and wants to use it even after the parent has exited (!). Rather than doing even more hacks to get Go working, it seemed best to just use two intrinsics like in GCC. Patch mostly by Sanjoy Das. llvm-svn: 139140
* Fix typo in comment again.Nick Lewycky2011-09-061-1/+1
| | | | llvm-svn: 139139
* Apparently we compile the code, not the comments. Thanks Eli!Nick Lewycky2011-09-061-2/+1
| | | | llvm-svn: 139138
* Fix typo in comment.Nick Lewycky2011-09-061-1/+1
| | | | llvm-svn: 139137
* Nope! I had it right the first time. Revert the operative part of r139135 andNick Lewycky2011-09-061-5/+8
| | | | | | add more showing of my work. llvm-svn: 139136
* Fix flipped sign. While there, show my math.Nick Lewycky2011-09-061-2/+9
| | | | llvm-svn: 139135
* No no no, fix typo properly!Nick Lewycky2011-09-061-2/+2
| | | | llvm-svn: 139134
* The logic inside getMulExpr to simplify {a,+,b}*{c,+,d} was wrong, which wasNick Lewycky2011-09-062-16/+54
| | | | | | | visible given a=b=c=d=1, on iteration #1 (the second iteration). Replace it with correct math. Fixes PR10383! llvm-svn: 139133
* PR10867: Work around a bug in lit. Multiple RUN: lines are joined with &&, so:Richard Smith2011-09-069-12/+12
| | | | | | | | | | | | | | | | | RUN: foo RUN: bar || true is equivalent to: RUN: foo && bar || true which is equivalent to: RUN: (foo && bar) || true This resulted in several of the fixit tests not really testing anything. llvm-svn: 139132
* Change the signature of WatchpointLocation ctor so that the second param becomesJohnny Chen2011-09-062-3/+3
| | | | | | | 'size_t size', instead of 'lldb::tid_t tid'. Pass size to the StoppointLocation ctor as well. llvm-svn: 139131
* Revert r139126 due to selfhost failures reported by buildbots.Nick Lewycky2011-09-062-37/+2
| | | | llvm-svn: 139130
* Add missing dependencyPeter Collingbourne2011-09-061-0/+1
| | | | | | Spotted by Ninja. llvm-svn: 139129
* Fix typoPeter Collingbourne2011-09-061-1/+1
| | | | llvm-svn: 139128
* Add the resource directory to the search path for Driver::GetFilePath,Peter Collingbourne2011-09-061-3/+8
| | | | | | | | | | | | | | as well as the search path printed by -print-search-dirs. The main purpose of this change is to cause -print-file-name=include to print the path to the include directory under Clang's resource directory, instead of the system compiler's include directory, whose header files Clang may not be able to parse. Some build scripts will do something like: $(CC) -nostdinc -I`$(CC) -print-file-name=include` to exclude all header paths except the compiler's. llvm-svn: 139127
* Teach SCEV to report a max backedge count in one interesting case inNick Lewycky2011-09-052-2/+37
| | | | | | HowFarToZero; the case for a canonical loop. llvm-svn: 139126
* Add a new MC bit for NaCl (Native Client) mode. NaCl requires that certainNick Lewycky2011-09-0510-3/+55
| | | | | | | instructions are more aligned than the CPU requires, and adds some additional directives, to follow in future patches. Patch by David Meyer! llvm-svn: 139125
* Update the C++ backend to use the new ArrayRef'ified APIs. Patch by arrowdodger!Nick Lewycky2011-09-051-4/+3
| | | | llvm-svn: 139124
* Fix typo in comment.Nick Lewycky2011-09-051-1/+1
| | | | llvm-svn: 139122
* InstSimplify: Don't try to replace an extractvalue/insertvalue pair with the ↵Benjamin Kramer2011-09-052-5/+13
| | | | | | | | original value if types don't match. Fixes clang selfhost. llvm-svn: 139120
* Delete trivial landing pads that just continue unwinding the caughtDuncan Sands2011-09-052-0/+71
| | | | | | exception. llvm-svn: 139117
* Speed up BCPL comment lexing by looking aggressively for newlines and then ↵Benjamin Kramer2011-09-052-9/+36
| | | | | | | | scannig backwards to see if the newline is escaped. 3% speedup in preprocessing all of clang with -Eonly. Also includes a small testcase for coverage. llvm-svn: 139116
* Use the Lexer's definition of whitespace here.Benjamin Kramer2011-09-051-3/+2
| | | | llvm-svn: 139115
* Stop cluttering the test directory with temporary files.Benjamin Kramer2011-09-052-2/+2
| | | | llvm-svn: 139114
* Add some simple insertvalue simplifications, for the purpose of cleaningDuncan Sands2011-09-054-0/+71
| | | | | | up do-nothing exception handling code produced by dragonegg. llvm-svn: 139113
* Enable -Wdangling-fields by default in Clang. I've run this warning overChandler Carruth2011-09-051-3/+3
| | | | | | | | | | | | | a very large chunk of code and found zero false positives. I've only found a few bugs, but that likely is because bugs of this nature actually do manifest. We've also identified several bugs that were caught by Valgrind, but would have been caught faster and more easily with this warning. If anyone has concerns, or this causes fallout on any build bots, lemme know. I'm happy to just put it under -Wmost. llvm-svn: 139112
* Implement the suggested resolution of WG21 N3307 issue 19: When determining ↵Richard Smith2011-09-053-18/+13
| | | | | | whether a class is an aggregate in C++0x, treat all functions which are neither deleted nor defaulted as user-provided, not just special member functions. The wording of the standard only defines the term "user-provided" for special member functions, but the intent seems to be that any function can be user-provided. llvm-svn: 139111
* Use canonical forms for the branch probability zero heutistic.Benjamin Kramer2011-09-041-25/+30
| | | | | | | | - Drop support for X >u 0, it's equivalent to X != 0 and should be canonicalized into the latter. - Add X < 1 -> unlikely, which is what instcombine canonicalizes X <= 0 into. - Add X > -1 -> likely, which is what instcombine canonicalizes X >= 0 into. llvm-svn: 139110
* PR10506: Extend test for temporary cleanups in range-based for loop to cover ↵Richard Smith2011-09-041-1/+9
| | | | | | the dependent case. llvm-svn: 139109
* As a (rather delayed) followup to r136738 which stopped building theChandler Carruth2011-09-041-23/+5
| | | | | | | | | edis shared library in the Makefile build, also stop building it in the CMake build. Patch by arrowdodger! llvm-svn: 139108
* Complete the removal of FindBison from CMake. Noticed this when browsingChandler Carruth2011-09-041-1/+0
| | | | | | some CMake patch backlog... llvm-svn: 139107
* Update the CMake documentation to the correct variables.Chandler Carruth2011-09-041-2/+3
| | | | | | Patch by arrowdodger! llvm-svn: 139106
* Pass 0 instead of a empty TemplateArgumentListInfo when creating a ↵Francois Pichet2011-09-041-1/+2
| | | | | | | | CXXDependentScopeMemberExpr to handle a "this->" fixit (lookup into dependent bases of class template) Otherwise the fixit doesn't really work for subsequent lookup. llvm-svn: 139105
* Use const_cast to avoid warnings.Benjamin Kramer2011-09-041-1/+1
| | | | llvm-svn: 139104
* PR10458: Last part of providing 'auto' type specifier as an extension in ↵Richard Smith2011-09-042-4/+5
| | | | | | C++98: permit it within type-ids. llvm-svn: 139103
* PR10458: Finesse behaviour of C++0x features when in pre-0x mode. Accept ↵Richard Smith2011-09-0414-25/+93
| | | | | | for-range and auto with an ExtWarn, and produce a -Wc++0x-compat warning in C++98 mode when auto is used as a storage class. llvm-svn: 139102
* Add test case for defaulted copy and move structure validation.Sebastian Redl2011-09-046-16/+87
| | | | | | | | Fix bug this uncovered. Address minor comments from Doug. Enable cxx_implicit_moves feature. llvm-svn: 139101
* CodeGen: Support for Cast Operations in vector code generationTobias Grosser2011-09-042-1/+53
| | | | llvm-svn: 139097
* CodeGen: Remove unused codeTobias Grosser2011-09-041-8/+2
| | | | llvm-svn: 139096
* CodeGen: Better separate scalar and vector code generation.Tobias Grosser2011-09-042-58/+54
| | | | llvm-svn: 139095
* CodeGeneration: Simplify code, fix style.Tobias Grosser2011-09-041-11/+8
| | | | llvm-svn: 139094
OpenPOWER on IntegriCloud