[PATCH] D149444: [ARM] Allow codegen for Armv6m eXecute-Only (XO) sections

2023-08-09 Thread Ties Stuij via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. stuij marked an inline comment as done. Closed by commit rG479955a42a71: [ARM] Allow codegen for Armv6m eXecute-Only (XO) sections (authored by stuij). Changed prior t

[PATCH] D149444: [ARM] Allow codegen for Armv6m eXecute-Only (XO) sections

2023-06-19 Thread Ties Stuij via Phabricator via cfe-commits
stuij marked an inline comment as done. stuij added a comment. Comment at: clang/test/Driver/arm-execute-only.c:1 -// RUN: not %clang -c -target thumbv6m-eabi -mexecute-only %s 2>&1 | \ +// RUN: %clang -c -### --target=thumbv6m-eabi -mexecute-only %s 2>&1 | \ +// RUN: FileCh

[PATCH] D149444: [ARM] Allow codegen for Armv6m eXecute-Only (XO) sections

2023-06-19 Thread Ties Stuij via Phabricator via cfe-commits
stuij updated this revision to Diff 532684. stuij added a comment. address review comments Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D149444/new/ https://reviews.llvm.org/D149444 Files: clang/lib/Driver/ToolChains/Arch/ARM.cpp clang/test/Dr

[PATCH] D149444: [ARM] Allow codegen for Armv6m eXecute-Only (XO) sections

2023-06-15 Thread Fangrui Song via Phabricator via cfe-commits
MaskRay accepted this revision. MaskRay added a comment. Looks great! Comment at: clang/test/Driver/arm-execute-only.c:1 -// RUN: not %clang -c -target thumbv6m-eabi -mexecute-only %s 2>&1 | \ +// RUN: %clang -c -### --target=thumbv6m-eabi -mexecute-only %s 2>&1 | \ +// RUN:

[PATCH] D149444: [ARM] Allow codegen for Armv6m eXecute-Only (XO) sections

2023-06-15 Thread Ties Stuij via Phabricator via cfe-commits
stuij added a comment. In D149444#4425134 , @stuij wrote: > - Moved the backend parts of this patch to D149443 > . Wrong Phab review -^ It should be D152795 . Repository: rG LLVM Gi

[PATCH] D149444: [ARM] Allow codegen for Armv6m eXecute-Only (XO) sections

2023-06-15 Thread Ties Stuij via Phabricator via cfe-commits
stuij updated this revision to Diff 531787. stuij added a comment. - Moved the backend parts of this patch to D149443 . - Slightly tweaked the way we call the specific arch in the tests. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https:/

[PATCH] D149444: [ARM] Allow codegen for Armv6m eXecute-Only (XO) sections

2023-06-13 Thread Ties Stuij via Phabricator via cfe-commits
stuij added a comment. In D149444#4415306 , @MaskRay wrote: > Normally we implement the feature in llvm/ first, and the `clang/lib/Driver` > change should be the last patch. Yes good point. I won't commit it yet. For this feature we're using Phab as a

[PATCH] D149444: [ARM] Allow codegen for Armv6m eXecute-Only (XO) sections

2023-06-12 Thread Fangrui Song via Phabricator via cfe-commits
MaskRay accepted this revision. MaskRay added a comment. > Actual implementation of code-gen for v6m will follow in follow-up patches, > which will include an implementation of relocations needed to support this. Normally we implement the feature in llvm/ first, and the `clang/lib/Driver` chang

[PATCH] D149444: [ARM] Allow codegen for Armv6m eXecute-Only (XO) sections

2023-06-12 Thread Ties Stuij via Phabricator via cfe-commits
stuij updated this revision to Diff 530505. stuij marked 2 inline comments as done. stuij added a comment. addressed review comments Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D149444/new/ https://reviews.llvm.org/D149444 Files: clang/lib/Driv

[PATCH] D149444: [ARM] Allow codegen for Armv6m eXecute-Only (XO) sections

2023-05-31 Thread Fangrui Song via Phabricator via cfe-commits
MaskRay added inline comments. Comment at: llvm/lib/Target/ARM/ARMSubtarget.cpp:195 +if (!hasV6MOps()) + llvm_unreachable("Cannot generate execute-only code for this target"); } If this code path is actually reachable, a proper error reporting will be

[PATCH] D149444: [ARM] Allow codegen for Armv6m eXecute-Only (XO) sections

2023-05-31 Thread Fangrui Song via Phabricator via cfe-commits
MaskRay added inline comments. Comment at: clang/test/Driver/arm-execute-only.c:1 -// RUN: not %clang -c -target thumbv6m-eabi -mexecute-only %s 2>&1 | \ +// RUN: %clang -c -target thumbv6m-eabi -mexecute-only %s 2>&1 | \ +// RUN: FileCheck -allow-empty --check-prefix CHECK-THI

[PATCH] D149444: [ARM] Allow codegen for Armv6m eXecute-Only (XO) sections

2023-05-24 Thread Ties Stuij via Phabricator via cfe-commits
stuij added inline comments. Comment at: llvm/lib/Target/ARM/ARMSubtarget.cpp:194 + NoMovt = false; +assert(hasV6MOps() && "Cannot generate execute-only code for this target"); } tschuett wrote: > What happens in release mode? At the top you now claim

[PATCH] D149444: [ARM] Allow codegen for Armv6m eXecute-Only (XO) sections

2023-05-24 Thread Ties Stuij via Phabricator via cfe-commits
stuij updated this revision to Diff 525079. stuij added a comment. addressed review comment Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D149444/new/ https://reviews.llvm.org/D149444 Files: clang/lib/Driver/ToolChains/Arch/ARM.cpp clang/test/D

[PATCH] D149444: [ARM] Allow codegen for Armv6m eXecute-Only (XO) sections

2023-05-23 Thread Thorsten via Phabricator via cfe-commits
tschuett added inline comments. Comment at: llvm/lib/Target/ARM/ARMSubtarget.cpp:194 + NoMovt = false; +assert(hasV6MOps() && "Cannot generate execute-only code for this target"); } What happens in release mode? At the top you now claim that ARMV6M is

[PATCH] D149444: [ARM] Allow codegen for Armv6m eXecute-Only (XO) sections

2023-05-23 Thread Ties Stuij via Phabricator via cfe-commits
stuij updated this revision to Diff 524755. stuij added a comment. addressed review comments and updated tests Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D149444/new/ https://reviews.llvm.org/D149444 Files: clang/lib/Driver/ToolChains/Arch/ARM

[PATCH] D149444: [ARM] Allow codegen for Armv6m eXecute-Only (XO) sections

2023-05-23 Thread Ties Stuij via Phabricator via cfe-commits
stuij added inline comments. Comment at: llvm/lib/Target/ARM/ARMSubtarget.cpp:434 // range otherwise. - return !NoMovt && hasV8MBaselineOps() && + return !NoMovt && hasV6MOps() && (isTargetWindows() || !OptMinSize || genExecuteOnly()); simonwallis2

[PATCH] D149444: [ARM] Allow codegen for Armv6m eXecute-Only (XO) sections

2023-05-02 Thread Simon Wallis via Phabricator via cfe-commits
simonwallis2 added inline comments. Comment at: llvm/lib/Target/ARM/ARMSubtarget.cpp:434 // range otherwise. - return !NoMovt && hasV8MBaselineOps() && + return !NoMovt && hasV6MOps() && (isTargetWindows() || !OptMinSize || genExecuteOnly()); simon

[PATCH] D149444: [ARM] Allow codegen for Armv6m eXecute-Only (XO) sections

2023-05-02 Thread Simon Wallis via Phabricator via cfe-commits
simonwallis2 added inline comments. Comment at: llvm/lib/Target/ARM/ARMSubtarget.cpp:434 // range otherwise. - return !NoMovt && hasV8MBaselineOps() && + return !NoMovt && hasV6MOps() && (isTargetWindows() || !OptMinSize || genExecuteOnly()); V6M d

[PATCH] D149444: [ARM] Allow codegen for Armv6m eXecute-Only (XO) sections

2023-04-28 Thread Ties Stuij via Phabricator via cfe-commits
stuij created this revision. Herald added subscribers: hiraditya, kristof.beyls. Herald added a project: All. stuij requested review of this revision. Herald added subscribers: llvm-commits, cfe-commits, MaskRay. Herald added projects: clang, LLVM. This patch moves the overall lower-bound arch res