- Sep 06, 2010
-
-
Roman Divacky authored
llvm-svn: 113158
-
Chris Lattner authored
llvm-svn: 113157
-
Benjamin Kramer authored
llvm-svn: 113155
-
Chris Lattner authored
llvm-svn: 113147
-
Chris Lattner authored
llvm-svn: 113146
-
Chris Lattner authored
StringMatcher instead of a linear sequence of memcmps. llvm-svn: 113145
-
Chris Lattner authored
llvm-svn: 113144
-
Chris Lattner authored
llvm-svn: 113143
-
Chris Lattner authored
copy of a close relative of it. llvm-svn: 113142
-
Chris Lattner authored
llvm-svn: 113141
-
Chris Lattner authored
"1 strings to match" in a comment, which isn't gramatic. llvm-svn: 113140
-
Chris Lattner authored
llvm-svn: 113139
-
Chris Lattner authored
out of AsmMatcherEmitter.cpp into its own class. llvm-svn: 113137
-
Chris Lattner authored
comparing the "llvm." prefix in the memcmp, and not storing it in the string literal. llvm-svn: 113136
-
Chris Lattner authored
llvm-svn: 113135
-
Chris Lattner authored
in the duplicated block instead of duplicating them. Duplicating them into the end of the loop and the preheader means that we got a phi node in the header of the loop, which prevented LICM from hoisting them. GVN would usually come around later and merge the duplicated instructions so we'd get reasonable output... except that anything dependent on the shoulda-been-hoisted value can't be hoisted. In PR5319 (which this fixes), a memory value didn't get promoted. llvm-svn: 113134
-
Chris Lattner authored
Loop::hasLoopInvariantOperands method. Remove a useless and confusing Loop::isLoopInvariant(Instruction) method, which didn't do what you thought it did. No functionality change. llvm-svn: 113133
-
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
-
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
-
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
-
- Sep 04, 2010
-
-
Jakob Stoklund Olesen authored
Clobber ranges are no longer used when joining physical registers. Instead, all aliases are checked for interference. llvm-svn: 113084
-
Chris Lattner authored
that diagnose invalid references to references. llvm-svn: 113078
-
Chris Lattner authored
llvm-svn: 113077
-
Chris Lattner authored
llvm-svn: 113075
-
Chris Lattner authored
llvm-svn: 113073
-
Chris Lattner authored
not SelectAddr llvm-svn: 113072
-