- Sep 06, 2010
-
-
Eli Friedman authored
initializers, so the result of the evaluation doesn't leak through inconsistently. Also, don't evaluate references to variables with initializers with side-effects. llvm-svn: 113128
-
Chris Lattner authored
type of L"x" can change based on command line arguments. llvm-svn: 113127
-
Steven Watanabe authored
Tell the VS headers that char16_t and char32_t are keywords, so yvals.h doesn't try to define them as typedefs. llvm-svn: 113126
-
Chris Lattner authored
llvm-svn: 113125
-
Eli Friedman authored
llvm-svn: 113124
-
Chris Lattner authored
llvm-svn: 113123
-
Chris Lattner authored
pattern, so there is no need to define a matching function. llvm-svn: 113122
-
Chris Lattner authored
llvm-svn: 113121
-
- Sep 05, 2010
-
-
Chris Lattner authored
llvm-svn: 113120
-
Chris Lattner authored
llvm-svn: 113119
-
Chris Lattner authored
llvm-svn: 113118
-
Chris Lattner authored
llvm-svn: 113117
-
Chris Lattner authored
llvm-svn: 113116
-
Chris Lattner authored
llvm-svn: 113115
-
Chris Lattner authored
llvm-svn: 113114
-
Chris Lattner authored
llvm-svn: 113113
-
Howard Hinnant authored
llvm-svn: 113110
-
Chris Lattner authored
llvm-svn: 113109
-
Lang Hames authored
llvm-svn: 113108
-
Nick Lewycky authored
llvm-svn: 113106
-
Nick Lewycky authored
This reduces malloc traffic (yay!) and removes MergeFunctionsEqualityInfo. llvm-svn: 113105
-
Nick Lewycky authored
strong functions first to make sure they're the canonical definitions and then do a second pass looking only for weak functions. llvm-svn: 113104
-
Nick Lewycky authored
David Vandevoorde's name correctly. llvm-svn: 113103
-
rdar://6653118Chris Lattner authored
Since mem2reg isn't run at -O0, we get a ton of reloads from the stack, for example, before, this code: int foo(int x, int y, int z) { return x+y+z; } used to compile into: _foo: ## @foo subq $12, %rsp movl %edi, 8(%rsp) movl %esi, 4(%rsp) movl %edx, (%rsp) movl 8(%rsp), %edx movl 4(%rsp), %esi addl %edx, %esi movl (%rsp), %edx addl %esi, %edx movl %edx, %eax addq $12, %rsp ret Now we produce: _foo: ## @foo subq $12, %rsp movl %edi, 8(%rsp) movl %esi, 4(%rsp) movl %edx, (%rsp) movl 8(%rsp), %edx addl 4(%rsp), %edx ## Folded load addl (%rsp), %edx ## Folded load movl %edx, %eax addq $12, %rsp ret Fewer instructions and less register use = faster compiles. llvm-svn: 113102
-
Howard Hinnant authored
llvm-svn: 113101
-
Howard Hinnant authored
llvm-svn: 113100
-
Howard Hinnant authored
llvm-svn: 113099
-
Howard Hinnant authored
llvm-svn: 113098
-
Howard Hinnant authored
llvm-svn: 113097
-
Chris Lattner authored
I think this wraps up all the legal cases. llvm-svn: 113096
-
Chris Lattner authored
llvm-svn: 113095
-
Chris Lattner authored
llvm-svn: 113094
-
Chris Lattner authored
llvm-svn: 113093
-
Chris Lattner authored
llvm-svn: 113092
-
Chris Lattner authored
llvm-svn: 113091
-
Chris Lattner authored
which is should have done from the beginning. As usual, the most fun with this sort of change is updating all the testcases. llvm-svn: 113090
-
Howard Hinnant authored
llvm-svn: 113089
-
Chris Lattner authored
llvm-svn: 113088
-
Chris Lattner authored
llvm-svn: 113087
-
Howard Hinnant authored
Changed __config to react to all of clang's currently documented has_feature flags, and renamed _LIBCPP_MOVE to _LIBCPP_HAS_NO_RVALUE_REFERENCES to be more consistent with the rest of the libc++'s flags, and with clang's nomenclature. llvm-svn: 113086
-