| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | ARM: optimization for sub+abs. | Manman Ren | 2012-06-15 | 1 | -11/+6 |
| | | | | | | | | | | | | | | | This patch will optimize abs(x-y) FROM sub, movs, rsbmi TO subs, rsbmi For abs, we will use cmp instead of movs. This is necessary because we already have an existing peephole pass which optimizes away cmp following sub. rdar: 11633193 llvm-svn: 158551 | ||||
| * | *fixed to separate mnemonic from operands with tab | Kay Tiong Khoo | 2012-06-15 | 1 | -4/+4 |
| | | | | | llvm-svn: 158543 | ||||
| * | LSR: fix expansion of scaled reg in non-address type formulae. | Andrew Trick | 2012-06-15 | 1 | -13/+17 |
| | | | | | | | | | | For non-address users, Base and Scaled registers are not specially associated to fit an address mode, so SCEVExpander should apply normal expansion rules. Otherwise we may sink computation into inner loops that have already been optimized. llvm-svn: 158537 | ||||
| * | LSR fix: "Special" users are just like "Basic" users but allow -1 scale. | Andrew Trick | 2012-06-15 | 1 | -2/+2 |
| | | | | | llvm-svn: 158536 | ||||
| * | Remove assignments which aren't used afterwards. | Bill Wendling | 2012-06-15 | 1 | -3/+1 |
| | | | | | llvm-svn: 158535 | ||||
| * | Allow SROA to split up an array of vectors into multiple vectors, even when ↵ | Pete Cooper | 2012-06-15 | 1 | -3/+29 |
| | | | | | | | the vectors are dynamically indexed llvm-svn: 158529 | ||||
| * | Some optimizations done by globalopt are safe only for internal linkage, not | Rafael Espindola | 2012-06-15 | 1 | -0/+3 |
| | | | | | | | | | linkonce linkage. For example, it is not valid to add unnamed_addr. This also fixes a crash in g++.dg/opt/static5.C. llvm-svn: 158528 | ||||
| * | Preserve <undef> flags in ARMExpandPseudo. | Jakob Stoklund Olesen | 2012-06-15 | 1 | -5/+6 |
| | | | | | | | This probably mostly shows up in bugpoint-generated code. llvm-svn: 158527 | ||||
| * | Use regunit liveness in RegisterCoalescer when it is available. | Jakob Stoklund Olesen | 2012-06-15 | 1 | -13/+21 |
| | | | | | | | | We only do very limited physreg coalescing now, but we still merge virtual registers into reserved registers. llvm-svn: 158526 | ||||
| * | Factor macro argument parsing into helper methods and add support for .irp. | Rafael Espindola | 2012-06-15 | 1 | -30/+115 |
| | | | | | | | | Patch extracted from a larger one by the PaX team. I added the testcases and tightened error handling a bit. llvm-svn: 158523 | ||||
| * | Fix issues (infinite loop and/or crash) with self-referential instructions, for | Duncan Sands | 2012-06-15 | 1 | -6/+14 |
| | | | | | | | | example degenerate phi nodes and binops that use themselves in unreachable code. Thanks to Charles Davis for the testcase that uncovered this can of worms. llvm-svn: 158508 | ||||
| * | Move AVX version of convert instructions that write to GPRs to the Op1 table. | Craig Topper | 2012-06-15 | 1 | -9/+13 |
| | | | | | llvm-svn: 158497 | ||||
| * | Had a closing brace inside an #ifdef -- oops! | Marshall Clow | 2012-06-15 | 1 | -1/+1 |
| | | | | | llvm-svn: 158485 | ||||
| * | Adding acessors to COFFObjectFile so that clients can get at the ↵ | Marshall Clow | 2012-06-15 | 1 | -0/+31 |
| | | | | | | | (non-generic) bits llvm-svn: 158484 | ||||
| * | Recommit r158407: Allow SROA to look at a vector type and see if the offset ↵ | Pete Cooper | 2012-06-14 | 1 | -2/+15 |
| | | | | | | | is out of range to be replaced with a scalar access. Now with additional fix and test for indexing into a vector inside a struct llvm-svn: 158479 | ||||
| * | Implement the isSafeToDiscardIfUnused predicate and use it in globalopt and | Rafael Espindola | 2012-06-14 | 2 | -4/+4 |
| | | | | | | | | globaldce. Globaldce was already removing linkonce globals, but globalopt was not. llvm-svn: 158476 | ||||
| * | Move X86::VCVTTSD2SIrr from the 2 operand to 1 operand MemRegOp table. | Pete Cooper | 2012-06-14 | 1 | -1/+1 |
| | | | | | | | | Can someone with more knowledge of this please look at other entries to see if others need moved. llvm-svn: 158474 | ||||
| * | Fix coding style violations. Remove white spaces and tabs. | Akira Hatanaka | 2012-06-14 | 18 | -91/+91 |
| | | | | | llvm-svn: 158471 | ||||
| * | 1. introduce MipsPat in place of Pat in order to exclude those from | Akira Hatanaka | 2012-06-14 | 4 | -204/+229 |
| | | | | | | | | | | being used by Mips16 or Micro Mips 2. clean up a few lines too long encountered Patch by Reed Kotler. llvm-svn: 158470 | ||||
| * | Make machine verifier check the first instruction of the last bundle instead of | Akira Hatanaka | 2012-06-14 | 1 | -8/+8 |
| | | | | | | | the last instruction of a basic block. llvm-svn: 158468 | ||||
| * | Make comment slightly more helpful. | Lang Hames | 2012-06-14 | 1 | -1/+1 |
| | | | | | llvm-svn: 158467 | ||||
| * | Revert r158454: Allow SROA to look at a vector type... Its breaking the ↵ | Pete Cooper | 2012-06-14 | 1 | -15/+2 |
| | | | | | | | | | vectorise buildbot This reverts commit 12c1f86ffa731e2952c80d2cc577000c96b8962c. llvm-svn: 158462 | ||||
| * | misched: disable SSA check pending PR13112. | Andrew Trick | 2012-06-14 | 1 | -2/+4 |
| | | | | | llvm-svn: 158461 | ||||
| * | Recommit r158407: Allow SROA to look at a vector type and see if the offset ↵ | Pete Cooper | 2012-06-14 | 1 | -2/+15 |
| | | | | | | | is out of range to be replaced with a scalar access. Now with additional fix and test for indexing into a vector inside a struct llvm-svn: 158454 | ||||
| * | MipsLongBranch.cpp: Tweak llvm::next() to appease msvc. | NAKAMURA Takumi | 2012-06-14 | 1 | -5/+7 |
| | | | | | llvm-svn: 158446 | ||||
| * | Replace assertion failure for badly formatted CPS instrution with error message. | Richard Barton | 2012-06-14 | 1 | -1/+2 |
| | | | | | llvm-svn: 158445 | ||||
| * | Cleanup whitespace. | Jush Lu | 2012-06-14 | 1 | -13/+12 |
| | | | | | llvm-svn: 158443 | ||||
| * | InstCombine: fix a bug when combining (fcmp cc0 x, y) && (fcmp cc1 x, y). | Manman Ren | 2012-06-14 | 1 | -2/+4 |
| | | | | | | | uno && ueq was converted to ueq, it should be converted to uno. llvm-svn: 158441 | ||||
| * | Fix Mips/CMakeLists.txt. | Akira Hatanaka | 2012-06-14 | 1 | -0/+1 |
| | | | | | llvm-svn: 158437 | ||||
| * | Add file MipsLongBranch.cpp. | Akira Hatanaka | 2012-06-14 | 1 | -0/+416 |
| | | | | | llvm-svn: 158436 | ||||
| * | Remove code in MipsAsmPrinter and MipsMCInstLower. | Akira Hatanaka | 2012-06-14 | 3 | -30/+2 |
| | | | | | llvm-svn: 158434 | ||||
| * | Add long branch expansion pass for MIPS. | Akira Hatanaka | 2012-06-14 | 2 | -1/+8 |
| | | | | | llvm-svn: 158433 | ||||
| * | Add AT to the list of registers clobbered by branches so that it is available | Akira Hatanaka | 2012-06-14 | 1 | -0/+4 |
| | | | | | | | as a scratch register when they are expanded to long branches. llvm-svn: 158432 | ||||
| * | In MipsRegisterInfo::eliminateFrameIndex, call Mips::loadImmediate | Akira Hatanaka | 2012-06-14 | 1 | -25/+7 |
| | | | | | | | to load an immediate that does not fit into 16-bit. llvm-svn: 158431 | ||||
| * | In MipsFrameLowering::emitPrologue and emitEpilogue, call Mips::loadImmediate | Akira Hatanaka | 2012-06-14 | 1 | -39/+16 |
| | | | | | | | | | to load an immediate that does not fit into 16-bit. Also, take into consideration the global base register slot on the stack when computing the stack size. llvm-svn: 158430 | ||||
| * | Define function MipsInstrInfo::GetInstSizeInBytes, which will be called to | Akira Hatanaka | 2012-06-14 | 2 | -6/+76 |
| | | | | | | | | compute the size of basic blocks in a function. Also, define a function which emits a series of instructions to load an immediate. llvm-svn: 158429 | ||||
| * | In MipsISelDAGToDAG.cpp, store the global base register to a stack frame object. | Akira Hatanaka | 2012-06-14 | 1 | -3/+10 |
| | | | | | | | | Long-branches need access to the global base register to get the destination address. llvm-svn: 158428 | ||||
| * | Add methods to MipsFunctionInfo for initializing and accessing the stack frame | Akira Hatanaka | 2012-06-14 | 1 | -1/+23 |
| | | | | | | | | | | object for the global base register. This is the first of a series of patches which implements long branch expansion for MIPS. llvm-svn: 158427 | ||||
| * | Bundle jump/branch instructions with the instructions in the delay slot in | Akira Hatanaka | 2012-06-13 | 2 | -19/+30 |
| | | | | | | | | | | delay slot filler pass of MIPS, per suggestion of Jakob Stoklund Olesen. This change, along with the fix in r158154, enables machine verification to be run after delay slot filling. llvm-svn: 158426 | ||||
| * | Implement a DAGCombine in MipsISelLowering.cpp which transforms the following | Akira Hatanaka | 2012-06-13 | 2 | -4/+34 |
| | | | | | | | | | | | pattern: (add v0, (add v1, abs_lo(tjt))) => (add (add v0, v1), abs_lo(tjt)) "tjt" is a TargetJumpTable node. llvm-svn: 158419 | ||||
| * | Set a higher value for maxStoresPerMemcpy in MipsISelLowering.cpp. | Akira Hatanaka | 2012-06-13 | 2 | -0/+17 |
| | | | | | llvm-svn: 158414 | ||||
| * | Simplify CreateLoadLR and CreateStoreLR in MipsISelLowering.cpp. | Akira Hatanaka | 2012-06-13 | 1 | -11/+6 |
| | | | | | llvm-svn: 158413 | ||||
| * | Implement fastcc calling convention for MIPS. | Akira Hatanaka | 2012-06-13 | 2 | -3/+59 |
| | | | | | llvm-svn: 158410 | ||||
| * | Fix pattern for MKMSK instruction. | Richard Osborne | 2012-06-13 | 1 | -1/+1 |
| | | | | | llvm-svn: 158409 | ||||
| * | Revert "Allow SROA to look at a vector type and see if the offset is out of ↵ | Pete Cooper | 2012-06-13 | 1 | -6/+0 |
| | | | | | | | | | range to be replaced with a scalar access" This reverts commit 51786e0aaec76b973205066bd44f7f427b21969f. llvm-svn: 158408 | ||||
| * | Allow SROA to look at a vector type and see if the offset is out of range to ↵ | Pete Cooper | 2012-06-13 | 1 | -0/+6 |
| | | | | | | | be replaced with a scalar access llvm-svn: 158407 | ||||
| * | Fix building ThreadLocal.cpp with --disable-threads. | Argyrios Kyrtzidis | 2012-06-13 | 1 | -2/+9 |
| | | | | | llvm-svn: 158405 | ||||
| * | *typo: Cyles changed to Cycles | Kay Tiong Khoo | 2012-06-13 | 2 | -2/+2 |
| | | | | | llvm-svn: 158404 | ||||
| * | It is possible for several constants which aren't individually absorbing to | Duncan Sands | 2012-06-13 | 1 | -1/+6 |
| | | | | | | | | combine to the absorbing element. Thanks to nbjoerg on IRC for pointing this out. llvm-svn: 158399 | ||||
| * | When linearizing a multiplication, return at once if we see a factor of zero, | Duncan Sands | 2012-06-13 | 2 | -42/+37 |
| | | | | | | | | | | since then the entire expression must equal zero (similarly for other operations with an absorbing element). With this in place a bunch of reassociate code for handling constants is dead since it is all taken care of when linearizing. No intended functionality change. llvm-svn: 158398 | ||||

