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 (286 w, 6 d)

Recent Activity

Feb 9 2022

dnsampaio added a comment to D114174: [ARM][CodeGen] Add support for complex deinterleaving.

Hi, thanks for working on this. I do like the direction this patch goes, by detecting complex operations at IR level. I do have some question though.

The supportsComplexArithmetic method doesn't add a lot on its own. It would probably be better to represent it in terms of asking the backend if it has certain patterns of certain types available. An f32 fcadd, for example, or a i16 fcmul_with_rotate (I'm not sure what to name them).
The ComplexArithmeticGraph seems like internal details to the pass. It would be best not to pass it over the TTI interface boundary if we can. The backend just needs to create the correct intrinsics of the correct type.
Equally I would keep all the matching logic in the pass, not through matchComplexArithmeticIR. That would be similar to, for example, the MachineCombiner pass which has its own enum of a set of patterns.

Unfortunately, not all architectures/intrinsics follow the same patterns, so this was done to provide a way for architecture-specific stuff to be handled as needed. The MVE halving complex add (which I only now realise was included in this patch) is a good example of this; It only works on integers, and requires some extra instructions to be matched. This instruction is only in MVE, it is not part of NEON in any way.

I'm not exactly sure why to do target specific pattern matching here. We could simply add generic complex intrinsics and the different patterns could be matched at each archs ISEL, no? I do agree that it should check in the backend if it should generate a complex operation of a given vector type.

Feb 9 2022, 2:16 AM · Restricted Project, Restricted Project

Sep 3 2021

dnsampaio accepted D109246: [AArch64][MC] Merge FeaturePMU into FeaturePerfMon.

LGTM.

Sep 3 2021, 1:24 PM · Restricted Project

May 28 2021

dnsampaio added a comment to D99205: Add jump-threading optimization for deterministic finite automata.

@jkreiner with both llvm 12 and head I get a compiler crash in this function for file F17082111. Just run opt --dfa-jump-threading. Sorry, I couldn't reduce it further, I just don't know how to get bugpoint to work with opt.
With a llvm-12 in debug build I get:

opt --dfa-jump-threading -S < fail.ll
opt: /work1/dsampaio/csw/llvm-project/llvm/include/llvm/IR/Instructions.h:2767: llvm::Value *llvm::PHINode::getIncomingValueForBlock(const llvm::BasicBlock *) const: Assertion `Idx >= 0 && "Invalid basic block argument!"' failed.
PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace.
Stack dump:
0.      Program arguments: opt --dfa-jump-threading -S
1.      Running pass 'Function Pass Manager' on module '<stdin>'.
2.      Running pass 'DFA Jump Threading' on function '@main'
 #0 0x00007f6a3415119a llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /work1/dsampaio/csw/llvm-project/llvm/lib/Support/Unix/Signals.inc:565:11
 #1 0x00007f6a3415136b PrintStackTraceSignalHandler(void*) /work1/dsampaio/csw/llvm-project/llvm/lib/Support/Unix/Signals.inc:632:1
 #2 0x00007f6a3414f95b llvm::sys::RunSignalHandlers() /work1/dsampaio/csw/llvm-project/llvm/lib/Support/Signals.cpp:70:5
 #3 0x00007f6a34151ae1 SignalHandler(int) /work1/dsampaio/csw/llvm-project/llvm/lib/Support/Unix/Signals.inc:407:1
 #4 0x00007f6a32d7a980 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x12980)
 #5 0x00007f6a32076fb7 raise /build/glibc-S9d2JN/glibc-2.27/signal/../sysdeps/unix/sysv/linux/raise.c:51:0
 #6 0x00007f6a32078921 abort /build/glibc-S9d2JN/glibc-2.27/stdlib/abort.c:81:0
 #7 0x00007f6a3206848a __assert_fail_base /build/glibc-S9d2JN/glibc-2.27/assert/assert.c:89:0
 #8 0x00007f6a32068502 (/lib/x86_64-linux-gnu/libc.so.6+0x30502)
 #9 0x00007f6a344eb474 llvm::PHINode::getIncomingValueForBlock(llvm::BasicBlock const*) const /work1/dsampaio/csw/llvm-project/llvm/include/llvm/IR/Instructions.h:2768:29
#10 0x00007f6a35a37265 (anonymous namespace)::AllSwitchPaths::run() /work1/dsampaio/csw/llvm-project/llvm/lib/Transforms/Scalar/DFAJumpThreading.cpp:532:24
#11 0x00007f6a35a36826 (anonymous namespace)::DFAJumpThreading::run(llvm::Function&) /work1/dsampaio/csw/llvm-project/llvm/lib/Transforms/Scalar/DFAJumpThreading.cpp:1149:23
#12 0x00007f6a35a36c1f (anonymous namespace)::DFAJumpThreadingLegacyPass::runOnFunction(llvm::Function&) /work1/dsampaio/csw/llvm-project/llvm/lib/Transforms/Scalar/DFAJumpThreading.cpp:164:5
#13 0x00007f6a3440f84c llvm::FPPassManager::runOnFunction(llvm::Function&) /work1/dsampaio/csw/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:1435:23
#14 0x00007f6a34414ac5 llvm::FPPassManager::runOnModule(llvm::Module&) /work1/dsampaio/csw/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:1481:16
#15 0x00007f6a34410214 (anonymous namespace)::MPPassManager::runOnModule(llvm::Module&) /work1/dsampaio/csw/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:1550:23
#16 0x00007f6a3440fd38 llvm::legacy::PassManagerImpl::run(llvm::Module&) /work1/dsampaio/csw/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:541:16
#17 0x00007f6a34414dd1 llvm::legacy::PassManager::run(llvm::Module&) /work1/dsampaio/csw/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:1677:3
#18 0x0000000000472e17 main /work1/dsampaio/csw/llvm-project/llvm/tools/opt/opt.cpp:998:3
#19 0x00007f6a32059bf7 __libc_start_main /build/glibc-S9d2JN/glibc-2.27/csu/../csu/libc-start.c:344:0
#20 0x000000000043577a _start (/work1/dsampaio/csw/devimage/toolchain_default/toolroot/opt/kalray/accesscore/bin/opt+0x43577a)
Aborted (core dumped)
May 28 2021, 2:51 AM · Restricted Project

May 27 2021

dnsampaio added a comment to D99205: Add jump-threading optimization for deterministic finite automata.

I've finally got time to test this.
For our downstream arch we're seeing gains up to 27%.
Very good, thanks for working on this.

May 27 2021, 4:11 AM · Restricted Project

May 21 2021

dnsampaio added inline comments to D99205: Add jump-threading optimization for deterministic finite automata.
May 21 2021, 1:41 AM · Restricted Project

Apr 20 2021

dnsampaio resigned from D100585: [ARM][disassembler] Fix incorrect number of operands MCInst generated by the disassembler.

Sorry but I'm not the right person for this.

Apr 20 2021, 11:14 PM · Restricted Project

Mar 2 2021

dnsampaio accepted D97187: [Clang][Sema] Warn when function argument is less aligned than parameter.

LGTM . Just a few coding style nits to fix. But please wait a couple of days to see if someone else has anything else to say.

Mar 2 2021, 12:49 PM · Restricted Project
dnsampaio added a comment to D88307: [DON'T MERGE] Jump-threading for finite state automata.

Hey @eastig and @amehsan, thanks for working on this. Do you have any idea when this work is going to be resumed?

Mar 2 2021, 6:40 AM · Restricted Project

Jan 13 2021

dnsampaio resigned from D91540: [preprocessor] Assertions on the inferrable null pointers in Preprocessor befere dereference.
Jan 13 2021, 11:31 AM · Restricted Project

Nov 2 2020

dnsampaio accepted D90594: [AArch64] Enable RAS 1.1 system registers in all AArch64.

Perhaps those were some registers that passes by in being classified inside a feature. The usual behavior in llvm (at least for arm), if I'm not mistaken, is to not do so.
So, it LGTM.

Nov 2 2020, 7:32 AM · Restricted Project

Sep 30 2020

dnsampaio removed a reviewer for D88541: [AArch64] Don't merge sp decrement into later stores when using WinCFI: dnsampaio.
Sep 30 2020, 11:51 PM · Restricted Project
dnsampaio resigned from D88541: [AArch64] Don't merge sp decrement into later stores when using WinCFI.

I'm not the right reviewer for this patch.

Sep 30 2020, 11:51 PM · Restricted Project
dnsampaio removed a reviewer for D84923: [ARM] Fix so immediates and pc relative checks: dnsampaio.
Sep 30 2020, 11:48 PM · Restricted Project
dnsampaio resigned from D84923: [ARM] Fix so immediates and pc relative checks.
Sep 30 2020, 11:48 PM · Restricted Project
dnsampaio added inline comments to D84923: [ARM] Fix so immediates and pc relative checks.
Sep 30 2020, 11:47 PM · Restricted Project

Aug 19 2020

dnsampaio added a comment to D60413: [BDCE] SExt -> ZExt when no sign bits is used and instruction has multiple uses.

I'm out in vacations, just have my phone here. I'm surprised I forgot to
preserve de debug information, sorry about that.

Aug 19 2020, 5:46 AM · Restricted Project

Aug 18 2020

dnsampaio updated subscribers of D84923: [ARM] Fix so immediates and pc relative checks.

Feel free to move on this patch, I'm in vacations.

Aug 18 2020, 12:15 AM · Restricted Project

Aug 3 2020

dnsampaio added inline comments to D85101: [AArch64][CodeGen] Restrict bfloat vector operations to what's actually supported.
Aug 3 2020, 2:04 AM · Restricted Project

Jul 30 2020

dnsampaio updated the diff for D84923: [ARM] Fix so immediates and pc relative checks.

Fixed true -> false for isSOImm when checking for reducing to t1 instructions

Jul 30 2020, 8:41 AM · Restricted Project
dnsampaio added inline comments to D84923: [ARM] Fix so immediates and pc relative checks.
Jul 30 2020, 8:40 AM · Restricted Project
dnsampaio added reviewers for D84923: [ARM] Fix so immediates and pc relative checks: samparker, gchatelet.
Jul 30 2020, 4:22 AM · Restricted Project
dnsampaio requested review of D84923: [ARM] Fix so immediates and pc relative checks.
Jul 30 2020, 2:18 AM · Restricted Project
dnsampaio added a comment to D72932: [ARM] Follow AACPS standard for volatile bit-fields access width.

Ping ... ping...

Jul 30 2020, 2:15 AM · Restricted Project, Restricted Project

Jul 24 2020

dnsampaio added a comment to D72932: [ARM] Follow AACPS standard for volatile bit-fields access width.

Ping

Jul 24 2020, 2:25 AM · Restricted Project, Restricted Project

Jul 22 2020

dnsampaio accepted D84169: [Thumb] set code alignment for 16-bit load from constant pool.

Thanks. LGTM.

Jul 22 2020, 1:42 AM · Restricted Project

Jul 21 2020

dnsampaio added a comment to D84169: [Thumb] set code alignment for 16-bit load from constant pool.

Ok, this patch seems to be correct, but it would be nice to have a test.
You can use clang -mllvm -stop-before=arm-cp-islands -mllvm --simplify-mir to obtain a machine IR before the patch, and use llc -run-pass=arm-cp-islands to validate that the alignment for the function is set to 4.

Jul 21 2020, 8:24 AM · Restricted Project
dnsampaio added a comment to D84169: [Thumb] set code alignment for 16-bit load from constant pool.

Sorry, it seems I was looking the wrong instruction, it should be the label variant: vldr.16 s0, .LCPI0_0

Jul 21 2020, 1:24 AM · Restricted Project
dnsampaio added a comment to D84169: [Thumb] set code alignment for 16-bit load from constant pool.

Hi, thanks for working on this.
What exactly are you trying to fix? From what I see from https://developer.arm.com/docs/ddi0597/h/simd-and-floating-point-instructions-alphabetic-order/vldr-immediate-load-simdfp-register-immediate
VLDR.16 s0,{pc}+0x16 requires only a alignment of 2 bytes, as it has only a single zero appended in the case of half (.16):

T1
Half-precision scalar (size == 01)
(Armv8.2)
VLDR{<c>}{<q>}.16 <Sd>, [<Rn> {, #{+/-}<imm>}]
esize = 8 << UInt(size);  add = (U == '1');
imm32 = if esize == 16 then ZeroExtend(imm8:'0', 32) else ZeroExtend(imm8:'00', 32);
Jul 21 2020, 1:06 AM · Restricted Project

Jul 17 2020

dnsampaio updated the diff for D72932: [ARM] Follow AACPS standard for volatile bit-fields access width.

Fixed remaining of inline comments

Jul 17 2020, 8:54 AM · Restricted Project, Restricted Project
dnsampaio added a comment to D72932: [ARM] Follow AACPS standard for volatile bit-fields access width.

Indeed not all of them. Fixed this time.

Jul 17 2020, 8:02 AM · Restricted Project, Restricted Project
dnsampaio updated the summary of D72932: [ARM] Follow AACPS standard for volatile bit-fields access width.
Jul 17 2020, 2:25 AM · Restricted Project, Restricted Project
dnsampaio updated the summary of D72932: [ARM] Follow AACPS standard for volatile bit-fields access width.
Jul 17 2020, 2:25 AM · Restricted Project, Restricted Project

Jul 15 2020

dnsampaio added a comment to D72932: [ARM] Follow AACPS standard for volatile bit-fields access width.

Ping

Jul 15 2020, 6:13 AM · Restricted Project, Restricted Project

Jul 10 2020

dnsampaio committed rG7bf168390fd0: [BDCE] SExt -> ZExt when no sign bits is used and instruction has multiple uses (authored by dnsampaio).
[BDCE] SExt -> ZExt when no sign bits is used and instruction has multiple uses
Jul 10 2020, 12:35 AM
dnsampaio closed D60413: [BDCE] SExt -> ZExt when no sign bits is used and instruction has multiple uses.
Jul 10 2020, 12:35 AM · Restricted Project
dnsampaio updated the diff for D60413: [BDCE] SExt -> ZExt when no sign bits is used and instruction has multiple uses.

Preserve name

Jul 10 2020, 12:02 AM · Restricted Project

Jul 9 2020

dnsampaio updated the diff for D60413: [BDCE] SExt -> ZExt when no sign bits is used and instruction has multiple uses.

Re-fixed test file, now showing only differences

Jul 9 2020, 8:08 AM · Restricted Project
dnsampaio committed rGa0e981c190ff: [NFC] Add SExt multiuses test (authored by dnsampaio).
[NFC] Add SExt multiuses test
Jul 9 2020, 7:31 AM
dnsampaio added a comment to D60413: [BDCE] SExt -> ZExt when no sign bits is used and instruction has multiple uses.

Fixed test location and command

The file is not moved here in the review, so something may be out-of-sync. The best thing would be to commit that file first with the current CHECK lines, then update it after applying this code patch. That way, we will highlight the test diffs.

Jul 9 2020, 7:19 AM · Restricted Project
dnsampaio added inline comments to D60413: [BDCE] SExt -> ZExt when no sign bits is used and instruction has multiple uses.
Jul 9 2020, 2:40 AM · Restricted Project
dnsampaio updated the diff for D60413: [BDCE] SExt -> ZExt when no sign bits is used and instruction has multiple uses.

Clear users assumptions (and test it)

Jul 9 2020, 2:34 AM · Restricted Project

Jul 8 2020

dnsampaio retitled D60413: [BDCE] SExt -> ZExt when no sign bits is used and instruction has multiple uses from [BDCE] SExt -> ZExt when no sign bits is used with multiple uses to [BDCE] SExt -> ZExt when no sign bits is used and instruction has multiple uses.
Jul 8 2020, 7:14 AM · Restricted Project
dnsampaio retitled D60413: [BDCE] SExt -> ZExt when no sign bits is used and instruction has multiple uses from [AggressiveInstCombine] SExt -> ZExt when no sign bits is used with multiple uses to [BDCE] SExt -> ZExt when no sign bits is used with multiple uses.
Jul 8 2020, 7:13 AM · Restricted Project
dnsampaio updated the diff for D60413: [BDCE] SExt -> ZExt when no sign bits is used and instruction has multiple uses.

Fixed test location and command

Jul 8 2020, 7:13 AM · Restricted Project

Jul 7 2020

dnsampaio updated the diff for D60413: [BDCE] SExt -> ZExt when no sign bits is used and instruction has multiple uses.

Moved to BDCE.

Jul 7 2020, 6:00 PM · Restricted Project
dnsampaio updated the diff for D72932: [ARM] Follow AACPS standard for volatile bit-fields access width.

Rebased.
Now the AAPCS explicitly avoids conflicts with the C11, by not imposing any restriction
when the natural container will overlap a zero lenght bit-field:
https://github.com/ARM-software/abi-aa/commit/2334fc7611ede31b33e314ddd0dc90579015b322
Both 32 and 64 bit versions were updated on the same way.

Jul 7 2020, 6:17 AM · Restricted Project, Restricted Project
dnsampaio added reviewers for D60413: [BDCE] SExt -> ZExt when no sign bits is used and instruction has multiple uses: dmgreen, eli.friedman.
Jul 7 2020, 5:27 AM · Restricted Project
dnsampaio updated the diff for D60413: [BDCE] SExt -> ZExt when no sign bits is used and instruction has multiple uses.

Rebase

Jul 7 2020, 5:25 AM · Restricted Project

Jun 12 2020

dnsampaio added a comment to D75169: [ARM] Supporting lowering of half-precision FP arguments and returns in AArch32's backend.

Perhaps we could move to making half a valid type for the arm back-end as follow up patches. Allowing half as argument through the IR is already a step to that direction.
IMO this patch is already quite big and it excels in fixing the bugs it proposed.

Jun 12 2020, 3:12 AM · Restricted Project, Restricted Project

May 27 2020

dnsampaio added a comment to D79378: PR34581: Don't remove an 'if (p)' guarding a call to 'operator delete(p)' under -Oz..

Hi @rsmith,
are you still looking into this?
cheers

May 27 2020, 4:55 PM · Restricted Project, Restricted Project, Restricted Project

May 15 2020

dnsampaio committed rG6c68f75ee4d9: Prevent register coalescing in functions whith setjmp (authored by dnsampaio).
Prevent register coalescing in functions whith setjmp
May 15 2020, 4:52 PM
dnsampaio closed D77767: Prevent register coalescing in functions whith setjmp.
May 15 2020, 4:52 PM · Restricted Project
dnsampaio updated the diff for D77767: Prevent register coalescing in functions whith setjmp.

Addressed requests

May 15 2020, 3:14 PM · Restricted Project
dnsampaio added inline comments to D77767: Prevent register coalescing in functions whith setjmp.
May 15 2020, 3:14 PM · Restricted Project

May 14 2020

dnsampaio accepted D79378: PR34581: Don't remove an 'if (p)' guarding a call to 'operator delete(p)' under -Oz..

LGTM, as far @rjmccall 's concern about documentation is addressed.

May 14 2020, 5:20 AM · Restricted Project, Restricted Project, Restricted Project
dnsampaio added a comment to D75169: [ARM] Supporting lowering of half-precision FP arguments and returns in AArch32's backend.

Why not just make half as an argument do the right thing for that case?

That would be the ideal approach, but currently there's a limitation on the backend's calling convention lowering that gets in the way.
The lowering of calls in SelectionDAGBuilder includes a target-independent step that is responsible for spliting or promoting each argument into "legal registers" and takes place before the targets' calling convention lowering.
As f16 is not a legal type on many of the AAPCS_VFP targets, it gets promoted to f32 before the target's lowering code has a chance to define how to handle it.
Ideally, this stpe should only take place if lowering calling conventions after type legalization - there's a FIXME there already capturing that -, but that would involve a major rewriting that would impact multiple targets.
Inserting a hacky target-dependent fix in this step also didn't look very good.
Do you see other alternatives for handling it? If not, which approach would you suggest?

Would it be possible to pass a half argument and fix-it-up at CodeGenPrepare?

May 14 2020, 5:20 AM · Restricted Project, Restricted Project

May 11 2020

dnsampaio added a comment to D79378: PR34581: Don't remove an 'if (p)' guarding a call to 'operator delete(p)' under -Oz..

From my point it does LGTM.

May 11 2020, 5:19 AM · Restricted Project, Restricted Project, Restricted Project

May 5 2020

dnsampaio added a comment to D77767: Prevent register coalescing in functions whith setjmp.

Ping

May 5 2020, 2:36 PM · Restricted Project
dnsampaio added a comment to D79378: PR34581: Don't remove an 'if (p)' guarding a call to 'operator delete(p)' under -Oz..

I believe we can avoid creating some blocks for latter removing them, no?

May 5 2020, 4:48 AM · Restricted Project, Restricted Project, Restricted Project

May 1 2020

dnsampaio committed rG081dbd61db8a: [NFC] Try to fix test due asan failure (authored by dnsampaio).
[NFC] Try to fix test due asan failure
May 1 2020, 5:21 PM
dnsampaio added a comment to D75622: [FIX][libc++][Regex] Using regex_constants match_prev_avail | match_not_bol | match_not_bow.

Hi, @ldionne
I just submitted a what I think is the test fix. It was the only place I was not using the second element of the string and could generate a underflow.

May 1 2020, 5:08 PM · Restricted Project

Apr 30 2020

dnsampaio committed rGc14ac8043ed1: [FIX][libc++][Regex] Using regex_constants match_prev_avail | match_not_bol |… (authored by dnsampaio).
[FIX][libc++][Regex] Using regex_constants match_prev_avail | match_not_bol |…
Apr 30 2020, 3:40 PM
dnsampaio closed D75622: [FIX][libc++][Regex] Using regex_constants match_prev_avail | match_not_bol | match_not_bow.
Apr 30 2020, 3:40 PM · Restricted Project

Apr 29 2020

dnsampaio added a comment to D37933: Prevent InstCombine from miscompiling `operator delete` .

Hi @davide, do you have any plans to address this issue? Regards.

Apr 29 2020, 10:43 AM

Apr 27 2020

dnsampaio updated the diff for D77767: Prevent register coalescing in functions whith setjmp.

Now testing only simple-register-coalescing

Apr 27 2020, 7:24 PM · Restricted Project
dnsampaio updated the summary of D75622: [FIX][libc++][Regex] Using regex_constants match_prev_avail | match_not_bol | match_not_bow.
Apr 27 2020, 9:06 AM · Restricted Project
dnsampaio updated the diff for D77767: Prevent register coalescing in functions whith setjmp.

Fixed x86 test

Apr 27 2020, 8:34 AM · Restricted Project
dnsampaio retitled D77767: Prevent register coalescing in functions whith setjmp from Prevent stack coloring functions whith setjmp / longjmp to Prevent register coalescing in functions whith setjmp.
Apr 27 2020, 8:01 AM · Restricted Project
dnsampaio updated the diff for D77767: Prevent register coalescing in functions whith setjmp.

Do not perform register coalescing

Apr 27 2020, 6:25 AM · Restricted Project

Apr 25 2020

dnsampaio added a comment to D77767: Prevent register coalescing in functions whith setjmp.

Hi @efriedma and @rnk ,

Apr 25 2020, 9:00 AM · Restricted Project

Apr 20 2020

dnsampaio added a comment to D75622: [FIX][libc++][Regex] Using regex_constants match_prev_avail | match_not_bol | match_not_bow.

Ping. I would like to move along this small patch.

Apr 20 2020, 9:10 AM · Restricted Project

Apr 14 2020

dnsampaio added a comment to D75622: [FIX][libc++][Regex] Using regex_constants match_prev_avail | match_not_bol | match_not_bow.

Ping

Apr 14 2020, 5:25 PM · Restricted Project
dnsampaio added a comment to D77767: Prevent register coalescing in functions whith setjmp.

Hi @rnk and @efriedma, indeed my initial thoughts were as well the register allocator, specially because using the pbqp allocator there are no spills for this example so it does not fail.
From what I see in the code it seems that none of the register allocators know anything about setjmp. There's an ancient llvm-dev post confirming it: https://lists.llvm.org/pipermail/llvm-dev/2011-October/043731.html

Apr 14 2020, 2:39 PM · Restricted Project

Apr 9 2020

dnsampaio accepted D77074: [FPEnv][AArch64] Platform-specific builtin constrained FP enablement.

LGTM, not forgetting to remove the exit comments.

Apr 9 2020, 4:21 PM · Restricted Project
dnsampaio added a comment to D77767: Prevent register coalescing in functions whith setjmp.

Hi @efriedma,
thanks for looking into this.

Apr 9 2020, 4:02 PM · Restricted Project

Apr 8 2020

dnsampaio created D77767: Prevent register coalescing in functions whith setjmp.
Apr 8 2020, 6:29 PM · Restricted Project

Apr 6 2020

dnsampaio added a comment to D75622: [FIX][libc++][Regex] Using regex_constants match_prev_avail | match_not_bol | match_not_bow.

Ping

Apr 6 2020, 3:16 PM · Restricted Project

Apr 2 2020

dnsampaio added a comment to D75622: [FIX][libc++][Regex] Using regex_constants match_prev_avail | match_not_bol | match_not_bow.

Ping

Apr 2 2020, 2:06 PM · Restricted Project
dnsampaio added inline comments to D77074: [FPEnv][AArch64] Platform-specific builtin constrained FP enablement.
Apr 2 2020, 2:06 PM · Restricted Project

Apr 1 2020

dnsampaio added inline comments to D77074: [FPEnv][AArch64] Platform-specific builtin constrained FP enablement.
Apr 1 2020, 11:48 AM · Restricted Project

Mar 31 2020

dnsampaio added inline comments to D77074: [FPEnv][AArch64] Platform-specific builtin constrained FP enablement.
Mar 31 2020, 4:56 AM · Restricted Project

Mar 27 2020

dnsampaio added a comment to D75622: [FIX][libc++][Regex] Using regex_constants match_prev_avail | match_not_bol | match_not_bow.

Gentle Ping. I believe all issues with this fix have been fulfilled.

Mar 27 2020, 4:50 AM · Restricted Project

Mar 23 2020

dnsampaio updated the diff for D75622: [FIX][libc++][Regex] Using regex_constants match_prev_avail | match_not_bol | match_not_bow.
  • Fixed tests to use "\\b" instead of "\b".
Mar 23 2020, 4:53 AM · Restricted Project

Mar 18 2020

dnsampaio accepted D74766: [ARM] Fixing range checks for Neon's vqdmulhq_lane and vqrdmulhq_lane intrinsics.

LGTM

Mar 18 2020, 11:19 PM · Restricted Project
dnsampaio added a comment to D74619: [ARM] Enabling range checks on Neon intrinsics' lane arguments.

Hi,
thanks for looking into this. The patch LGTM, but regarding the indentation, I don't know what would be the best practice here. We tend to like to preserve the line-git-history, but if we start ignoring the formater check, then it has no sense in they being here.
Perhaps @t.p.northover or @olista01 could share their thoughts here.

Mar 18 2020, 5:57 AM · Restricted Project

Mar 17 2020

dnsampaio added inline comments to D73638: [AST] Move dependence computations into a separate file.
Mar 17 2020, 2:17 AM · Restricted Project

Mar 16 2020

dnsampaio added a comment to D75622: [FIX][libc++][Regex] Using regex_constants match_prev_avail | match_not_bol | match_not_bow.

Ping.

Mar 16 2020, 1:40 PM · Restricted Project

Mar 13 2020

dnsampaio committed rG83cdb654e475: [AArch64][Fix] LdSt optimization generate premature stack-popping (authored by dnsampaio).
[AArch64][Fix] LdSt optimization generate premature stack-popping
Mar 13 2020, 7:26 PM
dnsampaio closed D75755: [AArch64][Fix] LdSt optimization generate premature stack-popping.
Mar 13 2020, 7:26 PM · Restricted Project
dnsampaio updated the diff for D75755: [AArch64][Fix] LdSt optimization generate premature stack-popping.
  • Removed incorrect spacing changes
Mar 13 2020, 10:44 AM · Restricted Project
dnsampaio updated the diff for D75755: [AArch64][Fix] LdSt optimization generate premature stack-popping.
  • Removed unecessary changes
Mar 13 2020, 8:33 AM · Restricted Project
dnsampaio updated the diff for D75755: [AArch64][Fix] LdSt optimization generate premature stack-popping.
  • Do not allow a instruction that may load or store between the LdSt[SP] and the SP update.
Mar 13 2020, 8:01 AM · Restricted Project

Mar 12 2020

dnsampaio updated the diff for D75755: [AArch64][Fix] LdSt optimization generate premature stack-popping.
  • Do not use pseudo-value
Mar 12 2020, 4:30 AM · Restricted Project
dnsampaio added a comment to D75622: [FIX][libc++][Regex] Using regex_constants match_prev_avail | match_not_bol | match_not_bow.

Hi @EricWF, thanks for the review.
Indeed there seems to have some other unrelated issue for matching the word boundary \b. Perhaps I wrongly assumed that it should also match line beginning and end.
For example, I would expect all these matches to succeed:

Mar 12 2020, 2:19 AM · Restricted Project

Mar 11 2020

dnsampaio updated the diff for D75755: [AArch64][Fix] LdSt optimization generate premature stack-popping.
  • Correct mayAlias to isStack
Mar 11 2020, 6:54 PM · Restricted Project
dnsampaio updated the diff for D75755: [AArch64][Fix] LdSt optimization generate premature stack-popping.
  • Fixed tests
  • Avoid optimization when target is Windows with CFI, as we need to correctly update unwind information
Mar 11 2020, 4:30 PM · Restricted Project
dnsampaio added a comment to D75622: [FIX][libc++][Regex] Using regex_constants match_prev_avail | match_not_bol | match_not_bow.

Ping.

Mar 11 2020, 5:08 AM · Restricted Project

Mar 10 2020

dnsampaio accepted D74618: [ARM] Creating 'call_mangled' for Neon intrinsics definitions.

LGTM, after a nit inline.

Mar 10 2020, 8:39 AM · Restricted Project

Mar 9 2020

dnsampaio updated the diff for D75755: [AArch64][Fix] LdSt optimization generate premature stack-popping.

Do not optimize post-increment SP in windows targets

Mar 9 2020, 4:48 AM · Restricted Project
dnsampaio added inline comments to D74766: [ARM] Fixing range checks for Neon's vqdmulhq_lane and vqrdmulhq_lane intrinsics.
Mar 9 2020, 4:48 AM · Restricted Project