- May 22, 2010
-
-
Kevin Enderby authored
llvm-svn: 104394
-
- May 21, 2010
-
-
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
-
Dale Johannesen authored
llvm-svn: 104337
-
Dale Johannesen authored
Case where MMX is disabled wasn't handled right. MMX->MMX bitconverts are Legal. llvm-svn: 104336
-
Chris Lattner authored
pass after isel instead of being interlaced with it, we can trust that all the code for a function has been isel'd before it is run. The practical impact of this is that we can scan for machine instr phis instead of doing a fuzzy match on the LLVM BB for phi nodes. Doing the fuzzy match required knowing when isel would produce an fp reg stack phi which was gross. It was also wrong in cases where select got lowered to a branch tree because cmovs aren't available (PR6828). Just do the scan on machine phis which is simpler, faster and more correct. This fixes PR6828. llvm-svn: 104333
-
Chris Lattner authored
llvm-svn: 104331
-
Chris Lattner authored
llvm-svn: 104330
-
Chris Lattner authored
eliminating the gymnastics around the ContainsFPCode var. llvm-svn: 104328
-
Chris Lattner authored
llvm-svn: 104326
-
Matt Fleming authored
isn't ideal if we want to be able to use another object file format. Add a createObjectStreamer() factory method so that the correct object file streamer can be instantiated for a given target triple. llvm-svn: 104318
-
Matt Fleming authored
differently. This will make adding ELF support easier in the long run. llvm-svn: 104317
-
Dale Johannesen authored
tricky since there's a 3rd 64-bit type, MMX vectors. PR 7135. llvm-svn: 104308
-
Evan Cheng authored
Change ARM scheduling default to list-hybrid if the target supports floating point instructions (and is not using soft float). llvm-svn: 104307
-
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
-
-
Daniel Dunbar authored
llvm-svn: 104275
-
Daniel Dunbar authored
llvm-svn: 104272
-
Daniel Dunbar authored
llvm-svn: 104271
-
Bob Wilson authored
This fixes the remaining issue with pr7167. llvm-svn: 104257
-
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
-
Dan Gohman authored
instructions. llvm-svn: 104231
-
Dan Gohman authored
16-bit and 32-bit pushf and popf. llvm-svn: 104228
-
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
-
- May 19, 2010
-
-
Evan Cheng authored
Code refactoring: pull SchedPreference enum from TargetLowering.h to TargetMachine.h and put it in its own namespace. llvm-svn: 104147
-
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
-
Evan Cheng authored
llvm-svn: 104114
-
Daniel Dunbar authored
llvm-svn: 104112
-
Evan Cheng authored
Mark pattern-less mayLoad / mayStore instructions neverHasSideEffects. These do not have other un-modeled side effects. llvm-svn: 104111
-
Evan Cheng authored
llvm-svn: 104110
-
Daniel Dunbar authored
avoid same prefix byte problem as in r104062. llvm-svn: 104108
-
Evan Cheng authored
Mark a few more pattern-less instructions with neverHasSideEffects. This is especially important on instructions like t2LEApcreal which are prime candidate for machine LICM. llvm-svn: 104102
-
Dan Gohman authored
opcodes into a helper function. This fixes a few places in the code which were not properly selecting the 8-bit-immediate opcodes. llvm-svn: 104091
-
- May 18, 2010
-
-
Dan Gohman authored
llvm-svn: 104068
-
Bill Wendling authored
specified. llvm-svn: 104066
-
Dan Gohman authored
8-bit immediate field rather than one with a wider immediate field. llvm-svn: 104064
-
Chris Lattner authored
The register use operands (e.g. the first argument is passed in a register) is currently being modeled as a normal register use, instead of correctly being an implicit use. This causes the operand to get propagated onto the mcinst, which was causing the encoder to emit a rex prefix byte, which generates an invalid call. This fixes rdar://7998435 llvm-svn: 104062
-