User Details
- User Since
- Nov 1 2018, 7:20 PM (238 w, 2 d)
Thu, May 11
Mon, May 8
Hi, @rjmccall
I updated the patch to address your previous comments, could you help review again?
Thanks very much.
Address previous comments
Mar 28 2023
Add floating point environment section in UserManual.rst
Mar 27 2023
Hi, @rjmccall and @sepavloff
In UserManual, we include a section Controlling Floating Point Behavior: https://github.com/llvm/llvm-project/blob/main/clang/docs/UsersManual.rst#controlling-floating-point-behavior , now we need to add a new section for floating-point environment, do we need to add the new section in parallel with Controlling Floating Point Behavior section or just put the section under Controlling Floating Point Behavior? And current Controlling Floating Point Behavior includes following description:
Clang provides a number of ways to control floating point behavior, including with command line options and source pragmas.
So, we need to update it to Clang provides a number of ways to control floating point behavior, including with command line options, source pragmas and builtins. and mention builtin_flt_rounds, builtin_set_flt_rounds in this section. Does this meet your expectation?
Thanks very much.
Mar 20 2023
Mar 19 2023
Combine description of builtin_flt_rounds and builtin_set_flt_rounds
Mar 15 2023
Mar 14 2023
Mar 13 2023
Simplify test and update release doc
Mar 12 2023
Add SemaChecking test for incompatible input arguments for __builtin_set_flt_rounds.
Add semachecking test for unsupported platform.
Mar 9 2023
Hi, @andrew.w.kaylor @rjmccall @sepavloff @aaron.ballman
This patch re-lands previous patch to add builtin_set_flt_rounds, previous patch broke PPC64 buildbot due to test case bug. Previously, tests for builtin_set_flt_rounds was located in CodeGen/builtin.c which would run on all triples but this builtin was restricted to work only on Intel and Arm platform, so the builtin.c will fail on targets such as PPC64. I move the test into a separate file and use following commands to run the lit test:
RUN: %clang_cc1 -triple x86_64-gnu-linux %s -emit-llvm -o - | FileCheck %s
RUN: %clang_cc1 -triple x86_64-windows-msvc %s -emit-llvm -o - | FileCheck %s
RUN: %clang_cc1 -triple aarch64-gnu-linux %s -emit-llvm -o - | FileCheck %s
RUN: %clang_cc1 -triple aarch64-windows-msvc %s -emit-llvm -o - | FileCheck %s
Could you help review again?
Mar 8 2023
Mar 6 2023
Hi, @sepavloff
Do you have any concern about this patch?
Thanks very much.
Hi, @rjmccall and @sepavloff
I updated built name to "builtin_set_flt_rounds" as suggested and restrict the built to be used on x86, arm, aarch64 target. I did my local test on x86 and x86_64 and found arm and aarch64 code gen have already supported "llvm.set.rounding" :https://github.com/llvm/llvm-project/blob/main/llvm/lib/Target/ARM/ARMISelLowering.cpp#L6398 and https://github.com/llvm/llvm-project/blob/main/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp#L4528
So enabling the builtin on these targets should be OK. To document, is it ok to create another patch to add doc for both "builtin_flt_rounds" and "__builtin_set_flt_rounds"?
Thanks very much.
Mar 5 2023
Update the builtin name to __builtin_set_flt_rounds and restrict it to be used only on x86, x86_64, arm, aarch64 target.
Mar 2 2023
Mar 1 2023
Change the builtin name to __builtin_fesetround
Feb 28 2023
Update test for llvm.set.rounding
Feb 21 2023
Nov 10 2022
Hi, @MaskRay
Could you take a look at this PR? This trivial patch aims to fix a potential typo.
Nov 8 2022
Nov 6 2022
Nov 1 2022
Hi, @MaskRay
Unnecessary check in forced unwind is removed. This patch is to align with libgcc's behavior in stack unwinding process on CET enabled platform. libgcc added check in stacking unwinding phase2, we need to go through the stacks to count how many stack frames to skip when CET is enabled and we can enhance security by comparing return addr in normal stack against CET shadow stack at the same time. If return addr in the 2 stacks don't match, it means the normal stack has been corrupted by someone and we can report fatal error in advance.
We also ran libunwind, libcxx, libcxxabi tests with CET enabled with latest patch, all tests passed.
Oct 31 2022
Oct 28 2022
Oct 25 2022
Hi, @hjl.tools
Could you take a look at this patch, we aim to align with libgcc's behavior in CET shadow stack unwinding process in order to enhance security.
Oct 19 2022
Oct 17 2022
Feb 14 2022
Jan 9 2022
Jan 5 2022
Hi, @MaskRay and @compnerd
I have updated the patch based on your comments and may need your approval again.
Thanks very much for the review.
Dec 23 2021
Hi, @compnerd
Kind ping~
Dec 12 2021
Hi, @compnerd
Kind ping~
Nov 16 2021
Hi, @compnerd
Could you check again if the latest update meets your requirement?
Thanks very much.
Oct 27 2021
Hi, @compnerd , @MaskRay and @manojgupta
I have updated the patches according to previous comments, could you help review it?
Oct 25 2021
Oct 14 2021
Oct 13 2021
Hi, @MaskRay
I removed endbr in builtin .S file according to your suggestion, could you help review again?
Thanks very much.
Oct 8 2021
Oct 7 2021
Oct 4 2021
Sep 24 2021
Sep 22 2021
Sep 17 2021
Sep 15 2021
include <cet.h> and define CET endbr macros only when "CET" is defined. When using gcc or clang, "CET" is defined when -fcf-protection option is used.
Hi, @MaskRay
could you help review this patch?
Thanks very much.