- Nov 17, 2010
-
-
Chris Lattner authored
llvm-svn: 119482
-
Chris Lattner authored
llvm-svn: 119463
-
Chris Lattner authored
llvm-svn: 119462
-
Bill Wendling authored
should get the submode from the load/store multiple instruction's opcode. llvm-svn: 119461
-
Bill Wendling authored
instructions have to distinguish between lists of single- and double-precision registers in order for the ASM matcher to do a proper job. In all other respects, a list of single- or double-precision registers are the same as a list of GPR registers. llvm-svn: 119460
-
Duncan Sands authored
class, uses DominatorTree which is an analysis. This change moves all of the tricky hasConstantValue logic to SimplifyInstruction, and replaces it with a very simple literal implementation. I already taught users of hasConstantValue that need tricky stuff to use SimplifyInstruction instead. I didn't update InlineFunction because the IR looks like it might be in a funky state at the point it calls hasConstantValue, which makes calling SimplifyInstruction dangerous since it can in theory do a lot of tricky reasoning. This may be a pessimization, for example in the case where all phi node operands are either undef or a fixed constant. llvm-svn: 119459
-
Duncan Sands authored
While there, add a note about an inefficiency I noticed. llvm-svn: 119458
-
Duncan Sands authored
rather than hasConstantValue. llvm-svn: 119457
-
Duncan Sands authored
systematically, CollapsePhi will always return null here. Note that CollapsePhi did an extra check, isSafeReplacement, which the SimplifyInstruction logic does not do. I think that check was bogus - I guess we will soon find out! (It was originally added in commit 41998 without a testcase). llvm-svn: 119456
-
Dan Gohman authored
This fixes some extreme compile times on unrolled sha512 code. llvm-svn: 119455
-
Eric Christopher authored
operands in a variadic instruction. llvm-svn: 119446
-
Bill Wendling authored
"getRegisterListOpValue" logic. If the registers are double or single precision, the value returned is suitable for VLDM/VSTM. llvm-svn: 119435
-
Peter Collingbourne authored
llvm-svn: 119433
-
Bill Wendling authored
llvm-svn: 119403
-
- Nov 16, 2010
-
-
Dan Gohman authored
a different pass, the complicated interaction between cmov expansion and fast isel is no longer a concern. llvm-svn: 119400
-
Oscar Fuentes authored
Patch by Louis Zhuang! llvm-svn: 119394
-
Dan Gohman authored
llvm-svn: 119386
-
Evan Cheng authored
llvm-svn: 119385
-
Rafael Espindola authored
Next: Add support for the !HasDotLocAndDotFile case to the MCAsmStreamer and then switch codegen to use it. llvm-svn: 119384
-
Dan Gohman authored
easier to debug, and to avoid complications when the CFG changes in the middle of the instruction selection process. llvm-svn: 119382
-
Jakob Stoklund Olesen authored
Always spill the full representative register at any point where any subregister is live. This fixes PR8620 which caused the old logic to get confused and not spill anything at all. The fundamental problem here is that the coalescer is too aggressive about physical register coalescing. It sometimes makes it impossible to allocate registers without these emergency spills. llvm-svn: 119375
-
Jakob Stoklund Olesen authored
llvm-svn: 119374
-
Rafael Espindola authored
llvm-svn: 119362
-
Michael J. Spencer authored
The system API's will be shifted over to returning an error_code, and returning other return values as out parameters to the function. Code that needs to check error conditions will use the errc enum values which are the same as the posix_errno defines (EBADF, E2BIG, etc...), and are compatable with the error codes in WinError.h due to some magic in system_error. An example would be: if (error_code ec = KillEvil("Java")) { // error_code can be converted to bool. handle_error(ec); } llvm-svn: 119360
-
Jim Grosbach authored
llvm-svn: 119354
-
Duncan Sands authored
rather than calling hasConstantValue. No intended functionality change. llvm-svn: 119352
-
Duncan Sands authored
over a phi node by applying it to each operand may be wrong if the operation and the phi node are mutually interdependent (the testcase has a simple example of this). So only do this transform if it would be correct to perform the operation in each predecessor of the block containing the phi, i.e. if the other operands all dominate the phi. This should fix the FFMPEG snow.c regression reported by İsmail Dönmez. llvm-svn: 119347
-
Rafael Espindola authored
llvm-svn: 119328
-
Bill Wendling authored
llvm-svn: 119325
-
Bill Wendling authored
- Add encodings to the *LDMIA_RET instrs. Probably not needed... llvm-svn: 119323
-
Bill Wendling authored
llvm-svn: 119321
-
Eric Christopher authored
(and likely) wrong about anyhow. llvm-svn: 119320
-
Chris Lattner authored
branches to be emitted as: bne cr0, 2 instead of: bne cr0, $+8 llvm-svn: 119317
-
Bill Wendling authored
'db', 'ib', 'da') instead of having that mode as a separate field in the instruction. It's more convenient for the asm parser and much more readable for humans. <rdar://problem/8654088> llvm-svn: 119310
-
Michael J. Spencer authored
llvm-svn: 119309
-
Chris Lattner authored
llvm-svn: 119308
-
Chris Lattner authored
these instructions to be encoded with getMachineOpValue. This unbreaks ExecutionEngine/2003-01-04-ArgumentBug.ll when running on a G5 llvm-svn: 119307
-
Jakob Stoklund Olesen authored
Use amazing new function call technology instead of writing identical code in multiple places. This fixes PR8604. llvm-svn: 119306
-
Jakob Stoklund Olesen authored
The live range of a register defined by an early clobber starts at the use slot, not the def slot. Except when it is an early clobber tied to a use operand. Then it starts at the def slot like a standard def. llvm-svn: 119305
-
Owen Anderson authored
llvm-svn: 119295
-