- May 24, 2010
-
-
Devang Patel authored
This fixes recent regression in store.exp from gdb testsuite. llvm-svn: 104524
-
Nicolas Geoffray authored
is first emitted, and StackOffsets are emitted in 16 bits. llvm-svn: 104488
-
- May 23, 2010
-
-
Daniel Dunbar authored
llvm-svn: 104463
-
- May 22, 2010
-
-
-
Jim Grosbach authored
Followups: docs patch for the builtin and eh.sjlj.setjmp cleanup to match longjmp. llvm-svn: 104419
-
Eric Christopher authored
llvm-svn: 104414
-
Devang Patel authored
llvm-svn: 104412
-
Bob Wilson authored
llvm-svn: 104410
-
Eric Christopher authored
Evan please verify! llvm-svn: 104408
-
- May 21, 2010
-
-
Evan Cheng authored
Allow machine cse to cse instructions which define physical registers. Controlled by option -machine-cse-phys-defs. llvm-svn: 104385
-
Bob Wilson authored
so that it will continue to test what it was meant to test when I commit a separate change for better support of BUILD_VECTOR and VECTOR_SHUFFLE for Neon. Fix a DAG combiner crash exposed by this test change. llvm-svn: 104380
-
Evan Cheng authored
that are aliases of the specified register. - Rename modifiesRegister to definesRegister since it's looking a def of the specific register or one of its super-registers. It's not looking for def of a sub-register or alias that could change the specified register. - Added modifiesRegister to look for defs of aliases. llvm-svn: 104377
-
Jakob Stoklund Olesen authored
reads or writes a register. This takes partial redefines and undef uses into account. Don't actually use it yet. That caused miscompiles. llvm-svn: 104372
-
Devang Patel authored
llvm-svn: 104338
-
Chris Lattner authored
llvm-svn: 104325
-
Jakob Stoklund Olesen authored
This reverts r104322. I think it was causing miscompilations. llvm-svn: 104323
-
Jakob Stoklund Olesen authored
This correctly handles partial redefines and undef uses. llvm-svn: 104322
-
Jakob Stoklund Olesen authored
definitions of the virtual register. This happens when spilling the registers produced by REG_SEQUENCE: %reg1047:5<def>, %reg1047:6<def>, %reg1047:7<def> = VLD3d8 %reg1033, 0, pred:14, pred:%reg0 The rewriter would spill the register multiple times, dead store elimination tried to keep up, but ended up cutting the branch it was sitting on. llvm-svn: 104321
-
Jakob Stoklund Olesen authored
<imp-def> operand for the full register. This ensures that the full physical register is marked live after register allocation. llvm-svn: 104320
-
Evan Cheng authored
llvm-svn: 104306
-
Devang Patel authored
llvm-svn: 104302
-
Evan Cheng authored
Allow targets more controls on what nodes are scheduled by reg pressure, what for latency in hybrid mode. llvm-svn: 104293
-
- May 20, 2010
-
-
Devang Patel authored
llvm-svn: 104265
-
Jim Grosbach authored
llvm-svn: 104254
-
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
-
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
-
Eric Christopher authored
llvm-svn: 104197
-
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
-
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
-
Evan Cheng authored
Intrinsics which do a vector compare (results are all zero or all ones) are modeled as icmp / fcmp + sext. This is turned into a vsetcc by dag combine (yes, not a good long term solution). The targets can then isel the vsetcc to the appropriate instruction. The trouble arises when the result of a vector cmp + sext is then and'ed with all ones. Instcombine will turn it into a vector cmp + zext, dag combiner will miss turning it into a vsetcc and hell breaks loose after that. Teach dag combine to turn a vector cpm + zest into a vsetcc + and 1. This fixes rdar://7923010. llvm-svn: 104094
-