Page MenuHomePhabricator

DIVYA (DIVYA SHANMUGHAN)
User

Projects

User does not belong to any projects.

User Details

User Since
Jun 9 2017, 12:21 PM (118 w, 5 d)

Recent Activity

Nov 13 2017

DIVYA added a comment to D39906: [InstCombine] reassociate loop invariant GEP chains to enable LICM.

For the testcase in https://bugs.llvm.org/show_bug.cgi?id=23163, the patch will not create extra instructions , since the operands are not loop invariants.
And for the cases where the extra instructions are produced, gep(gep ...) merging optimization happens only when the second operands are loop invariant , and hence LICM pass will move them out of the loop.
Also, I am checking if the first operand of Src is not loop invariant.Since , if the first operand of Src Gep is loop invariant and both the second operands are also loop invariants, then they shouldn't be combined as LICM will anyway hoist them out of the loop and combining will only create extra instructions.

Nov 13 2017, 9:06 AM
DIVYA updated the diff for D39906: [InstCombine] reassociate loop invariant GEP chains to enable LICM.
Nov 13 2017, 8:55 AM

Nov 10 2017

DIVYA updated the summary of D39906: [InstCombine] reassociate loop invariant GEP chains to enable LICM.
Nov 10 2017, 9:19 AM
DIVYA added a comment to D39906: [InstCombine] reassociate loop invariant GEP chains to enable LICM.

Perf stat result before applying the patch for aarch64 for the minizip executable of zlib-ng library(Used llvm/build/lib as the source file to be compressed)

267701.266460      task-clock (msec)         #    0.503 CPUs utilized
         35,437      context-switches          #    0.132 K/sec
            147      cpu-migrations            #    0.001 K/sec
            176      page-faults               #    0.001 K/sec
294,334,720,322      cycles                    #    1.099 GHz
326,901,036,222      instructions              #    1.11  insns per cycle
Nov 10 2017, 9:14 AM
DIVYA added a comment to D39906: [InstCombine] reassociate loop invariant GEP chains to enable LICM.

This patch helps to reduce the number of instructions generated by llvm for aarch64 for the longest_match() hottest functions in zlib-ng library.

Nov 10 2017, 9:11 AM
DIVYA created D39906: [InstCombine] reassociate loop invariant GEP chains to enable LICM.
Nov 10 2017, 9:01 AM

Sep 20 2017

DIVYA added a comment to D36423: [libc++] Introsort based sorting function.

ping

Sep 20 2017, 11:27 AM

Aug 23 2017

DIVYA added a comment to D36113: [Loop Vectorize] Vectorize Loops with Backward Dependence.

@hfinkel
we tried adding this patch to loop vectorizer. but after reordering the instructions, canVectorizeMemory() needs to be called again to check if it can now be vectorized.However,we are unable to recompute loop-access-info once the instructions have been reordered.So it stills holds the old loop-access-info(before reordering) and does not vectorize. Is is there any way to recompute loop-access-info after reordering the instructions?

Aug 23 2017, 10:21 AM

Aug 22 2017

DIVYA added a comment to D36113: [Loop Vectorize] Vectorize Loops with Backward Dependence.

ping

Aug 22 2017, 10:05 AM

Aug 21 2017

DIVYA updated the diff for D34566: [loop idiom Recognition] support memcpy for multiple consecutive loads and stores.
-
Aug 21 2017, 2:35 PM
DIVYA updated the diff for D36423: [libc++] Introsort based sorting function.
  • added test qsort_worst_uint32 in algorithm.bench.cpp
Aug 21 2017, 9:24 AM

Aug 18 2017

DIVYA added a comment to D36113: [Loop Vectorize] Vectorize Loops with Backward Dependence.

ping

Aug 18 2017, 2:27 PM

Aug 17 2017

DIVYA updated the diff for D36115: [Loop Vectorize] Block Probability for Predicated Blocks.
Aug 17 2017, 3:50 PM
DIVYA updated the diff for D36115: [Loop Vectorize] Block Probability for Predicated Blocks.
Aug 17 2017, 3:29 PM

Aug 16 2017

DIVYA updated the diff for D34566: [loop idiom Recognition] support memcpy for multiple consecutive loads and stores.
  • modified comment
Aug 16 2017, 1:14 PM
DIVYA updated the diff for D34566: [loop idiom Recognition] support memcpy for multiple consecutive loads and stores.
  • Removed nested if
Aug 16 2017, 8:44 AM
DIVYA added a comment to D36115: [Loop Vectorize] Block Probability for Predicated Blocks.

ping

Aug 16 2017, 7:08 AM
DIVYA added inline comments to D34566: [loop idiom Recognition] support memcpy for multiple consecutive loads and stores.
Aug 16 2017, 7:08 AM

Aug 15 2017

DIVYA updated the diff for D34566: [loop idiom Recognition] support memcpy for multiple consecutive loads and stores.
  • setDebugLoc and debug dumping refactored
Aug 15 2017, 9:10 AM

Aug 14 2017

DIVYA updated the diff for D36113: [Loop Vectorize] Vectorize Loops with Backward Dependence.
Aug 14 2017, 3:26 PM
DIVYA added inline comments to D36113: [Loop Vectorize] Vectorize Loops with Backward Dependence.
Aug 14 2017, 3:17 PM
DIVYA updated the diff for D36113: [Loop Vectorize] Vectorize Loops with Backward Dependence.
  • Modified Comments
Aug 14 2017, 3:17 PM
DIVYA updated the diff for D34566: [loop idiom Recognition] support memcpy for multiple consecutive loads and stores.
Aug 14 2017, 10:29 AM
DIVYA updated the diff for D35035: [InstCombine] Prevent memcpy generation for small data size.
Aug 14 2017, 10:27 AM · Restricted Project
DIVYA added a comment to D36423: [libc++] Introsort based sorting function.

Added benchmark from Aditya's repo into the libcxx benchmark code base

Aug 14 2017, 10:24 AM
DIVYA updated the diff for D36423: [libc++] Introsort based sorting function.
Aug 14 2017, 10:22 AM
DIVYA updated the diff for D34566: [loop idiom Recognition] support memcpy for multiple consecutive loads and stores.
Aug 14 2017, 10:12 AM
DIVYA updated the diff for D34566: [loop idiom Recognition] support memcpy for multiple consecutive loads and stores.
Aug 14 2017, 9:15 AM
DIVYA added inline comments to D35035: [InstCombine] Prevent memcpy generation for small data size.
Aug 14 2017, 8:44 AM · Restricted Project
DIVYA updated the diff for D35035: [InstCombine] Prevent memcpy generation for small data size.
Aug 14 2017, 8:42 AM · Restricted Project
DIVYA updated the diff for D34566: [loop idiom Recognition] support memcpy for multiple consecutive loads and stores.
  • processLoopStoreOfLoopLoad() refactored with processLoopStridedStore(),
Aug 14 2017, 8:35 AM
DIVYA added a comment to D36113: [Loop Vectorize] Vectorize Loops with Backward Dependence.

ping

Aug 14 2017, 8:04 AM

Aug 11 2017

DIVYA added inline comments to D36220: [Loop Vectorize] Added a separate metadata .
Aug 11 2017, 2:18 PM
DIVYA updated the diff for D36220: [Loop Vectorize] Added a separate metadata .
  • modified comment formatting
Aug 11 2017, 2:18 PM
DIVYA added inline comments to D34566: [loop idiom Recognition] support memcpy for multiple consecutive loads and stores.
Aug 11 2017, 2:11 PM
DIVYA updated the diff for D36220: [Loop Vectorize] Added a separate metadata .
  • Added Comment
Aug 11 2017, 1:07 PM
DIVYA updated the diff for D35035: [InstCombine] Prevent memcpy generation for small data size.
  • Updated patch rL310611 and added the diff
Aug 11 2017, 12:32 PM · Restricted Project
DIVYA added a comment to D36115: [Loop Vectorize] Block Probability for Predicated Blocks.

ping

Aug 11 2017, 8:28 AM
DIVYA updated the diff for D36113: [Loop Vectorize] Vectorize Loops with Backward Dependence.
Aug 11 2017, 7:49 AM
DIVYA updated the diff for D34566: [loop idiom Recognition] support memcpy for multiple consecutive loads and stores.
  • modified comment
Aug 11 2017, 6:58 AM

Aug 10 2017

DIVYA added a comment to D36220: [Loop Vectorize] Added a separate metadata .

ping

Aug 10 2017, 3:22 PM
DIVYA added inline comments to D36113: [Loop Vectorize] Vectorize Loops with Backward Dependence.
Aug 10 2017, 3:17 PM
DIVYA updated the diff for D36113: [Loop Vectorize] Vectorize Loops with Backward Dependence.
  • Modified checkDepAndReorder() function to use use-def chain and OrderedInstructions
Aug 10 2017, 3:11 PM

Aug 9 2017

DIVYA updated the diff for D35035: [InstCombine] Prevent memcpy generation for small data size.
Aug 9 2017, 1:33 PM · Restricted Project
DIVYA added a comment to D35035: [InstCombine] Prevent memcpy generation for small data size.

Diff for test/Transforms/InstCombine/builtin_memcpy_patterns.ll

Aug 9 2017, 1:29 PM · Restricted Project
DIVYA added a comment to D36423: [libc++] Introsort based sorting function.

Link to algorithm.bench.cpp benchmark
https://github.com/hiraditya/std-benchmark/blob/master/cxx/algorithm.bench.cpp

Aug 9 2017, 1:18 PM
DIVYA added a comment to D36113: [Loop Vectorize] Vectorize Loops with Backward Dependence.

ping

Aug 9 2017, 1:12 PM
DIVYA added inline comments to D34566: [loop idiom Recognition] support memcpy for multiple consecutive loads and stores.
Aug 9 2017, 1:10 PM
DIVYA updated the diff for D34566: [loop idiom Recognition] support memcpy for multiple consecutive loads and stores.
  • Used enum for ForMemcpy
Aug 9 2017, 1:07 PM
DIVYA updated the diff for D34566: [loop idiom Recognition] support memcpy for multiple consecutive loads and stores.
  • Refactored code to reuse implementation of processLoopStores() and processLoopStridedStore()
Aug 9 2017, 9:16 AM

Aug 8 2017

DIVYA added a comment to D36423: [libc++] Introsort based sorting function.

benchmarks/algorithms.bench.cpp Results

Aug 8 2017, 9:57 AM

Aug 7 2017

DIVYA created D36423: [libc++] Introsort based sorting function.
Aug 7 2017, 12:36 PM
DIVYA updated the diff for D36220: [Loop Vectorize] Added a separate metadata .
  • modified comments
Aug 7 2017, 8:01 AM
DIVYA updated the diff for D35035: [InstCombine] Prevent memcpy generation for small data size.
Aug 7 2017, 7:27 AM · Restricted Project
DIVYA added a comment to D34566: [loop idiom Recognition] support memcpy for multiple consecutive loads and stores.

ping

Aug 7 2017, 7:03 AM
DIVYA added inline comments to D35035: [InstCombine] Prevent memcpy generation for small data size.
Aug 7 2017, 6:57 AM · Restricted Project
DIVYA updated the diff for D35035: [InstCombine] Prevent memcpy generation for small data size.
Aug 7 2017, 6:53 AM · Restricted Project
DIVYA updated the diff for D35035: [InstCombine] Prevent memcpy generation for small data size.
  • Added a diff for the output before and after applying the patch
Aug 7 2017, 6:50 AM · Restricted Project

Aug 4 2017

DIVYA added a comment to D36115: [Loop Vectorize] Block Probability for Predicated Blocks.
Aug 4 2017, 12:35 PM
DIVYA updated the diff for D36115: [Loop Vectorize] Block Probability for Predicated Blocks.
Aug 4 2017, 12:35 PM
DIVYA updated the diff for D36113: [Loop Vectorize] Vectorize Loops with Backward Dependence.
Aug 4 2017, 12:12 PM

Aug 2 2017

DIVYA created D36220: [Loop Vectorize] Added a separate metadata .
Aug 2 2017, 7:05 AM

Aug 1 2017

DIVYA added inline comments to D36113: [Loop Vectorize] Vectorize Loops with Backward Dependence.
Aug 1 2017, 3:02 PM
DIVYA updated the diff for D36113: [Loop Vectorize] Vectorize Loops with Backward Dependence.
  • Added comments
Aug 1 2017, 2:59 PM
DIVYA updated the diff for D36115: [Loop Vectorize] Block Probability for Predicated Blocks.
  • Added getReciprocalPredBlockProb() as a member function of LoopVectorizationCostModel class
Aug 1 2017, 12:32 PM
DIVYA updated the diff for D36113: [Loop Vectorize] Vectorize Loops with Backward Dependence.
Aug 1 2017, 12:28 PM
DIVYA updated the diff for D36113: [Loop Vectorize] Vectorize Loops with Backward Dependence.
Aug 1 2017, 12:26 PM

Jul 31 2017

DIVYA created D36115: [Loop Vectorize] Block Probability for Predicated Blocks.
Jul 31 2017, 2:59 PM
DIVYA created D36113: [Loop Vectorize] Vectorize Loops with Backward Dependence.
Jul 31 2017, 2:26 PM
DIVYA added a comment to D35035: [InstCombine] Prevent memcpy generation for small data size.

ping

Jul 31 2017, 1:53 PM · Restricted Project

Jul 28 2017

DIVYA updated the diff for D34566: [loop idiom Recognition] support memcpy for multiple consecutive loads and stores.
Jul 28 2017, 8:27 AM
DIVYA updated the diff for D34566: [loop idiom Recognition] support memcpy for multiple consecutive loads and stores.
  • Changed dyn_cast to cast
Jul 28 2017, 8:20 AM

Jul 25 2017

DIVYA added inline comments to D34566: [loop idiom Recognition] support memcpy for multiple consecutive loads and stores.
Jul 25 2017, 11:26 AM

Jul 7 2017

DIVYA updated the diff for D35035: [InstCombine] Prevent memcpy generation for small data size.
  • removed some comments
Jul 7 2017, 7:36 AM · Restricted Project
DIVYA updated the diff for D34566: [loop idiom Recognition] support memcpy for multiple consecutive loads and stores.
Jul 7 2017, 6:30 AM

Jul 6 2017

DIVYA updated the diff for D34566: [loop idiom Recognition] support memcpy for multiple consecutive loads and stores.
  • If there are multiple stores and loads ,which are consecutive, but if any of them is atomic , then it won't be converted to memcpy.
Jul 6 2017, 2:56 PM
DIVYA updated the diff for D34566: [loop idiom Recognition] support memcpy for multiple consecutive loads and stores.
Jul 6 2017, 7:31 AM
DIVYA updated the diff for D34566: [loop idiom Recognition] support memcpy for multiple consecutive loads and stores.
  • Updated some comments
Jul 6 2017, 7:09 AM

Jul 5 2017

DIVYA updated the diff for D35035: [InstCombine] Prevent memcpy generation for small data size.

Updated array2.ll testcase file

Jul 5 2017, 2:29 PM · Restricted Project
DIVYA created D35035: [InstCombine] Prevent memcpy generation for small data size.
Jul 5 2017, 2:22 PM · Restricted Project
DIVYA updated the diff for D34566: [loop idiom Recognition] support memcpy for multiple consecutive loads and stores.
  • Removed Extra Newlines
Jul 5 2017, 1:40 PM

Jun 28 2017

DIVYA updated the diff for D34566: [loop idiom Recognition] support memcpy for multiple consecutive loads and stores.
Jun 28 2017, 11:36 AM

Jun 23 2017

DIVYA updated the summary of D34566: [loop idiom Recognition] support memcpy for multiple consecutive loads and stores.
Jun 23 2017, 12:23 PM
DIVYA created D34566: [loop idiom Recognition] support memcpy for multiple consecutive loads and stores.
Jun 23 2017, 12:20 PM