summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Commit message (Expand)AuthorAgeFilesLines
* [X86] Add target combine rules for horizontal add/sub.Andrea Di Biagio2014-06-091-0/+21
* [DAG] Expose NoSignedWrap, NoUnsignedWrap and Exact flags to SelectionDAG.Andrea Di Biagio2014-06-091-3/+10
* [X86] Add two combine rules to simplify dag nodes introduced during type lega...Andrea Di Biagio2014-05-301-0/+21
* Convert a vselect into a concat_vector if possibleFilipe Cabecinhas2014-05-301-0/+61
* [x86] Fold extract_vector_elt of a load into the Load's address computation.Michael J. Spencer2014-05-291-90/+124
* Revert "[DAGCombiner] Split up an indexed load if only the base pointer value...Hal Finkel2014-05-281-30/+7
* Rename ComputeMaskedBits to computeKnownBits. "Masked" has beenJay Foad2014-05-141-8/+8
* [DAGCombiner] Split up an indexed load if only the base pointer value is liveAdam Nemet2014-05-121-7/+30
* DAGCombine: prevent formation of illegal ConstantFP nodes.Tim Northover2014-05-021-5/+10
* [ARM64] Prevent bit extraction to be adjusted by following shiftWeiming Zhao2014-04-301-0/+3
* Tidy up whitespace.Jim Grosbach2014-04-291-7/+7
* Convert AddNodeIDNode and SelectionDAG::getNodeIfExiists to use ArrayRef<SDVa...Craig Topper2014-04-271-1/+1
* Convert one last signature of getNode to take an ArrayRef of SDUse.Craig Topper2014-04-271-4/+4
* DAGCombiner: Simplify code a bit, make more transforms work with vectors.Benjamin Kramer2014-04-261-58/+37
* Convert SelectionDAG::getNode methods to use ArrayRef<SDValue>.Craig Topper2014-04-261-40/+24
* Rip out X86-specific vector SDIV lowering, make the corresponding DAGCombiner...Benjamin Kramer2014-04-261-13/+24
* DAGCombiner: Turn divs of vector splats into vectorized multiplications.Benjamin Kramer2014-04-261-5/+37
* Fix an infinite loop bug in DAG Combine about keeping transfering between ANY...Hao Liu2014-04-221-9/+7
* [Modules] Remove potential ODR violations by sinking the DEBUG_TYPEChandler Carruth2014-04-221-1/+2
* DAGCombiner: don't optimise non-existant litpool loadTim Northover2014-04-161-1/+3
* Revert r191049/r191059 as it can produce wrong code (see PR17975).Robert Lougher2014-04-151-21/+0
* Break PseudoSourceValue out of the Value hierarchy. It is now the root of its...Nick Lewycky2014-04-151-110/+39
* [C++11] More 'nullptr' conversion. In some cases just using a boolean check i...Craig Topper2014-04-141-59/+58
* Reenable use of TBAA during CodeGenHal Finkel2014-04-121-7/+1
* [c++11] Range'ify use list loops in DAGCombiner.Jim Grosbach2014-04-111-18/+7
* [DAGCombiner] DAG combine does not know how to combine indexed loads withQuentin Colombet2014-04-091-2/+5
* Bug 19348: Check for legal ExtLoad operation before foldingMatt Arsenault2014-04-081-9/+12
* Make isSetCCEquivalent respect the TargetBooleanContentsMatt Arsenault2014-04-011-19/+22
* Look at shuffles of build_vectors in DAGCombiner::visitEXTRACT_VECTOR_ELTHal Finkel2014-03-311-7/+24
* [DAG] Fix an assertion failure caused by an invalid cast in method 'BuildVect...Andrea Di Biagio2014-03-221-1/+1
* [DAGCombiner] teach how to simplify xor/and/or nodes according to the followi...Andrea Di Biagio2014-03-181-21/+52
* Make DAGCombiner work on vector bitshifts with constant splat vectors.Matt Arsenault2014-03-171-137/+165
* [C++11] Add 'override' keyword to virtual methods that override their base cl...Craig Topper2014-03-081-1/+1
* [DAGCombiner] Distribute TRUNC through AND in rotation amountAdam Nemet2014-03-071-0/+16
* [DAGCombiner] Recognize another rotation idiomAdam Nemet2014-03-071-0/+8
* [DAGCombiner] Slightly improve readability of matchRotateSubAdam Nemet2014-03-071-8/+9
* [X86] Teach the DAGCombiner how to fold a OR of two shufflevector nodes.Andrea Di Biagio2014-03-061-0/+54
* [DAGCombiner] Factor out distributeTruncateThroughAndAdam Nemet2014-03-041-47/+42
* [C++11] Replace llvm::tie with std::tie.Benjamin Kramer2014-03-021-6/+6
* Now that we have C++11, turn simple functors into lambdas and remove a ton of...Benjamin Kramer2014-03-011-21/+10
* Fix visitTRUNCATE for legal i1 valuesHal Finkel2014-02-281-1/+1
* Trivial code simplificationMatt Arsenault2014-02-241-2/+1
* [DAGCombiner] PCMP* sets its result to all ones or zeros so we can AND with theQuentin Colombet2014-02-211-0/+18
* Teach the DAGCombiner how to fold concat_vector nodes when the input is twoRobert Lougher2014-02-111-0/+20
* [DAG] Don't pull the binary operation though the shift if the operands have o...Juergen Ributzka2014-02-061-2/+9
* This patch teaches the DAGCombiner how to fold insert_subvector nodesManman Ren2014-01-311-0/+29
* DAGCombine should not produce ISD::OR nodes after operation legalization if t...Owen Anderson2014-01-311-2/+4
* [DAGCombiner] Avoid introducing an illegal build_vector when folding a sign_e...Andrea Di Biagio2014-01-281-9/+15
* Fix sext(setcc) -> select_cc using wrong type for setcc.Matt Arsenault2014-01-271-10/+16
* [DAGCombiner] Teach how to fold sext/aext/zext of constant build vectors.Andrea Di Biagio2014-01-271-9/+64
OpenPOWER on IntegriCloud