Page MenuHomePhabricator

steleman (Stefan Teleman)
Principal Compiler Engineer

Projects

User does not belong to any projects.

User Details

User Since
Sep 3 2013, 12:07 AM (306 w, 2 d)

clang/llvm on ARM/ARM64 (Cavium).
binutils, GCC
soccer, weightlifting

Recent Activity

Apr 30 2019

Herald updated subscribers of D47770: [MVT][SVE] Add EVT strings and Type mapping.
Apr 30 2019, 5:13 AM

Feb 27 2019

steleman added a comment to D53927: [AArch64] Enable libm vectorized functions via SLEEF.
Feb 27 2019, 5:06 AM · Restricted Project

Feb 26 2019

steleman added inline comments to D53927: [AArch64] Enable libm vectorized functions via SLEEF.
Feb 26 2019, 4:04 PM · Restricted Project
steleman added inline comments to D53927: [AArch64] Enable libm vectorized functions via SLEEF.
Feb 26 2019, 2:17 PM · Restricted Project

Feb 19 2019

steleman updated the diff for D53927: [AArch64] Enable libm vectorized functions via SLEEF.

One minor update:

Feb 19 2019, 7:56 PM · Restricted Project

Feb 15 2019

steleman added a comment to D53927: [AArch64] Enable libm vectorized functions via SLEEF.

@bryanpkc debug build makes sense, thanks! @steleman, I'd rather just order now and try to rector later. This patch has changed enough tunes already. :-)

Feb 15 2019, 10:42 PM · Restricted Project
steleman updated the diff for D53927: [AArch64] Enable libm vectorized functions via SLEEF.

Corrected manual sorting in TargetLibraryInfo.def as per comments.

Feb 15 2019, 10:41 PM · Restricted Project
steleman added a comment to D53927: [AArch64] Enable libm vectorized functions via SLEEF.

Thanks Stephan, now looks good.

Did you see the comment on lgamma coming after isoc99? I wonder if that's reproducible in all systems...

Yup I saw it. But I don't get any errors here (Ubuntu 16.04 / Ubuntu 18.something) AArch64.

And it's not clear to me how that sorted alphabetical order is supposed to work. There's a bunch of other functions that come after lgamma/tgamma that aren't sorted.

For example:

/// char * __strtok_r(char *s, const char *delim, char **save_ptr);
TLI_DEFINE_ENUM_INTERNAL(dunder_strtok_r)
TLI_DEFINE_STRING_INTERNAL("__strtok_r")
/// int abs(int j);
TLI_DEFINE_ENUM_INTERNAL(abs)
TLI_DEFINE_STRING_INTERNAL("abs")
/// int access(const char *path, int amode);
TLI_DEFINE_ENUM_INTERNAL(access)
TLI_DEFINE_STRING_INTERNAL("access")

The build was fine, but when running the compiler, this assertion in lib/Analysis/TargetLibraryInfo.cpp will fail:

static void initialize(TargetLibraryInfoImpl &TLI, const Triple &T,
                       ArrayRef<StringRef> StandardNames) {
  // Verify that the StandardNames array is in alphabetical order.
  assert(std::is_sorted(StandardNames.begin(), StandardNames.end(),
                        [](StringRef LHS, StringRef RHS) {
                          return LHS < RHS;
                        }) &&
         "TargetLibraryInfoImpl function names must be sorted");

You probably don't see it because you are only building in Release mode.

P.S. The examples you listed are sorted (_ is less than a).

Feb 15 2019, 4:17 PM · Restricted Project
steleman added a comment to D53927: [AArch64] Enable libm vectorized functions via SLEEF.

Just did a rebuild after moving lgamma after isoc99. No warnings, no errors, and no difference in my test results ...

It seems like a build issue (or a different library issue), that we can fix after commit.

LGTM, thanks!

Feb 15 2019, 6:16 AM · Restricted Project
steleman added a comment to D53927: [AArch64] Enable libm vectorized functions via SLEEF.

Thanks Stephan, now looks good.

Did you see the comment on lgamma coming after isoc99? I wonder if that's reproducible in all systems...

Feb 15 2019, 5:35 AM · Restricted Project
steleman added a comment to D53927: [AArch64] Enable libm vectorized functions via SLEEF.

Thanks Stephan, now looks good.

Did you see the comment on lgamma coming after isoc99? I wonder if that's reproducible in all systems...

Feb 15 2019, 5:06 AM · Restricted Project
steleman updated the diff for D53927: [AArch64] Enable libm vectorized functions via SLEEF.

Reverted change in TargetLibraryInfo.cpp re: exp10|exp10f|exp10l on Linux with GLIBC.

Feb 15 2019, 4:21 AM · Restricted Project

Feb 14 2019

steleman updated the diff for D53928: Enable builtins necessary for SLEEF [AArch64] vectorized trigonometry libm functions.

Addressed comments from Renato:

Feb 14 2019, 10:39 PM · Restricted Project
steleman updated the diff for D53927: [AArch64] Enable libm vectorized functions via SLEEF.

Updated changeset to reflect comments/questions from Renato.

Feb 14 2019, 10:34 PM · Restricted Project
steleman added a comment to D53927: [AArch64] Enable libm vectorized functions via SLEEF.

Added inline comments/answers to Renato's questions.

Feb 14 2019, 10:32 PM · Restricted Project
steleman added a comment to D53927: [AArch64] Enable libm vectorized functions via SLEEF.

tgamma stands for "true gamma", and it is the function name specified in the ANSI C standard.

Hm, if this is the same as tgamma, why is it __gamma_r_finite and not __tgamma_r_finite?

Feb 14 2019, 4:59 AM · Restricted Project

Feb 13 2019

steleman added a comment to D53928: Enable builtins necessary for SLEEF [AArch64] vectorized trigonometry libm functions.

Hi Renato,

Feb 13 2019, 11:03 AM · Restricted Project
steleman added a comment to D53927: [AArch64] Enable libm vectorized functions via SLEEF.

Hi Renato,

Feb 13 2019, 11:03 AM · Restricted Project

Feb 6 2019

steleman updated the diff for D53928: Enable builtins necessary for SLEEF [AArch64] vectorized trigonometry libm functions.

This is a small - but signifcant - update to the original changeset.

Feb 6 2019, 9:26 AM · Restricted Project
steleman updated the diff for D53927: [AArch64] Enable libm vectorized functions via SLEEF.

This is a significant update to the original version of the SLEEF
changeset.

Feb 6 2019, 9:22 AM · Restricted Project

Jan 20 2019

steleman added a comment to D53927: [AArch64] Enable libm vectorized functions via SLEEF.

Thank you Hal and Renato.

Jan 20 2019, 9:42 AM · Restricted Project

Jan 17 2019

steleman added a comment to D53927: [AArch64] Enable libm vectorized functions via SLEEF.

Perhaps best to ping Clang's commit, as that's the review that is blocking this one.

As long as we agree on the behaviour in Clang, this patch should be fine.

Jan 17 2019, 9:15 AM · Restricted Project

Jan 10 2019

steleman added a comment to D53928: Enable builtins necessary for SLEEF [AArch64] vectorized trigonometry libm functions.

Yes, I know, everyone was away for the holidays. :-)

Jan 10 2019, 8:32 AM · Restricted Project

Jan 9 2019

steleman added a comment to D53927: [AArch64] Enable libm vectorized functions via SLEEF.

Yes, I realize people were on holidays. :-)

Jan 9 2019, 3:09 PM · Restricted Project

Dec 19 2018

steleman updated the diff for D53928: Enable builtins necessary for SLEEF [AArch64] vectorized trigonometry libm functions.

Removed spurious patch for an unrelated change.

Dec 19 2018, 7:27 AM · Restricted Project

Dec 17 2018

steleman updated the diff for D53928: Enable builtins necessary for SLEEF [AArch64] vectorized trigonometry libm functions.

Updated version of this changeset/patch, as per Renato's latest comments from D53927 (https://reviews.llvm.org/D53927).

Dec 17 2018, 9:07 AM · Restricted Project
steleman updated the diff for D53927: [AArch64] Enable libm vectorized functions via SLEEF.

Updated version of the patch/changeset, as per comments from Renato:

Dec 17 2018, 9:04 AM · Restricted Project

Dec 11 2018

steleman added a comment to D53927: [AArch64] Enable libm vectorized functions via SLEEF.

The RFC for reimplementing -fveclib with OpenMP is titled "OpenMP" because the corresponding code for ARM HPC compiler requires OpenMP.
However, the proposal in RFC does not require OpenMP, as quoted below.

The new proposed #pragma directive are:

  1. #pragma veclib declare simd.
  2. #pragma veclib declare variant.

    Both directive follows the syntax of the declare simd and the declare variant directives of OpenMP, with the exception that declare variant is used only for the simd context.
Dec 11 2018, 8:49 PM · Restricted Project
steleman added a comment to D53927: [AArch64] Enable libm vectorized functions via SLEEF.

A header file that wasn't there before is now automagically included, and there's nothing they can do to not include it. Boom! - source code change. Happy re-certification planning.

@steleman Could you explain a little bit about when a re-certification is required?
Is it required when a standard header file(e.g. math.h) is changed?

Dec 11 2018, 8:23 PM · Restricted Project
steleman added a comment to D53927: [AArch64] Enable libm vectorized functions via SLEEF.

Which means that those environments who will want to use SLEEF will have to build their own.
The upside is that SLEEF is likely of interest only to the rarefied world of HPC/Super-computing. Those environments can definitely build their own SLEEF and maintain their own binary copy.

The signal I'm getting from all labs (in US, Europe and Asia) is that they really *don't* want to maintain their own binaries. They just cope with it because we don't do a good job at the tools/packaging level.

I'm not willing to add more chaos into the mix.

Dec 11 2018, 9:30 AM · Restricted Project
steleman added a comment to D53927: [AArch64] Enable libm vectorized functions via SLEEF.

I am taking it on faith that SLEEF won't keep changing their mangling and ABI.

The name mangling rule in SLEEF is basically the vector function ABI for AArch64.
The functions for Intel ISA conform to the corresponding ABI for x86.

https://developer.arm.com/products/software-development-tools/hpc/arm-compiler-for-hpc/vector-function-abi

Dec 11 2018, 8:16 AM · Restricted Project
steleman added a comment to D53927: [AArch64] Enable libm vectorized functions via SLEEF.

Hi Renato,

Dec 11 2018, 7:40 AM · Restricted Project

Dec 10 2018

steleman added a reviewer for D53927: [AArch64] Enable libm vectorized functions via SLEEF: rengolin.
Dec 10 2018, 2:29 PM · Restricted Project

Nov 24 2018

steleman added a comment to D53927: [AArch64] Enable libm vectorized functions via SLEEF.
Nov 24 2018, 9:48 AM · Restricted Project

Nov 20 2018

steleman added a comment to D53927: [AArch64] Enable libm vectorized functions via SLEEF.
Nov 20 2018, 7:50 AM · Restricted Project

Nov 16 2018

steleman added a comment to D53927: [AArch64] Enable libm vectorized functions via SLEEF.

Hi @steleman , thank you for your patience.

Nov 16 2018, 9:44 AM · Restricted Project
steleman added a comment to D53927: [AArch64] Enable libm vectorized functions via SLEEF.

Ping!!!

Nov 16 2018, 7:24 AM · Restricted Project

Nov 12 2018

steleman added a comment to D53927: [AArch64] Enable libm vectorized functions via SLEEF.

If there are no more comments directly related to this changeset, can we move this along?

Nov 12 2018, 3:02 PM · Restricted Project
steleman added a comment to D53927: [AArch64] Enable libm vectorized functions via SLEEF.
  1. @steleman I don't understand some of the values in your benchmarks. In particular, sin and cos should have similar timings, not differ so much as in your report. I wonder whether the choice of the CLOCK_PROCESS_CPUTIME_ID might have caused this. I think that CLOCK_PROCESS_CPUTIME_ID might translate in a syscall, and therefore cause much overhead in the measurement. I'd rather use CLOCK_MONOTONIC. Also, to make sure you are just measuring the function latency, I think you should invoke the benchmark on array of smaller size, and invoke the call a couple of times before actually starting the time measurement, to reduce the amount of noise causes by warm up effects.
Nov 12 2018, 1:08 PM · Restricted Project

Nov 9 2018

steleman added a comment to D53927: [AArch64] Enable libm vectorized functions via SLEEF.

Ping!!

Nov 9 2018, 9:28 AM · Restricted Project

Nov 6 2018

steleman updated the diff for D53927: [AArch64] Enable libm vectorized functions via SLEEF.
  • Reverted to using the non _u35 SLEEF function names as per comment from @shibatch.
Nov 6 2018, 6:21 AM · Restricted Project

Nov 5 2018

steleman added a comment to D53927: [AArch64] Enable libm vectorized functions via SLEEF.

I am sorry for not reading the comments carefully, but I think 3.5-ULP functions should be used only when a fast-math option is specified.

Nov 5 2018, 9:08 PM · Restricted Project
steleman updated the diff for D53928: Enable builtins necessary for SLEEF [AArch64] vectorized trigonometry libm functions.
  • changed the -fveclib=<X> argument value to 'sleefgnuabi'.
  • added atan2 and pow.
  • spreadsheet with comparison between libm and sleef is here:

https://docs.google.com/spreadsheets/d/1lcpESCnuzEoTl_XHBqE9FLL0tXJB_tZGR8yciCx1yjg/edit?usp=sharing

  • comprehensive test case in C with timings is here:

https://drive.google.com/open?id=1PGKRUdL29_ANoYebOo3Q59syhKp_mNSj

Nov 5 2018, 12:49 PM · Restricted Project
steleman updated the diff for D53927: [AArch64] Enable libm vectorized functions via SLEEF.
  • changed the -fveclib=<X> argument value to 'sleefgnuabi'.
  • added atan2 and pow
  • spreadsheet with comparison between libm and sleef is here:

https://docs.google.com/spreadsheets/d/1lcpESCnuzEoTl_XHBqE9FLL0tXJB_tZGR8yciCx1yjg/edit?usp=sharing

  • comprehensive test case in C with timings is here:

https://drive.google.com/open?id=1PGKRUdL29_ANoYebOo3Q59syhKp_mNSj

Nov 5 2018, 12:47 PM · Restricted Project

Nov 1 2018

steleman added a comment to D53927: [AArch64] Enable libm vectorized functions via SLEEF.

Is it easy to add pow and atan2?
Since these functions are relatively frequently used, I think people would appreciate if you could also add these two functions.

Nov 1 2018, 9:56 PM · Restricted Project
steleman added a comment to D53927: [AArch64] Enable libm vectorized functions via SLEEF.
Nov 1 2018, 7:44 AM · Restricted Project

Oct 31 2018

steleman retitled D53927: [AArch64] Enable libm vectorized functions via SLEEF from [AArch64] Enable trigonometry libm vectorized functions via SLEEF to [AArch64] Enable libm vectorized functions via SLEEF.
Oct 31 2018, 10:42 AM · Restricted Project
steleman added a comment to D53927: [AArch64] Enable libm vectorized functions via SLEEF.

Hi @steleman , thank you for working on this!

Before doing a detailed review, I have a couple of comments and requests.

Oct 31 2018, 10:41 AM · Restricted Project
steleman updated the summary of D53928: Enable builtins necessary for SLEEF [AArch64] vectorized trigonometry libm functions.
Oct 31 2018, 4:48 AM · Restricted Project
steleman added a comment to D53927: [AArch64] Enable libm vectorized functions via SLEEF.

The corresponding Clang changeset is: https://reviews.llvm.org/D53928.

Oct 31 2018, 4:06 AM · Restricted Project
steleman created D53928: Enable builtins necessary for SLEEF [AArch64] vectorized trigonometry libm functions.
Oct 31 2018, 4:04 AM · Restricted Project
steleman created D53927: [AArch64] Enable libm vectorized functions via SLEEF.
Oct 31 2018, 4:00 AM · Restricted Project

Sep 27 2018

steleman updated the diff for D51939: [AArch64] -mcpu=native CPU detection for Cavium processors.

Added unit test case for Cavium processors - T99 and T88.

Sep 27 2018, 8:39 AM

Sep 21 2018

steleman added a comment to D51939: [AArch64] -mcpu=native CPU detection for Cavium processors.

LGTM. Could you please add a unittest similar to the one added in D40985?

Sep 21 2018, 6:15 AM

Sep 19 2018

steleman added a comment to D51939: [AArch64] -mcpu=native CPU detection for Cavium processors.

Le Ping!

Sep 19 2018, 2:22 PM

Sep 11 2018

steleman created D51939: [AArch64] -mcpu=native CPU detection for Cavium processors.
Sep 11 2018, 10:25 AM

Jan 24 2018

steleman updated the diff for D40696: Enable aggressive FMA on T99 and provide AArch64 option for other micro-arch's.

Updated per latest comments.

Jan 24 2018, 9:58 AM

Jan 23 2018

steleman updated the diff for D40696: Enable aggressive FMA on T99 and provide AArch64 option for other micro-arch's.

Updated per latest comments:

Jan 23 2018, 8:28 PM

Jan 22 2018

steleman added a comment to D40696: Enable aggressive FMA on T99 and provide AArch64 option for other micro-arch's.

I am not sure I follow. I think @MatzeB 's issue was using getProcFamily() and it should be fine to just check the subtarget feature in enableAggressiveFMAFusion. @MatzeB summarized some benefits of making it a subtarget feature here: https://reviews.llvm.org/D40177#936974

Jan 22 2018, 10:13 AM
steleman added inline comments to D40696: Enable aggressive FMA on T99 and provide AArch64 option for other micro-arch's.
Jan 22 2018, 8:42 AM
steleman added inline comments to D40696: Enable aggressive FMA on T99 and provide AArch64 option for other micro-arch's.
Jan 22 2018, 8:27 AM

Jan 11 2018

steleman added a comment to D40696: Enable aggressive FMA on T99 and provide AArch64 option for other micro-arch's.

Ping!

Jan 11 2018, 7:30 PM

Jan 8 2018

steleman added a comment to D40694: Remove Unsupported flag from T99 Scheduler.

Could you please prefix the title of the commit message with [AArch64]?

Jan 8 2018, 4:39 PM
steleman added a comment to D40694: Remove Unsupported flag from T99 Scheduler.

Sorry I missed this one! LGTM, assuming you are happy with effect on ThunderX2!

Jan 8 2018, 3:15 PM
steleman added a comment to D40694: Remove Unsupported flag from T99 Scheduler.

Ping!

Jan 8 2018, 2:23 PM
steleman added a reviewer for D40694: Remove Unsupported flag from T99 Scheduler: atrick.
Jan 8 2018, 2:23 PM

Jan 7 2018

steleman updated the diff for D40696: Enable aggressive FMA on T99 and provide AArch64 option for other micro-arch's.

Updated diff with latest changes:

Jan 7 2018, 12:01 PM
steleman added a child revision for D40696: Enable aggressive FMA on T99 and provide AArch64 option for other micro-arch's: D41810: test case for Aggressive FMA on AArch64.
Jan 7 2018, 11:56 AM
steleman added a parent revision for D41810: test case for Aggressive FMA on AArch64: D40696: Enable aggressive FMA on T99 and provide AArch64 option for other micro-arch's.
Jan 7 2018, 11:56 AM
steleman created D41810: test case for Aggressive FMA on AArch64.
Jan 7 2018, 11:56 AM

Dec 7 2017

steleman updated the diff for D40696: Enable aggressive FMA on T99 and provide AArch64 option for other micro-arch's.

Updated large test case to use --check-prefix={CHECK-FMA|CHECK-GENERIC}.
Included Florian Hahn's small test case for FMA.
Metadata in the large LLVM IR test case is required.

Dec 7 2017, 11:48 AM

Dec 5 2017

steleman added inline comments to D40696: Enable aggressive FMA on T99 and provide AArch64 option for other micro-arch's.
Dec 5 2017, 9:11 AM

Dec 4 2017

steleman added inline comments to D40696: Enable aggressive FMA on T99 and provide AArch64 option for other micro-arch's.
Dec 4 2017, 7:54 AM

Dec 1 2017

steleman added inline comments to D40696: Enable aggressive FMA on T99 and provide AArch64 option for other micro-arch's.
Dec 1 2017, 8:09 AM

Nov 30 2017

steleman added a comment to D40695: Improve loop unrolling performance on T99.

128 is a really big number for LoopMicroOpBufferSize.

Nov 30 2017, 6:57 PM
steleman added a comment to D40696: Enable aggressive FMA on T99 and provide AArch64 option for other micro-arch's.

My points from D40177 still stand.

Nov 30 2017, 5:45 PM
steleman abandoned D40177: performance improvements for ThunderX2 T99.

Superseded by:

Nov 30 2017, 5:23 PM
steleman created D40696: Enable aggressive FMA on T99 and provide AArch64 option for other micro-arch's.
Nov 30 2017, 5:20 PM
steleman created D40695: Improve loop unrolling performance on T99.
Nov 30 2017, 5:19 PM
steleman created D40694: Remove Unsupported flag from T99 Scheduler.
Nov 30 2017, 5:19 PM

Nov 28 2017

steleman added a comment to D40177: performance improvements for ThunderX2 T99.

Also if I understand correctly, this should have an impact on scheduling instructions using WriteAtomic, like CASB.

It doesn't. Maybe it was supposed to, in theory, but in reality it makes no difference whatsoever.

The only noticeable difference is in instruction cost: when Unsupported == 1, the estimated instruction cost is higher than when Unsupported == 0. Which makes no difference whatsoever in practice, given that the real cost of LSE instructions is pretty high anyway.

We've been emitting LSE instructions with no problems for many months. Whether or not Unsupported was 0 or 1 made no difference whatsoever.

It is probably unlikely that atomic instructions are in hot loops of most benchmarks, so I am not surprised that you do not see any impact on runtimes (assuming that's what you meant with 'it makes no difference whatsoever). However there should be cases where it should make a difference when scheduling, but it probably requires some time to come up with a test case.

Nov 28 2017, 7:54 PM

Nov 27 2017

steleman added a comment to D40177: performance improvements for ThunderX2 T99.

Please avoid getProcFamily() checks outside of AArch64SubtargetInfo. Use target features and transfer the logic into SubtargetInfo!

Nov 27 2017, 3:00 PM

Nov 22 2017

steleman added a comment to D40177: performance improvements for ThunderX2 T99.

Also if I understand correctly, this should have an impact on scheduling instructions using WriteAtomic, like CASB.

Nov 22 2017, 9:31 AM

Nov 21 2017

steleman added inline comments to D40177: performance improvements for ThunderX2 T99.
Nov 21 2017, 9:44 PM
steleman added inline comments to D40177: performance improvements for ThunderX2 T99.
Nov 21 2017, 9:02 PM
steleman updated the diff for D40177: performance improvements for ThunderX2 T99.

Added test case.

Nov 21 2017, 7:14 PM

Nov 17 2017

steleman added a comment to D40177: performance improvements for ThunderX2 T99.

Could you please add a few tests? Also please remember to add llvm-commits as subscriber to your patches.

Nov 17 2017, 12:29 PM
steleman created D40177: performance improvements for ThunderX2 T99.
Nov 17 2017, 7:14 AM

Aug 4 2017

steleman updated the diff for D35319: LSE Atomics reorg - Part I.

Restored definition for defm atomic_load_nand in TargetSelectionDAG.td,
which I had removed by mistake.

Aug 4 2017, 4:05 PM
steleman added a comment to D35319: LSE Atomics reorg - Part I.

Thanks for the hard work. It looks good. Quite an exhaustive list of tests as well.

Aug 4 2017, 8:21 AM

Aug 3 2017

steleman updated the diff for D35319: LSE Atomics reorg - Part I.

Updated changeset to use LDOPregister_patterns.
Implements all the LD<OP> LSE Atomics with the exception of NAND.
Updated test in atomic-ops.lse to cover all memory ordering models.

Aug 3 2017, 10:40 AM

Aug 1 2017

steleman added a comment to D35319: LSE Atomics reorg - Part I.

I have uploaded the LLVM patch that exhibits this problem here:

Aug 1 2017, 10:33 AM

Jul 31 2017

steleman added a comment to D35319: LSE Atomics reorg - Part I.

It does not appear that the multiclass design you are advocating here does what we'd expect it to do.

Jul 31 2017, 5:24 PM

Jul 26 2017

steleman added a parent revision for D35319: LSE Atomics reorg - Part I: D35927: [NFC] standardized suffixes for LSE Atomics mnemonics.
Jul 26 2017, 9:55 PM
steleman added a child revision for D35927: [NFC] standardized suffixes for LSE Atomics mnemonics: D35319: LSE Atomics reorg - Part I.
Jul 26 2017, 9:55 PM
steleman created D35927: [NFC] standardized suffixes for LSE Atomics mnemonics.
Jul 26 2017, 9:36 PM
steleman added inline comments to D35319: LSE Atomics reorg - Part I.
Jul 26 2017, 11:22 AM
steleman updated the diff for D35319: LSE Atomics reorg - Part I.

Progress update: updated with the latest changes.

Jul 26 2017, 10:50 AM

Jul 13 2017

steleman added a comment to D35319: LSE Atomics reorg - Part I.
Jul 13 2017, 4:08 PM
steleman added a comment to D35319: LSE Atomics reorg - Part I.

This diff covers lots of different areas:

Jul 13 2017, 12:30 PM