Page MenuHomePhabricator

dnsampaio (Diogo N. Sampaio)
User

Projects

User does not belong to any projects.

User Details

User Since
Sep 22 2017, 3:13 PM (108 w, 3 d)

Recent Activity

Thu, Oct 17

dnsampaio accepted D68940: [AArch64] Adding support for PMMIR_EL1 register.

LGTM. Could wait a day before committing in case anyone else has a say.

Thu, Oct 17, 5:44 AM · Restricted Project

Wed, Oct 16

dnsampaio added a comment to D68940: [AArch64] Adding support for PMMIR_EL1 register.

Hi,
this seems mostly good, perhaps just missing a disassembler test, such as in llvm/test/MC/Disassembler/AArch64/armv8.4a-mpam.txt?

Wed, Oct 16, 8:18 AM · Restricted Project

Mon, Oct 14

dnsampaio committed rG2cb43b45713d: [ARM] Preserve fpu behaviour for '-crypto' (authored by dnsampaio).
[ARM] Preserve fpu behaviour for '-crypto'
Mon, Oct 14, 9:29 AM
dnsampaio closed D67608: [ARM] Preserve fpu behaviour for '-crypto'.
Mon, Oct 14, 9:29 AM · Restricted Project
dnsampaio committed rL374785: [ARM] Preserve fpu behaviour for '-crypto'.
[ARM] Preserve fpu behaviour for '-crypto'
Mon, Oct 14, 9:29 AM

Thu, Oct 10

dnsampaio updated the diff for D67608: [ARM] Preserve fpu behaviour for '-crypto'.

Attending review request:

Thu, Oct 10, 6:00 AM · Restricted Project

Sep 16 2019

dnsampaio created D67608: [ARM] Preserve fpu behaviour for '-crypto'.
Sep 16 2019, 2:05 AM · Restricted Project

Sep 13 2019

dnsampaio added a comment to D67399: [ARM] Follow AACPS standard for volatile bitfields.

Indeed our main concern is regarding the access widths of loads. As mentioned by @rjmccall, most volatile bitfields are used to perform memory mapped I/O, and some hardware only support them with a specific access width.
The spurious load I am more than glad to leave it disable behind a command flag, so it will only appear if the user requests it. See that volatile accesses might have side effects, and for example, an I/O read counter holding an odd number could define that the data is still being processed.

Sep 13 2019, 2:09 AM · Restricted Project

Sep 11 2019

dnsampaio added a reviewer for D67399: [ARM] Follow AACPS standard for volatile bitfields: eli.friedman.
Sep 11 2019, 9:41 AM · Restricted Project
dnsampaio committed rG73ec745793ac: [ARM] Take into account -mcpu and -mfpu options while handling 'crypto' feature (authored by dnsampaio).
[ARM] Take into account -mcpu and -mfpu options while handling 'crypto' feature
Sep 11 2019, 2:07 AM
dnsampaio committed rL371597: [ARM] Take into account -mcpu and -mfpu options while handling 'crypto' feature.
[ARM] Take into account -mcpu and -mfpu options while handling 'crypto' feature
Sep 11 2019, 2:05 AM
dnsampaio closed D66018: [ARM] Take into account -mcpu and -mfpu options while handling 'crypto' feature.
Sep 11 2019, 2:05 AM · Restricted Project, Restricted Project
dnsampaio added a comment to D67399: [ARM] Follow AACPS standard for volatile bitfields.

Hi @jfb. In a example such as:

struct { int a : 1; int b : 16; } S;
extern int expensive_computaion(int v);
void foo(volatile S* s){
  s->b = expensive_computation(s->b);
}

There is no guarantee that s->a is not modified during a expensive computation, so it must be obtained just before writing the s->b value, as a and b share the same memory position. This is already done by llvm. Indeed, the exact output would be

define void @foo(%struct.S* %S) local_unnamed_addr #0 {
entry:
  %0 = bitcast %struct.S* %S to i32*
  %bf.load = load volatile i32, i32* %0, align 4
  %bf.shl = shl i32 %bf.load, 15
  %bf.ashr = ashr i32 %bf.shl, 16
  %call = tail call i32 @expensive_computation(i32 %bf.ashr) #2
  %bf.load1 = load volatile i32, i32* %0, align 4 ; <<<== Here it obtains the value to s->a to restore it.
  %bf.value = shl i32 %call, 1
  %bf.shl2 = and i32 %bf.value, 131070
  %bf.clear = and i32 %bf.load1, -131071
  %bf.set = or i32 %bf.clear, %bf.shl2
  store volatile i32 %bf.set, i32* %0, align 4
  ret void
}
Sep 11 2019, 1:56 AM · Restricted Project

Sep 10 2019

dnsampaio added a comment to D67399: [ARM] Follow AACPS standard for volatile bitfields.

@ostannard might prove me wrong, but according to the AACPS:

When a volatile bit-field is written, and its container does not overlap with any non-bit-field member, its
container must be read exactly once and written exactly once using the access width appropriate to the
type of the container. The two accesses are not atomic.

This rule does not define that the load is done if required. It states that it will be read once. It even gives the example that an increment will always perform two reads and one write, bitwidth agnostic. It writes just after:

Note: Note the volatile access rules apply even when the width and alignment of the bit-field imply that
the access could be achieved more efficiently using a narrower type. For a write operation the read must
always occur even if the entire contents of the container will be replaced.

The rationale is to provide a uniform behavior for volatile bitfields independent of their width (as far they do not overlap with non-bitfields).

Sep 10 2019, 8:23 AM · Restricted Project
dnsampaio added a comment to D67399: [ARM] Follow AACPS standard for volatile bitfields.

This patch could hack clang to generate an extra load. However, my knowledge in the clang code base is not extensive. How could we ensure that the width of loads and stores are the size of the container, and that they don't overlap non-bitfields?

Sep 10 2019, 7:51 AM · Restricted Project
dnsampaio created D67399: [ARM] Follow AACPS standard for volatile bitfields.
Sep 10 2019, 7:46 AM · Restricted Project

Sep 9 2019

dnsampaio committed rG3c8644666c49: [NFC] Add aacps bitfields access test (authored by dnsampaio).
[NFC] Add aacps bitfields access test
Sep 9 2019, 8:40 AM
dnsampaio committed rL371410: [NFC] Add aacps bitfields access test.
[NFC] Add aacps bitfields access test
Sep 9 2019, 8:39 AM

Sep 3 2019

dnsampaio accepted D66018: [ARM] Take into account -mcpu and -mfpu options while handling 'crypto' feature.

LGTM. Thanks. Will commit for you as requested soon.

Sep 3 2019, 5:24 AM · Restricted Project, Restricted Project
dnsampaio committed rL370723: Request commit access for dnsampaio.
Request commit access for dnsampaio
Sep 3 2019, 2:38 AM
dnsampaio committed rG7a65f5ebee3f: [ARM NEON] Avoid duplicated decarations (authored by dnsampaio).
[ARM NEON] Avoid duplicated decarations
Sep 3 2019, 2:17 AM
dnsampaio committed rL370716: [ARM NEON] Avoid duplicated decarations.
[ARM NEON] Avoid duplicated decarations
Sep 3 2019, 2:16 AM
dnsampaio closed D66588: [ARM NEON] Avoid duplicated decarations.
Sep 3 2019, 2:16 AM · Restricted Project, Restricted Project
dnsampaio updated the diff for D66588: [ARM NEON] Avoid duplicated decarations.
  • Fix comment
Sep 3 2019, 2:06 AM · Restricted Project, Restricted Project

Sep 2 2019

dnsampaio added a comment to D66018: [ARM] Take into account -mcpu and -mfpu options while handling 'crypto' feature.

Hi, I do agree that giving the user a warning that the argument is ignored is the best solution. If you wouldn't mind adding it to this patch, that would be great. Thanks.

Sep 2 2019, 1:07 AM · Restricted Project, Restricted Project

Aug 30 2019

dnsampaio requested changes to D66018: [ARM] Take into account -mcpu and -mfpu options while handling 'crypto' feature.

clang -### -target arm-arm-none-eabit -march=armv8-m.main+crypto did not show +sha2 or +aes. After the patch it does.
I believe that is not expected, as in ARM.td crypto is not applied for any M profile. And Arm®v8-M Architecture Reference Manual does not reference these extensions neither.

Aug 30 2019, 8:46 AM · Restricted Project, Restricted Project
dnsampaio added a reviewer for D66588: [ARM NEON] Avoid duplicated decarations: labrinea.
Aug 30 2019, 3:26 AM · Restricted Project, Restricted Project

Aug 29 2019

dnsampaio accepted D66018: [ARM] Take into account -mcpu and -mfpu options while handling 'crypto' feature.

LGTM. One optional nit as it is not related with this patch anymore.

Aug 29 2019, 6:11 AM · Restricted Project, Restricted Project

Aug 28 2019

dnsampaio updated the diff for D66588: [ARM NEON] Avoid duplicated decarations.
  • Avoid appending __noswap_ to intrinsics that are BigEndianSafe
  • Moved to monorepo
Aug 28 2019, 3:13 AM · Restricted Project, Restricted Project

Aug 27 2019

dnsampaio planned changes to D66588: [ARM NEON] Avoid duplicated decarations.

Breaks the header. Needs to avoid generating calls to functions with predicated __noswap when it is BigEndianSafe.

Aug 27 2019, 5:15 AM · Restricted Project, Restricted Project

Aug 23 2019

dnsampaio updated the summary of D66588: [ARM NEON] Avoid duplicated decarations.
Aug 23 2019, 4:07 AM · Restricted Project, Restricted Project
dnsampaio updated the diff for D66588: [ARM NEON] Avoid duplicated decarations.
  • Consider BigEndianSafe intrinsics that all inputs and outputs are scalar or single element vectors
Aug 23 2019, 4:07 AM · Restricted Project, Restricted Project

Aug 22 2019

dnsampaio created D66588: [ARM NEON] Avoid duplicated decarations.
Aug 22 2019, 6:25 AM · Restricted Project, Restricted Project
dnsampaio added a comment to D66018: [ARM] Take into account -mcpu and -mfpu options while handling 'crypto' feature.

Hi @krisb,
thanks for looking into this, and sorry for the delay, was out for a week.

Aug 22 2019, 3:41 AM · Restricted Project, Restricted Project

Aug 14 2019

dnsampaio added inline comments to D66018: [ARM] Take into account -mcpu and -mfpu options while handling 'crypto' feature.
Aug 14 2019, 6:29 AM · Restricted Project, Restricted Project
dnsampaio added a comment to D63152: [FIX] Forces shrink wrapping to consider any memory access as aliasing with the stack.

Is there any fix patch proposed to track/fix the regression? @dnsampaio

Aug 14 2019, 3:59 AM · Restricted Project

Aug 8 2019

dnsampaio committed rGdd591977e0fe: [FIX][NFC] Update clang sema test (authored by dnsampaio).
[FIX][NFC] Update clang sema test
Aug 8 2019, 7:47 AM
dnsampaio committed rL368301: [FIX][NFC] Update clang sema test.
[FIX][NFC] Update clang sema test
Aug 8 2019, 7:47 AM
dnsampaio added a comment to rG9427aa2d543b: [ARM] Set default alignment to 64bits.

Just seen that this breaks clang/test/Sema/struct-packed-align.c, working on it.

Aug 8 2019, 7:09 AM
dnsampaio committed rG9427aa2d543b: [ARM] Set default alignment to 64bits (authored by dnsampaio).
[ARM] Set default alignment to 64bits
Aug 8 2019, 5:52 AM
dnsampaio committed rL368288: [ARM] Set default alignment to 64bits.
[ARM] Set default alignment to 64bits
Aug 8 2019, 5:50 AM
dnsampaio closed D65000: [ARM] Set default alignment to 64bits.
Aug 8 2019, 5:49 AM · Restricted Project, Restricted Project

Aug 6 2019

dnsampaio added a comment to D65000: [ARM] Set default alignment to 64bits.

I have tested this in our MacOS and linux environments. @thakis @thegameg @phosek, would it be possible for you to check if this works for you?

Aug 6 2019, 2:05 AM · Restricted Project, Restricted Project
dnsampaio updated the diff for D65000: [ARM] Set default alignment to 64bits.

Fix test

Aug 6 2019, 2:03 AM · Restricted Project, Restricted Project
dnsampaio reopened D65000: [ARM] Set default alignment to 64bits.

Hi, first thanks for those that looked into this and sorry for the delay.
We have investigated the errors and seems that the test was, first in the wrong folder, inside CodeGen where it should be in CodeGenCXX and we should use clang_cc1.

Aug 6 2019, 2:03 AM · Restricted Project, Restricted Project

Jul 23 2019

dnsampaio updated subscribers of D65000: [ARM] Set default alignment to 64bits.
Jul 23 2019, 3:52 AM · Restricted Project, Restricted Project

Jul 22 2019

dnsampaio added a comment to D65000: [ARM] Set default alignment to 64bits.

True. Thx again.

Jul 22 2019, 9:39 AM · Restricted Project, Restricted Project
dnsampaio updated the diff for D65000: [ARM] Set default alignment to 64bits.
  • Joined assignments for default alignments and neon_vector alignment
  • Added missing align 8 test
Jul 22 2019, 9:39 AM · Restricted Project, Restricted Project
dnsampaio updated the diff for D65000: [ARM] Set default alignment to 64bits.
  • Joined assignments for default alignments and neon_vector alignment
Jul 22 2019, 8:10 AM · Restricted Project, Restricted Project
dnsampaio added a comment to D65000: [ARM] Set default alignment to 64bits.

Set android-abi default to 128. Added tests for android and not-android.

Jul 22 2019, 3:10 AM · Restricted Project, Restricted Project
dnsampaio updated the diff for D65000: [ARM] Set default alignment to 64bits.
  • Set androideabi alignment to 128 bits
Jul 22 2019, 2:45 AM · Restricted Project, Restricted Project

Jul 19 2019

dnsampaio created D65000: [ARM] Set default alignment to 64bits.
Jul 19 2019, 9:02 AM · Restricted Project, Restricted Project

Jul 18 2019

dnsampaio committed rG11512e742b28: [ARM][DAGCOMBINE][FIX] PerformVMOVRRDCombine (authored by dnsampaio).
[ARM][DAGCOMBINE][FIX] PerformVMOVRRDCombine
Jul 18 2019, 3:07 AM
dnsampaio committed rL366423: [ARM][DAGCOMBINE][FIX] PerformVMOVRRDCombine.
[ARM][DAGCOMBINE][FIX] PerformVMOVRRDCombine
Jul 18 2019, 3:05 AM
dnsampaio closed D64870: [ARM][DAGCOMBINE][FIX] PerformVMOVRRDCombine.
Jul 18 2019, 3:05 AM · Restricted Project

Jul 17 2019

dnsampaio created D64870: [ARM][DAGCOMBINE][FIX] PerformVMOVRRDCombine.
Jul 17 2019, 7:58 AM · Restricted Project

Jul 12 2019

dnsampaio accepted rL365911: Support for dumping current PrettyStackTrace on SIGINFO (Ctrl-T).

Was fixed just after if the include <atomic>

Jul 12 2019, 9:28 AM
dnsampaio raised a concern with rL365911: Support for dumping current PrettyStackTrace on SIGINFO (Ctrl-T).

I am getting this error with gcc 8.2

/work/bf/LLVM/local/src/lib/Support/PrettyStackTrace.cpp:57:39: error: variable ‘volatile std::atomic<unsigned int> GlobalSigInfoGenerationCounter’ has initializer but incomplete type
 static volatile std::atomic<unsigned> GlobalSigInfoGenerationCounter =
                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Jul 12 2019, 9:20 AM

Jul 10 2019

dnsampaio committed rG71cac61d0188: [AArch64] Fix vector vuqadd intrinsics operands (authored by dnsampaio).
[AArch64] Fix vector vuqadd intrinsics operands
Jul 10 2019, 3:00 AM
dnsampaio committed rGa8ce16101080: [NFC][AArch64] Fix vector vsqadd intrinsics operands (authored by dnsampaio).
[NFC][AArch64] Fix vector vsqadd intrinsics operands
Jul 10 2019, 2:59 AM
dnsampaio committed rL365609: [AArch64] Fix vector vuqadd intrinsics operands.
[AArch64] Fix vector vuqadd intrinsics operands
Jul 10 2019, 2:58 AM
dnsampaio closed D64211: [AArch64] Fix vector vuqadd intrinsics operands.
Jul 10 2019, 2:58 AM · Restricted Project, Restricted Project
dnsampaio committed rL365608: [NFC][AArch64] Fix vector vsqadd intrinsics operands.
[NFC][AArch64] Fix vector vsqadd intrinsics operands
Jul 10 2019, 2:58 AM
dnsampaio closed D64210: [NFC][AArch64] Fix vector vsqadd intrinsics operands.
Jul 10 2019, 2:58 AM · Restricted Project, Restricted Project
dnsampaio committed rG3490aab63af3: [NFC][AArch64] Fix vector vqtb[lx][1-4]_s8 operand (authored by dnsampaio).
[NFC][AArch64] Fix vector vqtb[lx][1-4]_s8 operand
Jul 10 2019, 1:18 AM
dnsampaio committed rL365598: [NFC][AArch64] Fix vector vqtb[lx][1-4]_s8 operand.
[NFC][AArch64] Fix vector vqtb[lx][1-4]_s8 operand
Jul 10 2019, 1:16 AM
dnsampaio closed D64243: [NFC][AArch64] Fix vector vqtb[lx][1-4]_s8 operand.
Jul 10 2019, 1:16 AM · Restricted Project, Restricted Project

Jul 8 2019

dnsampaio committed rG4ec445b813a1: [AArch64] Fix scalar vuqadd intrinsics operands (authored by dnsampaio).
[AArch64] Fix scalar vuqadd intrinsics operands
Jul 8 2019, 1:49 AM
dnsampaio committed rL365300: [AArch64] Fix scalar vuqadd intrinsics operands.
[AArch64] Fix scalar vuqadd intrinsics operands
Jul 8 2019, 1:48 AM
dnsampaio closed D64242: [AArch64] Fix scalar vuqadd intrinsics operands.
Jul 8 2019, 1:47 AM · Restricted Project, Restricted Project
dnsampaio committed rG0464e07c8f6e: [AArch64] Fix vsqadd scalar intrinsics operands (authored by dnsampaio).
[AArch64] Fix vsqadd scalar intrinsics operands
Jul 8 2019, 1:38 AM
dnsampaio committed rL365298: [AArch64] Fix vsqadd scalar intrinsics operands.
[AArch64] Fix vsqadd scalar intrinsics operands
Jul 8 2019, 1:38 AM
dnsampaio closed D64239: [AArch64] Fix vsqadd scalar intrinsics operands.
Jul 8 2019, 1:38 AM · Restricted Project, Restricted Project
dnsampaio updated the summary of D64239: [AArch64] Fix vsqadd scalar intrinsics operands.
Jul 8 2019, 1:19 AM · Restricted Project, Restricted Project

Jul 5 2019

dnsampaio created D64243: [NFC][AArch64] Fix vector vqtb[lx][1-4]_s8 operand.
Jul 5 2019, 5:08 AM · Restricted Project, Restricted Project
dnsampaio updated the diff for D64242: [AArch64] Fix scalar vuqadd intrinsics operands.
  • Fix previously existing tests
Jul 5 2019, 4:29 AM · Restricted Project, Restricted Project
dnsampaio created D64242: [AArch64] Fix scalar vuqadd intrinsics operands.
Jul 5 2019, 4:24 AM · Restricted Project, Restricted Project
dnsampaio created D64239: [AArch64] Fix vsqadd scalar intrinsics operands.
Jul 5 2019, 3:59 AM · Restricted Project, Restricted Project
dnsampaio retitled D64210: [NFC][AArch64] Fix vector vsqadd intrinsics operands from [NFC][ARM] Fix vector vsqadd intrinsics operands to [NFC][AArch64] Fix vector vsqadd intrinsics operands.
Jul 5 2019, 3:46 AM · Restricted Project, Restricted Project
dnsampaio retitled D64211: [AArch64] Fix vector vuqadd intrinsics operands from [ARM] Fix vector vuqadd intrinsics operands to [AArch64] Fix vector vuqadd intrinsics operands.
Jul 5 2019, 3:46 AM · Restricted Project, Restricted Project
dnsampaio updated the diff for D64211: [AArch64] Fix vector vuqadd intrinsics operands.
  • Added tests
Jul 5 2019, 2:33 AM · Restricted Project, Restricted Project
dnsampaio retitled D64210: [NFC][AArch64] Fix vector vsqadd intrinsics operands from [ARM] Fix vector vsqadd intrinsics operands to [NFC][ARM] Fix vector vsqadd intrinsics operands.
Jul 5 2019, 1:45 AM · Restricted Project, Restricted Project
dnsampaio added a comment to D64210: [NFC][AArch64] Fix vector vsqadd intrinsics operands.

Are there some changes/addition to tests attached to this?

Jul 5 2019, 1:45 AM · Restricted Project, Restricted Project

Jul 4 2019

dnsampaio created D64211: [AArch64] Fix vector vuqadd intrinsics operands.
Jul 4 2019, 8:46 AM · Restricted Project, Restricted Project
dnsampaio created D64210: [NFC][AArch64] Fix vector vsqadd intrinsics operands.
Jul 4 2019, 8:16 AM · Restricted Project, Restricted Project

Jun 28 2019

dnsampaio abandoned D49229: [AggressiveInstCombine] Fold redundant masking operations of shifted value.
Jun 28 2019, 8:10 AM
dnsampaio added a comment to D49229: [AggressiveInstCombine] Fold redundant masking operations of shifted value.

Perhaps this makes it clearer:
https://rise4fun.com/Alive/4TLv

Jun 28 2019, 7:36 AM
dnsampaio added a comment to D49229: [AggressiveInstCombine] Fold redundant masking operations of shifted value.

Hi @lebedev.ri,
Nice you looked this one as I am not quite sure what to do about it. Any suggestions?

Jun 28 2019, 7:33 AM

Jun 18 2019

dnsampaio committed rG0265716b272d: [NFC] Improve triple match of scripts that update tests (authored by dnsampaio).
[NFC] Improve triple match of scripts that update tests
Jun 18 2019, 3:03 AM
dnsampaio committed rL363656: [NFC] Improve triple match of scripts that update tests.
[NFC] Improve triple match of scripts that update tests
Jun 18 2019, 3:02 AM
dnsampaio closed D63145: [NFC] Improve triple match of scripts that update tests.
Jun 18 2019, 3:01 AM · Restricted Project
dnsampaio updated the diff for D63145: [NFC] Improve triple match of scripts that update tests.

Fixed inline requests

Jun 18 2019, 2:35 AM · Restricted Project

Jun 13 2019

dnsampaio abandoned D63150: [NFC] Update tests to be used as reference for shrink wrapping changes.

Already part of D63152

Jun 13 2019, 6:55 AM · Restricted Project
dnsampaio committed rG0be2d25ecc7d: [FIX] Forces shrink wrapping to consider any memory access as aliasing with the… (authored by dnsampaio).
[FIX] Forces shrink wrapping to consider any memory access as aliasing with the…
Jun 13 2019, 6:54 AM
dnsampaio committed rL363265: [FIX] Forces shrink wrapping to consider any memory access as aliasing with the….
[FIX] Forces shrink wrapping to consider any memory access as aliasing with the…
Jun 13 2019, 6:54 AM
dnsampaio removed a parent revision for D63152: [FIX] Forces shrink wrapping to consider any memory access as aliasing with the stack: D63150: [NFC] Update tests to be used as reference for shrink wrapping changes.
Jun 13 2019, 6:54 AM · Restricted Project
dnsampaio removed a child revision for D63150: [NFC] Update tests to be used as reference for shrink wrapping changes: D63152: [FIX] Forces shrink wrapping to consider any memory access as aliasing with the stack.
Jun 13 2019, 6:54 AM · Restricted Project
dnsampaio closed D63152: [FIX] Forces shrink wrapping to consider any memory access as aliasing with the stack.
Jun 13 2019, 6:54 AM · Restricted Project
dnsampaio added a comment to D63152: [FIX] Forces shrink wrapping to consider any memory access as aliasing with the stack.

Thanks for the reviews. I'm changing the new test to take a mir obtained just before shrink-wrap pass and validating just that one pass.

Jun 13 2019, 3:46 AM · Restricted Project

Jun 12 2019

dnsampaio updated subscribers of D63152: [FIX] Forces shrink wrapping to consider any memory access as aliasing with the stack.

Hi @thegameg,
My initial thoughts on how to optimize this was to use alias analysis to check that load and stores for sure do not alias with the stack of the current function. It seems that the current api accepts two memory operands, and then turns them into memory regions. I don't know if it possible, as we might not know the sp value it self, but my idea was to create a function that accepts a memory access and a memory region, which would be set to [SP, SP + stackSize].
In pr42136, @eli.friedman also mentioned that might be quite simple to prove that a load accesses a global variable, as well possible to prove that the address of some particular stack objects doesn't escape (also pointed by @chill) .

Jun 12 2019, 2:55 AM · Restricted Project