[PATCH] D152275: Use memory region declaration intrinsic when generating code for array subscripts

2023-06-15 Thread Jeroen Dobbelaere via Phabricator via cfe-commits
jeroen.dobbelaere added a comment. In D152275#4418363 , @efriedma wrote: > - Not sure how this interacts with full restrict and related proposals. the full restrict PropagateAndConvertNoAlias pass will need to learn about it, but that should be trivial.

[PATCH] D126956: [tbaa] Handle base classes in struct tbaa

2022-07-06 Thread Jeroen Dobbelaere via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG5b3247bf9f71: [tbaa] Handle base classes in struct tbaa (authored by brunodf, committed by jeroen.dobbelaere). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D

[PATCH] D126956: [tbaa] Handle base classes in struct tbaa

2022-07-06 Thread Jeroen Dobbelaere via Phabricator via cfe-commits
jeroen.dobbelaere accepted this revision. jeroen.dobbelaere added a comment. This revision is now accepted and ready to land. lgtm Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D126956/new/ https://reviews.llvm.org/D126956 _

[PATCH] D126956: [tbaa] Handle base classes in struct tbaa

2022-06-23 Thread Jeroen Dobbelaere via Phabricator via cfe-commits
jeroen.dobbelaere added a comment. In D126956#3604978 , @fhahn wrote: > Please take a look and revert the patch if the fix isn't trivial. the patch has already been reverted so Bruno can investigate. Repository: rG LLVM Github Monorepo CHANGES SINCE

[PATCH] D126956: [tbaa] Handle base classes in struct tbaa

2022-06-23 Thread Jeroen Dobbelaere via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGcdc59e2202c1: [tbaa] Handle base classes in struct tbaa (authored by brunodf, committed by jeroen.dobbelaere). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D

[PATCH] D126956: [tbaa] Handle base classes in struct tbaa

2022-06-15 Thread Jeroen Dobbelaere via Phabricator via cfe-commits
jeroen.dobbelaere accepted this revision. jeroen.dobbelaere added a comment. This revision is now accepted and ready to land. lgtm Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D126956/new/ https://reviews.llvm.org/D126956 _

[PATCH] D115320: Avoid setting tbaa information on store of return type of call to inline assember

2021-12-14 Thread Jeroen Dobbelaere via Phabricator via cfe-commits
jeroen.dobbelaere accepted this revision. jeroen.dobbelaere added a comment. This revision is now accepted and ready to land. LGTM CHANGES SINCE LAST ACTION https://reviews.llvm.org/D115320/new/ https://reviews.llvm.org/D115320 ___ cfe-commits mail

[PATCH] D115320: Avoid setting tbaa information on store of return type of call to inline assember

2021-12-14 Thread Jeroen Dobbelaere via Phabricator via cfe-commits
jeroen.dobbelaere added inline comments. Comment at: clang/test/CodeGen/avoidTBAAonASMstore.cpp:3 +double foo(double z) { + // CHECK-LABEL: define{{.*}} double @_Z3food + unsigned short ControlWord; Shouldn't this be `STORE-LINE-LABEL: ...` ? CHANGES SINCE LA

[PATCH] D115320: Avoid setting tbaa information on store of return type of call to inline assember

2021-12-11 Thread Jeroen Dobbelaere via Phabricator via cfe-commits
jeroen.dobbelaere added a comment. We're almost there. But the testcase is now not testing what it should be testing. Also the unused `CHECK:` must be adapted. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D115320/new/ https://reviews.llvm.org/D115320 _

[PATCH] D115320: Avoid setting tbaa information on store of return type of call to inline assember

2021-12-10 Thread Jeroen Dobbelaere via Phabricator via cfe-commits
jeroen.dobbelaere added inline comments. Comment at: clang/lib/CodeGen/CodeGenFunction.h:2511 +return LValue::MakeAddr(Addr, T, getContext(), LValueBaseInfo(Source), +CGM.returnNullTBAA()); + } Looking at how a 'null tbaa'is produ

[PATCH] D115320: Avoid setting tbaa information on store of return type of call to inline assember

2021-12-09 Thread Jeroen Dobbelaere via Phabricator via cfe-commits
jeroen.dobbelaere added a comment. When I try out the example on llvm-13, I get a 'omnipotent char' tbaa description. That should be ok in general. When I replace the 'float _Complex' with 'double', I do get the 'double' tbaa. That might be a better example for the testcase ? CHANGES SINCE LA

[PATCH] D115320: Avoid setting tbaa information on return type of call to inline assember

2021-12-07 Thread Jeroen Dobbelaere via Phabricator via cfe-commits
jeroen.dobbelaere added a comment. Do you have a testcase ? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D115320/new/ https://reviews.llvm.org/D115320 ___ cfe-commits mailing list cfe-commits@lists.llvm.

[PATCH] D111639: [Sema] check PseudoObject when rebuilding CXXOperatorCallExpr in template instantiation

2021-12-01 Thread Jeroen Dobbelaere via Phabricator via cfe-commits
jeroen.dobbelaere added a comment. A number of buildbots started failing after submission. Reverted for now so we can investigate if the new produced errors are valid or not. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D111639/new/ https://review

[PATCH] D111639: [Sema] check PseudoObject when rebuilding CXXOperatorCallExpr in template instantiation

2021-12-01 Thread Jeroen Dobbelaere via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG0c047a8e1332: [Sema] check PseudoObject when rebuilding CXXOperatorCallExpr in template… (authored by jeroen.dobbelaere). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews

[PATCH] D104777: PR50767: clear non-distinct debuginfo for function with nodebug definition after undecorated declaration

2021-06-29 Thread Jeroen Dobbelaere via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG4d8871a898b3: PR50767: clear non-distinct debuginfo for function with nodebug definition… (authored by brunodf, committed by jeroen.dobbelaere). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST

[PATCH] D96960: [clang] functions with the 'const' or 'pure' attribute must always return.

2021-02-18 Thread Jeroen Dobbelaere via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG46757ccb49ab: [clang] functions with the 'const' or 'pure' attribute must always return. (authored by jeroen.dobbelaere). Herald added a project: clang. Herald added a subscriber: cfe-commits. Repository

[PATCH] D93040: [InlineFunction] Use llvm.experimental.noalias.scope.decl for noalias arguments.

2021-02-01 Thread Jeroen Dobbelaere via Phabricator via cfe-commits
jeroen.dobbelaere added inline comments. Comment at: llvm/lib/Transforms/Utils/InlineFunction.cpp:929 -if (MDNode *M = NI->getMetadata(LLVMContext::MD_alias_scope)) - NI->setMetadata(LLVMContext::MD_alias_scope, MDMap[M]); +if (MDNode *M = I->getMetadata(LLVMContex

[PATCH] D93040: [InlineFunction] Use llvm.experimental.noalias.scope.decl for noalias arguments.

2021-01-23 Thread Jeroen Dobbelaere via Phabricator via cfe-commits
jeroen.dobbelaere added a comment. In D93040#2517769 , @jdoerfert wrote: > In D93040#2517758 , @xbolva00 wrote: > >> http://llvm-compile-time-tracker.com/compare.php?from=344afa853fcfcc085cb5c957b4a07c7ea013bb1b&to=

[PATCH] D93040: [InlineFunction] Use llvm.experimental.noalias.scope.decl for noalias arguments.

2021-01-23 Thread Jeroen Dobbelaere via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG2b9a834c43cb: [InlineFunction] Use llvm.experimental.noalias.scope.decl for noalias arguments. (authored by jeroen.dobbelaere). Herald added a project: clang. Herald added a subscriber: cfe-commits. Repo

[PATCH] D93038: [NFC] clang/test/openMP/target_codegen.cpp should not depend on ssa name

2021-01-07 Thread Jeroen Dobbelaere via Phabricator via cfe-commits
jeroen.dobbelaere added a comment. Thanks ! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D93038/new/ https://reviews.llvm.org/D93038 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.

[PATCH] D94233: [NFC] make clang/test/CodeGen/arm_neon_intrinsics.c resistent to function attribute id changes

2021-01-07 Thread Jeroen Dobbelaere via Phabricator via cfe-commits
jeroen.dobbelaere added a comment. Thanks ! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D94233/new/ https://reviews.llvm.org/D94233 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.

[PATCH] D62731: Add support for options -frounding-math, -ftrapping-math, -ffp-model=, and -ffp-exception-behavior=, : Specify floating point behavior

2020-07-24 Thread Jeroen Dobbelaere via Phabricator via cfe-commits
jeroen.dobbelaere added a comment. Herald added a subscriber: dang. Found some issue when looking at this code: -ftrapping_math and -fno_trapping_math will never have effect Comment at: clang/lib/Frontend/CompilerInvocation.cpp:3155 + if (Args.hasArg(OPT_ftrapping_math)) { +

[PATCH] D82574: Merge TableGen files used for clang options

2020-07-10 Thread Jeroen Dobbelaere via Phabricator via cfe-commits
jeroen.dobbelaere added a comment. I think that 'clang/include/clang/Driver/CC1Options.td' should also be removed ? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D82574/new/ https://reviews.llvm.org/D82574

[PATCH] D74935: [LangRef][AliasAnalysis] Clarify `noalias` affects only modified objects

2020-03-10 Thread Jeroen Dobbelaere via Phabricator via cfe-commits
jeroen.dobbelaere added a comment. In D74935#1909909 , @jdoerfert wrote: > I would say that once we get modeling for indirect restrict we can adapt the > lang ref accordingly. For now there is only have outer level restrict/noalias. Why not try to get r

[PATCH] D74935: [LangRef][AliasAnalysis] Clarify `noalias` affects only modified objects

2020-03-06 Thread Jeroen Dobbelaere via Phabricator via cfe-commits
jeroen.dobbelaere added a comment. In D74935#1908665 , @jdoerfert wrote: > I think we conflate two things here: > > 1. The modifications to the LangRef which should be in accordance with the C > standard (at least I haven't seen you contradict the new wor

[PATCH] D74935: [LangRef][AliasAnalysis] Clarify `noalias` affects only modified objects

2020-03-05 Thread Jeroen Dobbelaere via Phabricator via cfe-commits
jeroen.dobbelaere added a comment. In D74935#1907939 , @jdoerfert wrote: > In D74935#1907100 , > @jeroen.dobbelaere wrote: > > > Just to give an example: > > > > int foo(int* restrict *pA, int* restrict *pB) { >

[PATCH] D74935: [LangRef][AliasAnalysis] Clarify `noalias` affects only modified objects

2020-03-05 Thread Jeroen Dobbelaere via Phabricator via cfe-commits
jeroen.dobbelaere added a comment. Just to give an example: int foo(int* restrict *pA, int* restrict *pB) { int tmp=**pB; **pA=42; return tmp - **pB; // **pA and **pB can refer to the same objects } This gives following llvm-ir code with the 'full noalias' clang version (after o

[PATCH] D74935: [LangRef][AliasAnalysis] Clarify `noalias` affects only modified objects

2020-03-04 Thread Jeroen Dobbelaere via Phabricator via cfe-commits
jeroen.dobbelaere added a comment. The reason I bring this up, is that in the full restrict implementation (D68484 ), the alias analysis will do a recursive analysis, proving that *pA and *pB will never alias, because pA and pB will never alias. But this phrasin

[PATCH] D74935: [LangRef][AliasAnalysis] Clarify `noalias` affects only modified objects

2020-03-04 Thread Jeroen Dobbelaere via Phabricator via cfe-commits
jeroen.dobbelaere added a comment. Be aware that c99 restrict has a special case for nested restrict that makes the rules stronger: void f(int* restrict *restrict pA, int* restrict * restrict pB) { **pA=**pB; } although pA and pB are only read, (c99 6.7.3.1 #4) specifies that, writing

[PATCH] D75285: Mark restrict pointer or reference to const as invariant

2020-03-03 Thread Jeroen Dobbelaere via Phabricator via cfe-commits
jeroen.dobbelaere added a comment. In D75285#1902788 , @Anastasia wrote: > In D75285#1896610 , @rjmccall wrote: > > > Are you sure `restrict` alone isn't good enough? It doesn't directly tell > > you that the memo

[PATCH] D75285: Mark restrict pointer or reference to const as invariant

2020-02-28 Thread Jeroen Dobbelaere via Phabricator via cfe-commits
jeroen.dobbelaere added a comment. I don't think that 'restrict' is a good match for this behavior. For c++, the alias_set proposal (http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4150.pdf) would be a better match. You would put the read access of *p in its own universe; or even bette

[PATCH] D74878: [remark][diagnostics] [codegen] Fix PR44896

2020-02-25 Thread Jeroen Dobbelaere via Phabricator via cfe-commits
jeroen.dobbelaere accepted this revision. jeroen.dobbelaere added a comment. This revision is now accepted and ready to land. Looks good to me. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D74878/new/ https://reviews.llvm.org/D74878 ___ cfe

[PATCH] D74878: [remark][diagnostics] [codegen] Fix PR44896

2020-02-24 Thread Jeroen Dobbelaere via Phabricator via cfe-commits
jeroen.dobbelaere added a comment. Will this also give a warning when passing a .ll file to a release clang, without explicitly passing the '-fdiscard-value-names' ? Is this what we want it to be ? CHANGES SINCE LAST ACTION https://reviews.llvm.org/D74878/new/ https://reviews.llvm.org/D748

[PATCH] D72523: [remark][diagnostics] Using clang diagnostic handler for IR input files

2020-02-18 Thread Jeroen Dobbelaere via Phabricator via cfe-commits
jeroen.dobbelaere added a comment. This change triggers a crash in a release build of llvm: See https://bugs.llvm.org/show_bug.cgi?id=44896 Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D72523/new/ https://reviews.llvm.org/D72523

[PATCH] D73360: [OpenCL] Restrict address space conversions in nested pointers

2020-01-29 Thread Jeroen Dobbelaere via Phabricator via cfe-commits
jeroen.dobbelaere accepted this revision. jeroen.dobbelaere added a comment. This patch looks good to me. I do agree with John that it would be good to add the warning to a warning group. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D73360/new/ https://reviews.llvm.org/D73360 _