Page MenuHomePhabricator
Feed Advanced Search

Today

mibintc added a reviewer for D100834: Bug 49739 - [Matrix] Support #pragma clang fp: kpn.
Tue, Apr 20, 7:07 AM · Restricted Project
mibintc added a comment to D100834: Bug 49739 - [Matrix] Support #pragma clang fp.

The diff appears to be 2 separate commits, so on first glance this is only patching the test files. Usually if I am working on a patch and have responded to comments, I compress the patch+updates into a single commit (git rebase -i) before creating a diff to upload to Phabricator.

Tue, Apr 20, 7:07 AM · Restricted Project

Fri, Apr 16

mibintc added a comment to D99675: RFC [llvm][clang] Create new intrinsic llvm.arith.fence to control FP optimization at expression level.
In D99675#2695424, @kpn wrote:

What changes are needed for a backend, and what happens if they aren't done?

Fri, Apr 16, 11:34 AM · Restricted Project
mibintc updated the diff for D99675: RFC [llvm][clang] Create new intrinsic llvm.arith.fence to control FP optimization at expression level.

I accidentally dropped the test case in previous commit. Just adding it back in -- under the llvm/test directory (previously it was in the wrong location).

Fri, Apr 16, 7:04 AM · Restricted Project

Thu, Apr 15

mibintc updated the diff for D100118: [clang] RFC Support new builtin __arithmetic_fence to control floating point optimization, and new clang option fprotect-parens.

This is a minor change with only formatting changes, this patch is not yet ready for review, only discussion.
Together with the llvm parent patch, this simple program can now run end-to-end

Thu, Apr 15, 1:19 PM · Restricted Project, Restricted Project
mibintc updated the diff for D99675: RFC [llvm][clang] Create new intrinsic llvm.arith.fence to control FP optimization at expression level.

This is a minor update from @pengfei which allows simple tests cases to run end-to-end with clang.
Also I changed the "summary" to reflect the review discussion around the FMA optimization, to choose "FMA is not allowed across a fence".

Thu, Apr 15, 1:12 PM · Restricted Project
mibintc committed rG938b863bb53f: [clang][patch] Modify diagnostic level from err to warn… (authored by mibintc).
[clang][patch] Modify diagnostic level from err to warn…
Thu, Apr 15, 10:12 AM
mibintc closed D100511: [clang] Modify diagnostic level from err to warn: anyx86_interrupt_regsave.
Thu, Apr 15, 10:12 AM · Restricted Project
mibintc updated the diff for D100511: [clang] Modify diagnostic level from err to warn: anyx86_interrupt_regsave.

I added the InGroup rule for the new warning diagnostic like Aaron requested

Thu, Apr 15, 9:23 AM · Restricted Project
mibintc added inline comments to D100511: [clang] Modify diagnostic level from err to warn: anyx86_interrupt_regsave.
Thu, Apr 15, 5:57 AM · Restricted Project
mibintc updated the diff for D100511: [clang] Modify diagnostic level from err to warn: anyx86_interrupt_regsave.

I removed the diagnostic from InGroup<Extra>, that's the only change from previous revision

Thu, Apr 15, 5:49 AM · Restricted Project

Wed, Apr 14

mibintc requested review of D100511: [clang] Modify diagnostic level from err to warn: anyx86_interrupt_regsave.
Wed, Apr 14, 2:20 PM · Restricted Project

Tue, Apr 13

mibintc added a comment to D97764: [clang][patch] To solve PR26413, x86 interrupt routines may only call routines with no_saved_reg.

I received a bug report that this patch creates error diagnostics for calls to a builtin, like calling 'abort', 'exit' or one of the target builtins like __builtin_ia32_packssw then that call should be allowed without remark but this patch causes the compilation to fail. We could require that all builtin's be declared with "no caller saved reg" but that's a big modification. I'm planning to make a change which igores builtin calls, but continue to error on any implicitly declared or user declared functions without the "no caller saved reg" attribute.

Builtins like __builtin_ia32_packssw aren't usually called directly. The user should be calling the always_inline wrapper functions in x86intrin.h. Would that also fail?

Tue, Apr 13, 7:53 AM · Restricted Project
mibintc added a comment to D97764: [clang][patch] To solve PR26413, x86 interrupt routines may only call routines with no_saved_reg.

I received a bug report that this patch creates error diagnostics for calls to a builtin, like calling 'abort', 'exit' or one of the target builtins like __builtin_ia32_packssw then that call should be allowed without remark but this patch causes the compilation to fail. We could require that all builtin's be declared with "no caller saved reg" but that's a big modification. I'm planning to make a change which igores builtin calls, but continue to error on any implicitly declared or user declared functions without the "no caller saved reg" attribute.

Tue, Apr 13, 6:49 AM · Restricted Project

Thu, Apr 8

mibintc retitled D100118: [clang] RFC Support new builtin __arithmetic_fence to control floating point optimization, and new clang option fprotect-parens from [clang] RFC Support new arithmetic __fence builtin to control floating point optiization to [clang] RFC Support new builtin __arithmetic_fence to control floating point optiization.
Thu, Apr 8, 8:48 AM · Restricted Project, Restricted Project
mibintc requested review of D100118: [clang] RFC Support new builtin __arithmetic_fence to control floating point optimization, and new clang option fprotect-parens.
Thu, Apr 8, 8:45 AM · Restricted Project, Restricted Project

Tue, Apr 6

mibintc added a comment to D99675: RFC [llvm][clang] Create new intrinsic llvm.arith.fence to control FP optimization at expression level.

The expression “llvm.arith.fence(a * b) + c” means that “a * b” must happen before “+ c” and FMA guarantees that, but to prevent later optimizations from unpacking the FMA the correct transformation needs to be:

llvm.arith.fence(a * b) + c → llvm.arith.fence(FMA(a, b, c))

Does this actually block later transforms from unpacking the FMA? Maybe if the FMA isn't marked "fast"...

I'd like @pengfei to reply to this question. I think the overall idea is that many of the optimizations are pattern based, and the existing pattern wouldn't match the new intrinsic.


How is llvm.arith.fence() different from using "freeze" on a floating-point value? The goal isn't really the same, sure, but the effects seem similar at first glance.

Initially we thought the intrinsic "ssa.copy" could serve. However ssa.copy is for a different purpose and it gets optimized away. We want arith.fence to survive through codegen, that's one reason why we think a new intrinsic is needed.

Tue, Apr 6, 11:49 AM · Restricted Project

Wed, Mar 31

mibintc updated the summary of D99675: RFC [llvm][clang] Create new intrinsic llvm.arith.fence to control FP optimization at expression level.
Wed, Mar 31, 2:32 PM · Restricted Project
mibintc updated the summary of D99675: RFC [llvm][clang] Create new intrinsic llvm.arith.fence to control FP optimization at expression level.
Wed, Mar 31, 2:29 PM · Restricted Project
mibintc updated the summary of D99675: RFC [llvm][clang] Create new intrinsic llvm.arith.fence to control FP optimization at expression level.
Wed, Mar 31, 2:26 PM · Restricted Project
mibintc requested review of D99675: RFC [llvm][clang] Create new intrinsic llvm.arith.fence to control FP optimization at expression level.
Wed, Mar 31, 11:26 AM · Restricted Project

Mar 15 2021

mibintc committed rG33b1f3f42cb9: [clang][patch] Solve PR49479, File scope fp pragma should propagate to… (authored by mibintc).
[clang][patch] Solve PR49479, File scope fp pragma should propagate to…
Mar 15 2021, 9:17 AM
mibintc closed D98211: Solve PR49479, File scope fp pragma should propagate to functions nested in struct, and initialization expressions.
Mar 15 2021, 9:17 AM · Restricted Project
mibintc accepted D97125: Stop traping on sNaN in __builtin_isinf.
Mar 15 2021, 5:46 AM · Restricted Project

Mar 11 2021

mibintc added a reviewer for D98211: Solve PR49479, File scope fp pragma should propagate to functions nested in struct, and initialization expressions: aaron.ballman.
Mar 11 2021, 6:21 AM · Restricted Project

Mar 10 2021

mibintc added a comment to D98261: [builtins] Support building the 128-bit float functions on x86.

I applied this patch to an internal workspace and did smoke testing on Linux and Windows--didn't see any problems. But I defer to others to +1.

Mar 10 2021, 11:03 AM · Restricted Project

Mar 9 2021

mibintc added a reviewer for D93769: [clang] Add support for option -ffp-eval-method and extend #pragma float_control similarly: clin1.
Mar 9 2021, 6:45 AM · Restricted Project

Mar 8 2021

mibintc added a comment to D72841: Add support for pragma float_control, to control precision and exception behavior at the source level.

I got a bug report about this patch, see https://bugs.llvm.org/show_bug.cgi?id=49479. I put a patch to fix it here, https://reviews.llvm.org/D98211

Mar 8 2021, 12:16 PM · Restricted Project, Restricted Project
mibintc added inline comments to D98211: Solve PR49479, File scope fp pragma should propagate to functions nested in struct, and initialization expressions.
Mar 8 2021, 12:15 PM · Restricted Project
mibintc requested review of D98211: Solve PR49479, File scope fp pragma should propagate to functions nested in struct, and initialization expressions.
Mar 8 2021, 12:13 PM · Restricted Project

Mar 4 2021

mibintc accepted D97945: [OPENMP]Fix PR48759: "fatal error" when compile with preprocessed file..

Thanks @ABataev !

Mar 4 2021, 6:59 AM · Restricted Project

Mar 3 2021

mibintc committed rGcc3d25be0116: [clang][patch] To solve PR26413, x86 interrupt routines may only call routines… (authored by mibintc).
[clang][patch] To solve PR26413, x86 interrupt routines may only call routines…
Mar 3 2021, 7:12 AM
mibintc closed D97764: [clang][patch] To solve PR26413, x86 interrupt routines may only call routines with no_saved_reg.
Mar 3 2021, 7:12 AM · Restricted Project

Mar 2 2021

mibintc updated the diff for D97764: [clang][patch] To solve PR26413, x86 interrupt routines may only call routines with no_saved_reg.

Thanks I'll wait to see if there are any more remarks, and push it later today or tomorrow

Mar 2 2021, 8:19 AM · Restricted Project
mibintc accepted D97125: Stop traping on sNaN in __builtin_isinf.
Mar 2 2021, 7:32 AM · Restricted Project
mibintc updated the diff for D97764: [clang][patch] To solve PR26413, x86 interrupt routines may only call routines with no_saved_reg.

@aaron.ballman Is this what you have in mind to improve the diagnostic? There are other places in the file that assume FDecl can be null so I just copied that code. Also since the arm warning diagnostic is exactly similar, I added the additional information, note diagnostic, showing where the callee is declared.

Mar 2 2021, 7:19 AM · Restricted Project
mibintc requested review of D97764: [clang][patch] To solve PR26413, x86 interrupt routines may only call routines with no_saved_reg.
Mar 2 2021, 5:16 AM · Restricted Project

Feb 25 2021

mibintc added a comment to D96203: [clang][patch] Modify sanitizer options names: renaming blacklist to blocklist.

Exclusion list? or exclude?

Feb 25 2021, 9:54 AM · Restricted Project
mibintc updated the diff for D96203: [clang][patch] Modify sanitizer options names: renaming blacklist to blocklist.

I rebased the patch and basically made no other changes. On the review there's a suggestion that 'blocklist' isn't the best word choice, do you have suggestions?

Feb 25 2021, 8:57 AM · Restricted Project

Feb 22 2021

mibintc committed rGe64fcdf8d53c: [clang][patch] Inclusive language, modify filename SanitizerBlacklist.h to… (authored by mibintc).
[clang][patch] Inclusive language, modify filename SanitizerBlacklist.h to…
Feb 22 2021, 12:12 PM
mibintc closed D96974: [clang][patch] Inclusive language, modify filename SanitizerBlacklist.h to NoSanitizeList.h.
Feb 22 2021, 12:12 PM · Restricted Project

Feb 20 2021

mibintc updated the diff for D96974: [clang][patch] Inclusive language, modify filename SanitizerBlacklist.h to NoSanitizeList.h.

What do you recommend as next steps, incrementally? Is there more clarity about option names?

Feb 20 2021, 4:55 AM · Restricted Project
mibintc added inline comments to D96974: [clang][patch] Inclusive language, modify filename SanitizerBlacklist.h to NoSanitizeList.h.
Feb 20 2021, 4:53 AM · Restricted Project

Feb 18 2021

mibintc added inline comments to D96203: [clang][patch] Modify sanitizer options names: renaming blacklist to blocklist.
Feb 18 2021, 10:05 AM · Restricted Project
mibintc requested review of D96974: [clang][patch] Inclusive language, modify filename SanitizerBlacklist.h to NoSanitizeList.h.
Feb 18 2021, 10:04 AM · Restricted Project

Feb 12 2021

mibintc added a comment to D96203: [clang][patch] Modify sanitizer options names: renaming blacklist to blocklist.

FWIW I would prefer denylist as well. (Also uses of whitelist should be allowlist, but also incremental :)

I feel like existing and proposed value do match the meaning of this list.
maybe ignorelist, skiplist (can be confused with data structure?), or just asan_no_sanitize.txt or even no_asan.txt

Would you use ignorelist (skiplist) in the option name as well as the filename? Can you recommend a name for the antonym as well (i.e. replacement for whitelist)

I can change D82244 used blocklist to denylist . If there is no need for compatibility, I'll just replace the strings. If there is need for compatibility, I can make blocklist an alias.

I don't think we need compatibility for D82244. If we change clang, we can update D82244 to the same for consistency.

Yes I agree.

Feb 12 2021, 6:40 AM · Restricted Project

Feb 8 2021

mibintc added inline comments to D93769: [clang] Add support for option -ffp-eval-method and extend #pragma float_control similarly.
Feb 8 2021, 8:43 AM · Restricted Project
mibintc added inline comments to D93769: [clang] Add support for option -ffp-eval-method and extend #pragma float_control similarly.
Feb 8 2021, 7:25 AM · Restricted Project
mibintc added a comment to D96203: [clang][patch] Modify sanitizer options names: renaming blacklist to blocklist.

Thank you for working on this!

This changes the option names that include substring blacklist to blocklist.

I think this change works in some places, but in other places we say things like "blocklisted" which feels a bit awkward. I don't super love the name blocklist, but I don't super hate it either. All the alternative names I come up with aren't really great either, like UnsanitiziedEntities or IgnoredObjects. Maybe someone will have a better idea here than me, but I do think the current name is an improvement over the old name.

There is a pre-existing patch https://reviews.llvm.org/D82244 using block and allow, that's why I chose blocklist. Although going in cold I would prefer to use allow and deny, and block seems to me a little like cheating (too similar to black). However I can "disagree and commit" (cf. https://en.wikipedia.org/wiki/Disagree_and_commit) with this choice of wording. I can search out the awkward Blocklisted and come up with different phrasing in the prose, but I think names in the program should use blocklist so that they can be easily connected to the option name for future maintainers of llvm. I'll check this.

In options.td there is a way to officially mark an option deprecated by adding it to a specific group, I didn't do that yet. When could we actually eliminate the old spelling? How about December 2021?

I think we want to leave the deprecated options in for a full release cycle, so I'd say that (assuming this lands in Clang 13) we could remove support once we start work on Clang 14.

I thought it would be best to start with the external clang interface, but i also want to make more patches to eliminate whitelist and blacklist in the comments and in the object names, file names etc.

Fantastic, thank you!

Feb 8 2021, 6:17 AM · Restricted Project

Feb 6 2021

mibintc requested review of D96203: [clang][patch] Modify sanitizer options names: renaming blacklist to blocklist.
Feb 6 2021, 6:43 AM · Restricted Project

Feb 5 2021

mibintc updated the diff for D93769: [clang] Add support for option -ffp-eval-method and extend #pragma float_control similarly.

I found a way to get the macro FLT_EVAL_METHOD set properly, so this patch is ready for your review, thanks!

Feb 5 2021, 7:14 AM · Restricted Project

Feb 4 2021

mibintc added a comment to D95948: Stop traping on sNaN in __builtin_isnan.

Should we add tests for mlong-double-64, -80, -128?

Feb 4 2021, 11:09 AM · Restricted Project, Restricted Project

Feb 3 2021

mibintc added inline comments to D95948: Stop traping on sNaN in __builtin_isnan.
Feb 3 2021, 12:33 PM · Restricted Project, Restricted Project
mibintc added inline comments to D95948: Stop traping on sNaN in __builtin_isnan.
Feb 3 2021, 8:02 AM · Restricted Project, Restricted Project

Feb 2 2021

mibintc updated subscribers of rG08d46d50599a: [clang][PATCH] Fix bug 48848 assertion related to recoverFromMSUnqualifiedLookup.

I fixed the test case like @erik.pilkington requested in 9a5dc01e4b6

Feb 2 2021, 7:08 AM
mibintc committed rG9a5dc01e4b65: [clang][PATCH][NFC] Correct test case related to review D95482 (authored by mibintc).
[clang][PATCH][NFC] Correct test case related to review D95482
Feb 2 2021, 7:07 AM

Feb 1 2021

mibintc committed rG08d46d50599a: [clang][PATCH] Fix bug 48848 assertion related to recoverFromMSUnqualifiedLookup (authored by mibintc).
[clang][PATCH] Fix bug 48848 assertion related to recoverFromMSUnqualifiedLookup
Feb 1 2021, 10:57 AM
mibintc closed D95482: [PATCH] [clang] Fix bug 48848 by removing assertion related to recoverFromMSUnqualifiedLookup.
Feb 1 2021, 10:57 AM · Restricted Project

Jan 26 2021

mibintc requested review of D95482: [PATCH] [clang] Fix bug 48848 by removing assertion related to recoverFromMSUnqualifiedLookup.
Jan 26 2021, 2:22 PM · Restricted Project

Jan 11 2021

mibintc added a comment to D93769: [clang] Add support for option -ffp-eval-method and extend #pragma float_control similarly.

@rjmccall Hoping you can take a look at this patch

Jan 11 2021, 12:50 PM · Restricted Project

Dec 23 2020

mibintc added inline comments to D93769: [clang] Add support for option -ffp-eval-method and extend #pragma float_control similarly.
Dec 23 2020, 10:00 AM · Restricted Project
mibintc updated the summary of D93769: [clang] Add support for option -ffp-eval-method and extend #pragma float_control similarly.
Dec 23 2020, 9:52 AM · Restricted Project
mibintc updated the summary of D93769: [clang] Add support for option -ffp-eval-method and extend #pragma float_control similarly.
Dec 23 2020, 9:51 AM · Restricted Project
mibintc requested review of D93769: [clang] Add support for option -ffp-eval-method and extend #pragma float_control similarly.
Dec 23 2020, 9:50 AM · Restricted Project

Dec 14 2020

mibintc resigned from D92024: [clang] Implement P0692R1 from C++20 (access checking on specializations and instantiations).

I don't have expertise in this area.

Dec 14 2020, 7:21 AM · Restricted Project, Restricted Project

Dec 13 2020

mibintc updated subscribers of D78404: [clang] Implement P0692R1 from C++20 (access checking on specializations).
Dec 13 2020, 6:28 AM · Restricted Project

Dec 12 2020

mibintc added a comment to D92721: [PATCH] [clang] Create SPIRABIInfo to enable SPIR_FUNC calling convention.

Thanks for the review!

Dec 12 2020, 9:59 AM · Restricted Project
mibintc accepted D93134: [FPEnv] Teach the IRBuilder about invoke's correct use of the strictfp attribute..
Dec 12 2020, 7:26 AM · Restricted Project, Restricted Project
mibintc committed rG320af6b13839: Create SPIRABIInfo to enable SPIR_FUNC calling convention. (authored by mibintc).
Create SPIRABIInfo to enable SPIR_FUNC calling convention.
Dec 12 2020, 5:49 AM
mibintc closed D92721: [PATCH] [clang] Create SPIRABIInfo to enable SPIR_FUNC calling convention.
Dec 12 2020, 5:48 AM · Restricted Project

Dec 10 2020

mibintc added a reviewer for D92721: [PATCH] [clang] Create SPIRABIInfo to enable SPIR_FUNC calling convention: aaron.ballman.
Dec 10 2020, 1:32 PM · Restricted Project
mibintc added a comment to D92721: [PATCH] [clang] Create SPIRABIInfo to enable SPIR_FUNC calling convention.

Answering my own questions

Thanks @Anastasia ; I modified CGBuiltin.cpp to use EmitRuntimeCall when creating calls to runtime functions instead of Builder.CreateCall so this is setting the CallingConvention on the Call node using the ABIInfo. I changed a few lit tests that were failing because of this.

I have a question, the clang test CodeGenOpenCL/cl20-device-side-enqueue.cl has this function, device_side_enqueue_block_invoke_9 which is defined with spir_func CC. The call doesn't have that CC. Where is that call created? Seems like the call should have spir_func CC, I want to fix that.

I found the place where the call was created and updated the CC

Likewise device_side_enqueue_block_invoke_9_kernel has spir_kernel CC. How does the CC get set to spir_kernel, I don't see where that is happening

The function is declared with "OpenCL Kernel" calling convention, but target-specific ClangCallConvToLLVMCallConv converts that to SPIR_KERNEL that's why I couldn't find it when doing a text search in clang

define internal spir_func void @__device_side_enqueue_block_invoke_9(i8 addrspace(4)* %.block_descriptor, i8 addrspace(3)* %p1, i8 addrspace(3)* %p2, i8 addrspace(3)* %p3) #1 {
define internal spir_kernel void @__device_side_enqueue_block_invoke_9_kernel(i8 addrspace(4)* %0, i8 addrspace(3)* %1, i8 addrspace(3)* %2, i8 addrspace(3)* %3) #5 {

call void @__device_side_enqueue_block_invoke_9(i8 addrspace(4)* %0, i8 addrspace(3)* %1, i8 addrspace(3)* %2, i8 addrspace(3)* %3)
Dec 10 2020, 1:31 PM · Restricted Project
mibintc updated the diff for D92721: [PATCH] [clang] Create SPIRABIInfo to enable SPIR_FUNC calling convention.

Fixed a couple CallInst, setting the CallingConvention from information in the Function node. Updated LIT tests.

Dec 10 2020, 1:28 PM · Restricted Project

Dec 9 2020

mibintc updated the diff for D92721: [PATCH] [clang] Create SPIRABIInfo to enable SPIR_FUNC calling convention.

I rebased and applied clang-format patch

Dec 9 2020, 2:13 PM · Restricted Project

Dec 8 2020

mibintc updated the diff for D92721: [PATCH] [clang] Create SPIRABIInfo to enable SPIR_FUNC calling convention.

Thanks @Anastasia ; I modified CGBuiltin.cpp to use EmitRuntimeCall when creating calls to runtime functions instead of Builder.CreateCall so this is setting the CallingConvention on the Call node using the ABIInfo. I changed a few lit tests that were failing because of this.

Dec 8 2020, 1:51 PM · Restricted Project

Dec 7 2020

mibintc added a comment to D92721: [PATCH] [clang] Create SPIRABIInfo to enable SPIR_FUNC calling convention.

There are many RuntimeCalls that are created in Clang, including _read_pipe, all the OpenMP runtime calls, etc. Shall they all have their calling conventions set from the ABIInfo? Currently those calls are being set to 0.

Dec 7 2020, 12:47 PM · Restricted Project
mibintc added a reviewer for D92721: [PATCH] [clang] Create SPIRABIInfo to enable SPIR_FUNC calling convention: erichkeane.
Dec 7 2020, 12:28 PM · Restricted Project
mibintc added a comment to D92721: [PATCH] [clang] Create SPIRABIInfo to enable SPIR_FUNC calling convention.

I'm going to make further changes to this patch, it's not working as desired.

Dec 7 2020, 8:46 AM · Restricted Project
mibintc updated the diff for D92721: [PATCH] [clang] Create SPIRABIInfo to enable SPIR_FUNC calling convention.

ready for review, thanks!

Dec 7 2020, 8:44 AM · Restricted Project
mibintc accepted D92596: [FPEnv] Correct constrained metadata in fp16-ops-strict.c.

Thanks for the additional info @kpn

Dec 7 2020, 8:19 AM · Restricted Project
mibintc added inline comments to D92596: [FPEnv] Correct constrained metadata in fp16-ops-strict.c.
Dec 7 2020, 7:40 AM · Restricted Project
mibintc planned changes to D92721: [PATCH] [clang] Create SPIRABIInfo to enable SPIR_FUNC calling convention.

I'm going to make further changes to this patch, it's not working as desired.

Dec 7 2020, 5:17 AM · Restricted Project

Dec 6 2020

mibintc added inline comments to D92596: [FPEnv] Correct constrained metadata in fp16-ops-strict.c.
Dec 6 2020, 5:09 AM · Restricted Project

Dec 5 2020

mibintc requested review of D92721: [PATCH] [clang] Create SPIRABIInfo to enable SPIR_FUNC calling convention.
Dec 5 2020, 7:27 AM · Restricted Project

Nov 30 2020

mibintc accepted D92122: [FPEnv] clang should get from the AST the metadata for constrained FP builtins.
Nov 30 2020, 6:28 AM · Restricted Project

Nov 7 2020

mibintc committed rGc511963d5adb: [clang] Fix length threshold for MicrosoftMangle md5 hash (authored by mibintc).
[clang] Fix length threshold for MicrosoftMangle md5 hash
Nov 7 2020, 7:44 AM
mibintc closed D90714: [clang]Fix length threshold for MicrosoftMangle md5 hash.
Nov 7 2020, 7:44 AM · Restricted Project
mibintc updated the diff for D90714: [clang]Fix length threshold for MicrosoftMangle md5 hash.

I submitted the test improvements separately, i'm going to push this version, thanks all

Nov 7 2020, 7:44 AM · Restricted Project
mibintc committed rGb0de3f67874a: [clang] Improve Microsoft mangling lit test with dblaikie's suggestions (authored by mibintc).
[clang] Improve Microsoft mangling lit test with dblaikie's suggestions
Nov 7 2020, 7:34 AM

Nov 6 2020

mibintc added a comment to D90714: [clang]Fix length threshold for MicrosoftMangle md5 hash.

you're right about the regex syntax. i think the 4088 is over the max repetition count and there's also a problem with balanced. not sure what i did wrong here. if you have a chance to look at this otherwise i'll toil over the weekend, i'm off for the day--cheers. here's what i'm trying now just to see if it would work. can i nest repetition counts?

Nov 6 2020, 12:35 PM · Restricted Project
mibintc updated the diff for D90714: [clang]Fix length threshold for MicrosoftMangle md5 hash.

Fixed test case according to @dblaikie 's suggestion and input, thanks a lot David, the test case is certainly a lot easier to read and understand now. Anything else?

Nov 6 2020, 9:00 AM · Restricted Project

Nov 5 2020

mibintc added a comment to D90714: [clang]Fix length threshold for MicrosoftMangle md5 hash.

I'm sorry, I don't see how to build up an identifier with an arbitrary number of characters using the token pasting, for example an ident with 4095 characters is not a power of 2. I tried pasting together X2048 X1024 X512 etc but that doesn't work
fu.cpp:12:18: error: pasting ")" and "X16" does not give a valid preprocessing token
#define FUN X32(x) ## X16(x)

^

fu.cpp:13:1: note: in expansion of macro ‘FUN’
I want the test case to show the transition between when md5 is not needed and when it's needed, i want to build strings that might not be power of root string. I could add more comments to the test case, perhaps, "the strlen of the Microsoft mangled name is X" for the one case, and "the strlen of ... is X+1" for the other.

Nov 5 2020, 1:16 PM · Restricted Project
mibintc added a comment to D90714: [clang]Fix length threshold for MicrosoftMangle md5 hash.

Since the same code is used to mangle all these things, probably just test one of them?

Could use macros to stamp out longer names without having to write them out manually?

Nov 5 2020, 5:22 AM · Restricted Project

Nov 4 2020

mibintc added a reviewer for D90714: [clang]Fix length threshold for MicrosoftMangle md5 hash: dblaikie.
Nov 4 2020, 10:48 AM · Restricted Project
mibintc added a comment to D90714: [clang]Fix length threshold for MicrosoftMangle md5 hash.

Test case?

Nov 4 2020, 10:39 AM · Restricted Project
mibintc updated the diff for D90714: [clang]Fix length threshold for MicrosoftMangle md5 hash.

Add lit test case, based on test case in bug report

Nov 4 2020, 10:38 AM · Restricted Project

Nov 3 2020

mibintc requested review of D90714: [clang]Fix length threshold for MicrosoftMangle md5 hash.
Nov 3 2020, 1:45 PM · Restricted Project

Oct 30 2020

mibintc committed rG71bf9f07d514: [clang] add fexperimental-strict-floating-point to test cases that fail on arm… (authored by mibintc).
[clang] add fexperimental-strict-floating-point to test cases that fail on arm…
Oct 30 2020, 7:30 AM
mibintc committed rG13bfd89c4962: [clang][FPEnv] Diagnose Strict FP pragmas if target does not support StrictFP (authored by mibintc).
[clang][FPEnv] Diagnose Strict FP pragmas if target does not support StrictFP
Oct 30 2020, 6:13 AM
mibintc closed D90316: [FPEnv] Diagnose pragmas FENV_ROUND,_ACCESS and float_control if target does not support StrictFP.
Oct 30 2020, 6:13 AM · Restricted Project