Commit History

Author SHA1 Message Date
  Nadav Rotem 0bbbc52dc8 LoopVectorizer: Implement a new heuristics for selecting the unroll factor. 12 years ago
  Benjamin Kramer 1af132dcf3 LoopVectorizer: Emit memory checks into their own basic block. 12 years ago
  Nadav Rotem 6a459e65c8 LoopVectorizer cost model. Honor the user command line flag that selects the vectorization factor even if the target machine does not have any vector registers. 12 years ago
  Nadav Rotem b6db95f42b Fix PR14547. Handle induction variables of small sizes smaller than i32 (i8 and i16). 12 years ago
  Nadav Rotem a675c74208 ARM Cost Model: We need to detect the max bitwidth of types in the loop in order to select the max vectorization factor. 12 years ago
  Nadav Rotem c560bf638b LoopVectorizer: Fix a bug in the vectorization of BinaryOperators. The BinaryOperator can be folded to an Undef, and we don't want to set NSW flags to undef vals. 12 years ago
  Nadav Rotem 14925e6b88 ARM Cost model: Use the size of vector registers and widest vectorizable instruction to determine the max vectorization factor. 12 years ago
  Nadav Rotem 83be7b0dd3 Cost Model: Move the 'max unroll factor' variable to the TTI and add initial Cost Model support on ARM. 12 years ago
  Nadav Rotem 8327474e4b Code cleanup: refactor the switch statements in the generation of reduction variables into an IR builder call. 12 years ago
  Nadav Rotem aae3d6fb53 Rename the enum members to match the LLVM coding style. 12 years ago
  Nadav Rotem 111e5fe7e0 LoopVectorizer: Add support for floating point reductions 12 years ago
  Nadav Rotem 9a6c6a3736 LoopVectorizer: When we vectorizer and widen loops we process many elements at once. This is a good thing, except for 12 years ago
  Chandler Carruth 1cbeaeb194 Simplify LoopVectorize to require target transform info and rely on it 12 years ago
  Chandler Carruth f3252b12e0 Merge the unused header file for LoopVectorizer into the source file. 12 years ago
  Chandler Carruth bb00800ff4 Fix the enumerator names for ShuffleKind to match tho coding standards, 12 years ago
  Chandler Carruth be04929f7f Move TargetTransformInfo to live under the Analysis library. This no 12 years ago
  Chandler Carruth be73c7b903 Switch the loop vectorizer from VTTI to just use TTI directly. 12 years ago
  Nadav Rotem d5b92c3891 12 years ago
  Paul Redmond 5767d91956 Do not vectorize loops with subtraction reductions 12 years ago
  Nadav Rotem 608467d1e1 Fix a warning 12 years ago
  Nadav Rotem e503319874 LoopVectorizer: 12 years ago
  Nadav Rotem e4159491a7 LoopVectorizer: Add support for loop-unrolling during vectorization for increasing the ILP. At the moment this feature is disabled by default and this commit should not cause any functional changes. 12 years ago
  Nadav Rotem 00a6bcaeb4 Avoid vectorization when the function has the "noimplicitflot" attribute. 12 years ago
  Chandler Carruth 0b8c9a80f2 Move all of the header files which are involved in modelling the LLVM IR 12 years ago
  Benjamin Kramer 6c30749583 Add IRBuilder::CreateVectorSplat and use it to simplify code. 12 years ago
  Bill Wendling 831737d329 Remove the Function::getFnAttributes method in favor of using the AttributeSet 12 years ago
  Nadav Rotem db2367512e LoopVectorizer: Fix a bug in the code that updates the loop exiting block. 12 years ago
  Nadav Rotem 5dd839430c If all of the write objects are identified then we can vectorize the loop even if the read objects are unidentified. 12 years ago
  Nadav Rotem 13eb1e7817 LoopVectorizer: Optimize the vectorization of consecutive memory access when the iteration step is -1 12 years ago
  Hal Finkel 1d59f5fa53 LoopVectorize: Enable vectorization of the fmuladd intrinsic 12 years ago