- Sep 06, 2011
-
-
Jim Grosbach authored
Even if there's no mode switch performed, the .code directive should still be sent to the output streamer. Otherwise, for example, an output asm stream is not equivalent to the input stream which generated it (a dependency on the input target triple arm vs. thumb is introduced which was not originally there). llvm-svn: 139155
-
Rafael Espindola authored
llvm-svn: 139154
-
Richard Trieu authored
ExprResult LHS, RHS, Expr *LHSExpr, *RHSExpr QualType LHSType, RHSType Functions changed: handleFloatConversion() handleComplexIntConvsersion() llvm-svn: 139153
-
Bill Wendling authored
llvm-svn: 139152
-
Richard Trieu authored
ExprResult LHS, RHS, Expr *LHSExpr, *RHSExpr QualType LHSType, RHSType Functions changed: handleComplexFloatToComplexFloatConverstion() handleComplexFloatConversion() llvm-svn: 139151
-
Owen Anderson authored
Try again at r138809 (make DSE more aggressive in removing dead stores at the end of a function), now with less deleting stores before memcpy's. llvm-svn: 139150
-
Richard Smith authored
Also provide a modicum of test coverage for ranged for in C++98. llvm-svn: 139149
-
Jakob Stoklund Olesen authored
llvm-svn: 139148
-
Devang Patel authored
Now, named mdnode llvm.dbg.cu keeps track of all compile units in a module. Update DebugInfoFinder to collect compile units from llvm.dbg.cu. llvm-svn: 139147
-
Douglas Gregor authored
needed for implicit move constructors and move assignment operators. Fixes PR10847. llvm-svn: 139144
-
Douglas Gregor authored
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
-
Duncan Sands authored
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
-
Nick Lewycky authored
llvm-svn: 139139
-
Nick Lewycky authored
llvm-svn: 139138
-
Nick Lewycky authored
llvm-svn: 139137
-
Nick Lewycky authored
add more showing of my work. llvm-svn: 139136
-
Nick Lewycky authored
llvm-svn: 139135
-
Nick Lewycky authored
llvm-svn: 139134
-
Nick Lewycky authored
visible given a=b=c=d=1, on iteration #1 (the second iteration). Replace it with correct math. Fixes PR10383! llvm-svn: 139133
-
Richard Smith authored
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
-
Johnny Chen authored
'size_t size', instead of 'lldb::tid_t tid'. Pass size to the StoppointLocation ctor as well. llvm-svn: 139131
-
Nick Lewycky authored
llvm-svn: 139130
-
Peter Collingbourne authored
Spotted by Ninja. llvm-svn: 139129
-
Peter Collingbourne authored
llvm-svn: 139128
-
Peter Collingbourne authored
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
-
Nick Lewycky authored
HowFarToZero; the case for a canonical loop. llvm-svn: 139126
-
- Sep 05, 2011
-
-
Nick Lewycky authored
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
-
Nick Lewycky authored
llvm-svn: 139124
-
Nick Lewycky authored
llvm-svn: 139122
-
Benjamin Kramer authored
InstSimplify: Don't try to replace an extractvalue/insertvalue pair with the original value if types don't match. Fixes clang selfhost. llvm-svn: 139120
-
Duncan Sands authored
exception. llvm-svn: 139117
-
Benjamin Kramer authored
Speed up BCPL comment lexing by looking aggressively for newlines and then 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
-
Benjamin Kramer authored
llvm-svn: 139115
-
Benjamin Kramer authored
llvm-svn: 139114
-
Duncan Sands authored
up do-nothing exception handling code produced by dragonegg. llvm-svn: 139113
-
Chandler Carruth authored
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
-
Richard Smith authored
Implement the suggested resolution of WG21 N3307 issue 19: When determining 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
-
Benjamin Kramer authored
- 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
-
Richard Smith authored
llvm-svn: 139109
-
Chandler Carruth authored
edis shared library in the Makefile build, also stop building it in the CMake build. Patch by arrowdodger! llvm-svn: 139108
-