- May 20, 2010
-
-
Matt Fleming authored
llvm-svn: 104264
-
Dan Gohman authored
llvm-svn: 104263
-
Dan Gohman authored
operand on the left, the interesting operand is on the right. This fixes a bug where LSR was failing to recognize ICmpZero uses, which led it to be unable to reverse the induction variable in the attached testcase. Delete test/CodeGen/X86/stack-color-with-reg-2.ll, because its test is extremely fragile and hard to meaningfully update. llvm-svn: 104262
-
Mikhail Glushenkov authored
llvm-svn: 104261
-
Dan Gohman authored
it isn't a very interesting change, it's a change nonetheless. llvm-svn: 104260
-
Bob Wilson authored
This fixes the remaining issue with pr7167. llvm-svn: 104257
-
Jim Grosbach authored
llvm-svn: 104254
-
Dan Gohman authored
have a pattern and it had an invalid encoding. llvm-svn: 104244
-
Dale Johannesen authored
registers. Currently it is not so marked, which leads to VCMPEQ instructions that feed into it getting deleted. If it is so marked, local RA complains about this sequence: vreg = MCRF CR0 MFCR <kill of whatever preg got assigned to vreg> All current uses of this instruction are only interested in one of the 8 CR registers, so redefine MFCR to be a normal unary instruction with a CR input (which is emitted only as a comment). That avoids all problems. 7739628. llvm-svn: 104238
-
Devang Patel authored
llvm-svn: 104236
-
Dan Gohman authored
llvm-svn: 104234
-
Devang Patel authored
Split DbgVariable. Eventually, variable info will be communicated through frame index, or DBG_VALUE instruction, or collection of DBG_VALUE instructions. Plus each DbgVariable may not need a label. llvm-svn: 104233
-
Dan Gohman authored
llvm-svn: 104232
-
Dan Gohman authored
instructions. llvm-svn: 104231
-
Dan Gohman authored
16-bit and 32-bit pushf and popf. llvm-svn: 104228
-
Dan Gohman authored
and fix a bug that valgrind noticed where the code would std::swap an element with itself. llvm-svn: 104225
-
Benjamin Kramer authored
llvm-svn: 104223
-
Evan Cheng authored
pipeline stall. It's useful for targets like ARM cortex-a8. NEON has a lot of long latency instructions so a strict register pressure reduction scheduler does not work well. Early experiments show this speeds up some NEON loops by over 30%. llvm-svn: 104216
-
Nick Lewycky authored
llvm-svn: 104209
-
Dan Gohman authored
llvm-svn: 104204
-
Dan Gohman authored
doesn't have a register operand. Also, use I instead of PSI, for consistency with mfence and lfence. llvm-svn: 104203
-
Eric Christopher authored
llvm-svn: 104197
-
Dan Gohman authored
the addressing modes don't make this trivially easy. This allows it to avoid falling into the less precise heuristics in more cases. llvm-svn: 104186
-
Bob Wilson authored
test/Codegen/ARM/reg_sequence.ll but it doesn't affect the generated code because the coalescer cleans it up. Radar 7998853. llvm-svn: 104185
-
-
Jim Grosbach authored
llvm-svn: 104175
-
Jim Grosbach authored
more than one dbg_value instruction. rdar://7759363 llvm-svn: 104174
-
Evan Cheng authored
llvm-svn: 104173
-
- May 19, 2010
-
-
Devang Patel authored
llvm-svn: 104172
-
Jakob Stoklund Olesen authored
A partial redef now triggers a reload if required. Also don't add <imp-def,dead> operands for physical superregisters. Kill flags are still treated as full register kills, and <imp-use,kill> operands are added for physical superregisters as before. llvm-svn: 104167
-
Devang Patel authored
llvm-svn: 104165
-
Jakob Stoklund Olesen authored
partial redefines. We are going to treat a partial redefine of a virtual register as a read-modify-write: %reg1024:6 = OP Unless the register is fully clobbered: %reg1024:6 = OP, %reg1024<imp-def> MachineInstr::readsVirtualRegister() knows the difference. The first case is a read, the second isn't. llvm-svn: 104149
-
Evan Cheng authored
Code refactoring: pull SchedPreference enum from TargetLowering.h to TargetMachine.h and put it in its own namespace. llvm-svn: 104147
-
Jakob Stoklund Olesen authored
lowering REG_SEQUENCE instructions. Insert copies for REG_SEQUENCE sources not killed to avoid breaking later passes. llvm-svn: 104146
-
Mikhail Glushenkov authored
llvm-svn: 104145
-
Bob Wilson authored
need to be promoted. The BUILD_VECTOR and EXTRACT_VECTOR_ELT nodes generated here already allow the promoted type to be used without further changes, so just do the promotion. This fixes part of pr7167. llvm-svn: 104141
-
Daniel Dunbar authored
llvm-svn: 104122
-
Daniel Dunbar authored
prefix byte problem as in r104062. - As a total hack to keep the TAILCALL markers in the output, which some tests depend on, this invents a new TAILJMP_1 instruction. llvm-svn: 104120
-
Daniel Dunbar authored
CALL64pcrel32, for the same reason. llvm-svn: 104116
-
Evan Cheng authored
t2LEApcrel and tLEApcrel are re-materializable. This makes it possible to hoist more loads during machine LICM. llvm-svn: 104115
-