[clang] b8f0e12 - [CodeGen] Remove some uses of deprecated Address constructor

2022-03-22 Thread Nikita Popov via cfe-commits
Author: Nikita Popov Date: 2022-03-22T10:02:35+01:00 New Revision: b8f0e12847f5df0792c816c995bc67759aea669e URL: https://github.com/llvm/llvm-project/commit/b8f0e12847f5df0792c816c995bc67759aea669e DIFF: https://github.com/llvm/llvm-project/commit/b8f0e12847f5df0792c816c995bc67759aea669e.diff

[clang] f42b195 - [CodeGen][RISCV] Avoid deprecated address constructor

2022-03-22 Thread Nikita Popov via cfe-commits
Author: Nikita Popov Date: 2022-03-22T10:15:19+01:00 New Revision: f42b1954a0e85fadd421d5e345cb8343c410b34d URL: https://github.com/llvm/llvm-project/commit/f42b1954a0e85fadd421d5e345cb8343c410b34d DIFF: https://github.com/llvm/llvm-project/commit/f42b1954a0e85fadd421d5e345cb8343c410b34d.diff

[clang] 51ba13b - [CGStmtOpenMP] Remove uses of deprecated Address constructor

2022-03-22 Thread Nikita Popov via cfe-commits
Author: Nikita Popov Date: 2022-03-22T11:00:08+01:00 New Revision: 51ba13b1aea3d6e04310b80b6bcfc641049b9890 URL: https://github.com/llvm/llvm-project/commit/51ba13b1aea3d6e04310b80b6bcfc641049b9890 DIFF: https://github.com/llvm/llvm-project/commit/51ba13b1aea3d6e04310b80b6bcfc641049b9890.diff

[clang] 73c0d05 - [CGOpenMPRuntimeGPU] Remove uses of deprecated address constructor

2022-03-22 Thread Nikita Popov via cfe-commits
Author: Nikita Popov Date: 2022-03-22T15:02:45+01:00 New Revision: 73c0d05e6a90612399de06a98201e9d6a9059797 URL: https://github.com/llvm/llvm-project/commit/73c0d05e6a90612399de06a98201e9d6a9059797 DIFF: https://github.com/llvm/llvm-project/commit/73c0d05e6a90612399de06a98201e9d6a9059797.diff

[clang] 4f5640c - [CGOpenMPRuntime] Remove some uses of deprecated Address ctor

2022-03-22 Thread Nikita Popov via cfe-commits
Author: Nikita Popov Date: 2022-03-22T15:35:45+01:00 New Revision: 4f5640cad3e0cdff9ab8d6b63c9abd760c32832b URL: https://github.com/llvm/llvm-project/commit/4f5640cad3e0cdff9ab8d6b63c9abd760c32832b DIFF: https://github.com/llvm/llvm-project/commit/4f5640cad3e0cdff9ab8d6b63c9abd760c32832b.diff

[clang] cd6d9ae - [CGOpenMPRuntime] Remove some uses of deprecated Adddress ctor

2022-03-22 Thread Nikita Popov via cfe-commits
Author: Nikita Popov Date: 2022-03-22T16:29:35+01:00 New Revision: cd6d9ae26313258d4dbf8a5db4d977434c03ed6a URL: https://github.com/llvm/llvm-project/commit/cd6d9ae26313258d4dbf8a5db4d977434c03ed6a DIFF: https://github.com/llvm/llvm-project/commit/cd6d9ae26313258d4dbf8a5db4d977434c03ed6a.diff

[clang] 27f6cee - Revert "[CodeGen] Avoid deprecated Address ctor in EmitLoadOfPointer()"

2022-03-23 Thread Nikita Popov via cfe-commits
Author: Nikita Popov Date: 2022-03-23T10:24:39+01:00 New Revision: 27f6cee12d2ab52e44e78d26733ab92ced730f13 URL: https://github.com/llvm/llvm-project/commit/27f6cee12d2ab52e44e78d26733ab92ced730f13 DIFF: https://github.com/llvm/llvm-project/commit/27f6cee12d2ab52e44e78d26733ab92ced730f13.diff

[clang] a451a29 - [CodeGen][OpenMP] Add alignment to test (NFC)

2022-03-23 Thread Nikita Popov via cfe-commits
Author: Nikita Popov Date: 2022-03-23T10:28:04+01:00 New Revision: a451a291278b22b031b2b6d8ca4a3b2517a491f6 URL: https://github.com/llvm/llvm-project/commit/a451a291278b22b031b2b6d8ca4a3b2517a491f6 DIFF: https://github.com/llvm/llvm-project/commit/a451a291278b22b031b2b6d8ca4a3b2517a491f6.diff

[clang] ba2be80 - [CGOpenMPRuntime] Reuse getDepobjElements() (NFC)

2022-03-23 Thread Nikita Popov via cfe-commits
Author: Nikita Popov Date: 2022-03-23T11:31:49+01:00 New Revision: ba2be802b04a19c2398401867de3746df1bad7d6 URL: https://github.com/llvm/llvm-project/commit/ba2be802b04a19c2398401867de3746df1bad7d6 DIFF: https://github.com/llvm/llvm-project/commit/ba2be802b04a19c2398401867de3746df1bad7d6.diff

[clang] 47eb4f7 - [CGOpenMPRuntime] Specify correct type in EmitLoadOfPointerLValue()

2022-03-23 Thread Nikita Popov via cfe-commits
Author: Nikita Popov Date: 2022-03-23T11:51:14+01:00 New Revision: 47eb4f7dcd845878b16a53dadd765195b9c24b6e URL: https://github.com/llvm/llvm-project/commit/47eb4f7dcd845878b16a53dadd765195b9c24b6e DIFF: https://github.com/llvm/llvm-project/commit/47eb4f7dcd845878b16a53dadd765195b9c24b6e.diff

[clang] aaf2bcc - [CodeGen][OpenMP] Add alignment to test (NFC)

2022-03-23 Thread Nikita Popov via cfe-commits
Author: Nikita Popov Date: 2022-03-23T12:01:00+01:00 New Revision: aaf2bccf1fa2f5c96de7354298bede139f8cb7e5 URL: https://github.com/llvm/llvm-project/commit/aaf2bccf1fa2f5c96de7354298bede139f8cb7e5 DIFF: https://github.com/llvm/llvm-project/commit/aaf2bccf1fa2f5c96de7354298bede139f8cb7e5.diff

[clang] 8b62dd3 - Reapply [CodeGen] Avoid deprecated Address ctor in EmitLoadOfPointer()

2022-03-23 Thread Nikita Popov via cfe-commits
Author: Nikita Popov Date: 2022-03-23T12:06:11+01:00 New Revision: 8b62dd3cd6d775a9c6ae3bfe841bf965dc2c944d URL: https://github.com/llvm/llvm-project/commit/8b62dd3cd6d775a9c6ae3bfe841bf965dc2c944d DIFF: https://github.com/llvm/llvm-project/commit/8b62dd3cd6d775a9c6ae3bfe841bf965dc2c944d.diff

[clang] c070d5c - [CGOpenMPRuntime] Remove uses of deprecated Address constructor

2022-03-23 Thread Nikita Popov via cfe-commits
Author: Nikita Popov Date: 2022-03-23T12:40:44+01:00 New Revision: c070d5ceff05c3459b9a9add6d18aae9a3fa5916 URL: https://github.com/llvm/llvm-project/commit/c070d5ceff05c3459b9a9add6d18aae9a3fa5916 DIFF: https://github.com/llvm/llvm-project/commit/c070d5ceff05c3459b9a9add6d18aae9a3fa5916.diff

[clang] beee096 - [CGBlocks] Don't assume presence of bitcast

2022-03-23 Thread Nikita Popov via cfe-commits
Author: Nikita Popov Date: 2022-03-23T15:39:39+01:00 New Revision: beee09687f4602dba82a378bad94ed9657c97339 URL: https://github.com/llvm/llvm-project/commit/beee09687f4602dba82a378bad94ed9657c97339 DIFF: https://github.com/llvm/llvm-project/commit/beee09687f4602dba82a378bad94ed9657c97339.diff

[clang] 5c6752d - [CGObjCMac] Check global value type instead of poitner type

2022-03-23 Thread Nikita Popov via cfe-commits
Author: Nikita Popov Date: 2022-03-23T15:39:39+01:00 New Revision: 5c6752d4ade99ecdaca391cf14b7d7e5c9a75fc1 URL: https://github.com/llvm/llvm-project/commit/5c6752d4ade99ecdaca391cf14b7d7e5c9a75fc1 DIFF: https://github.com/llvm/llvm-project/commit/5c6752d4ade99ecdaca391cf14b7d7e5c9a75fc1.diff

[clang] ba36556 - [InstrProfiling] Account for missing bitcast/GEP

2022-03-23 Thread Nikita Popov via cfe-commits
Author: Nikita Popov Date: 2022-03-23T15:39:39+01:00 New Revision: ba365561455e467664df8c656f111b26fd1f81de URL: https://github.com/llvm/llvm-project/commit/ba365561455e467664df8c656f111b26fd1f81de DIFF: https://github.com/llvm/llvm-project/commit/ba365561455e467664df8c656f111b26fd1f81de.diff

[clang] a8690ba - [CGExpr] Perform bitcast unconditionally

2022-03-23 Thread Nikita Popov via cfe-commits
Author: Nikita Popov Date: 2022-03-23T15:39:39+01:00 New Revision: a8690ba9d0147bbca8d9031ef1596c4de025e6ed URL: https://github.com/llvm/llvm-project/commit/a8690ba9d0147bbca8d9031ef1596c4de025e6ed DIFF: https://github.com/llvm/llvm-project/commit/a8690ba9d0147bbca8d9031ef1596c4de025e6ed.diff

[clang] 5390606 - [OpaquePtr][Clang] Add CLANG_ENABLE_OPAQUE_POINTERS cmake option

2022-04-07 Thread Nikita Popov via cfe-commits
Author: Nikita Popov Date: 2022-04-07T10:14:56+02:00 New Revision: 5390606aa963a7b415da65aa8120efbbafd30401 URL: https://github.com/llvm/llvm-project/commit/5390606aa963a7b415da65aa8120efbbafd30401 DIFF: https://github.com/llvm/llvm-project/commit/5390606aa963a7b415da65aa8120efbbafd30401.diff

[clang] b16a3b4 - [Clang] Add -no-opaque-pointers to more tests (NFC)

2022-04-07 Thread Nikita Popov via cfe-commits
Author: Nikita Popov Date: 2022-04-07T12:53:29+02:00 New Revision: b16a3b4f3bbd6f9f1f8d3a1525804dd5754c0adf URL: https://github.com/llvm/llvm-project/commit/b16a3b4f3bbd6f9f1f8d3a1525804dd5754c0adf DIFF: https://github.com/llvm/llvm-project/commit/b16a3b4f3bbd6f9f1f8d3a1525804dd5754c0adf.diff

[clang] 82d0f7b - [Clang] Remove redundant -no-opaque-pointers flag in test (NFC)

2022-04-07 Thread Nikita Popov via cfe-commits
Author: Nikita Popov Date: 2022-04-07T13:53:37+02:00 New Revision: 82d0f7bdb5b542118f54aa03fac52e7a8f776123 URL: https://github.com/llvm/llvm-project/commit/82d0f7bdb5b542118f54aa03fac52e7a8f776123 DIFF: https://github.com/llvm/llvm-project/commit/82d0f7bdb5b542118f54aa03fac52e7a8f776123.diff

[clang] 692a147 - [CGCall] Make findDominatingStoreToReturnValue() more robust

2022-04-08 Thread Nikita Popov via cfe-commits
Author: Nikita Popov Date: 2022-04-08T15:18:12+02:00 New Revision: 692a147bf4339380ccfea7418cbedcea540cfaef URL: https://github.com/llvm/llvm-project/commit/692a147bf4339380ccfea7418cbedcea540cfaef DIFF: https://github.com/llvm/llvm-project/commit/692a147bf4339380ccfea7418cbedcea540cfaef.diff

[clang] 2121dc5 - [llvm-lto] Remove support for legacy pass manager

2022-04-11 Thread Nikita Popov via cfe-commits
Author: Nikita Popov Date: 2022-04-11T09:40:17+02:00 New Revision: 2121dc5b158b0d11667a5d8c39f0121b869ca1c5 URL: https://github.com/llvm/llvm-project/commit/2121dc5b158b0d11667a5d8c39f0121b869ca1c5 DIFF: https://github.com/llvm/llvm-project/commit/2121dc5b158b0d11667a5d8c39f0121b869ca1c5.diff

[clang] 69f7f15 - [Clang] Add -no-opaque-pointers to recently added test (NFC)

2022-04-11 Thread Nikita Popov via cfe-commits
Author: Nikita Popov Date: 2022-04-11T11:13:38+02:00 New Revision: 69f7f15683c451378dbe9029a0bd2dbd029bcf3a URL: https://github.com/llvm/llvm-project/commit/69f7f15683c451378dbe9029a0bd2dbd029bcf3a DIFF: https://github.com/llvm/llvm-project/commit/69f7f15683c451378dbe9029a0bd2dbd029bcf3a.diff

[clang] 702d5de - [Clang] Enable opaque pointers by default

2022-04-11 Thread Nikita Popov via cfe-commits
Author: Nikita Popov Date: 2022-04-11T11:13:45+02:00 New Revision: 702d5de4380b1e1554e5b90863093c3a57f76f70 URL: https://github.com/llvm/llvm-project/commit/702d5de4380b1e1554e5b90863093c3a57f76f70 DIFF: https://github.com/llvm/llvm-project/commit/702d5de4380b1e1554e5b90863093c3a57f76f70.diff

[clang] b72fd1a - [CGCall] Check store type in findDominatingStoreToReturnValue()

2022-04-11 Thread Nikita Popov via cfe-commits
Author: Nikita Popov Date: 2022-04-11T12:08:29+02:00 New Revision: b72fd1a84d33e19f9f7fa6b7fdcaea57dc51aee4 URL: https://github.com/llvm/llvm-project/commit/b72fd1a84d33e19f9f7fa6b7fdcaea57dc51aee4 DIFF: https://github.com/llvm/llvm-project/commit/b72fd1a84d33e19f9f7fa6b7fdcaea57dc51aee4.diff

[clang] b00d0fa - [Clang] Add -no-opaque-pointers to native powerpc test (NFC)

2022-04-11 Thread Nikita Popov via cfe-commits
Author: Nikita Popov Date: 2022-04-11T13:15:46+02:00 New Revision: b00d0fa2c7f0a187867c535b3f7006376420d58f URL: https://github.com/llvm/llvm-project/commit/b00d0fa2c7f0a187867c535b3f7006376420d58f DIFF: https://github.com/llvm/llvm-project/commit/b00d0fa2c7f0a187867c535b3f7006376420d58f.diff

[clang] 918c5a9 - [Clang] Avoid legacy PM in some tests (NFC)

2022-04-11 Thread Nikita Popov via cfe-commits
Author: Nikita Popov Date: 2022-04-11T16:15:57+02:00 New Revision: 918c5a926090214bc6843854afb4750673b4c3ae URL: https://github.com/llvm/llvm-project/commit/918c5a926090214bc6843854afb4750673b4c3ae DIFF: https://github.com/llvm/llvm-project/commit/918c5a926090214bc6843854afb4750673b4c3ae.diff

[clang] 2978d02 - [Clang] Remove support for legacy pass manager

2022-04-13 Thread Nikita Popov via cfe-commits
Author: Nikita Popov Date: 2022-04-13T10:21:42+02:00 New Revision: 2978d026819b82f77eef42d92b3b53919f375bd8 URL: https://github.com/llvm/llvm-project/commit/2978d026819b82f77eef42d92b3b53919f375bd8 DIFF: https://github.com/llvm/llvm-project/commit/2978d026819b82f77eef42d92b3b53919f375bd8.diff

[clang] cdc0573 - [MatrixBuilder] Remove unnecessary IRBuilder template (NFC)

2022-02-07 Thread Nikita Popov via cfe-commits
Author: Nikita Popov Date: 2022-02-07T16:42:38+01:00 New Revision: cdc0573f753e639ed78f2a3645179ac2d2718fd0 URL: https://github.com/llvm/llvm-project/commit/cdc0573f753e639ed78f2a3645179ac2d2718fd0 DIFF: https://github.com/llvm/llvm-project/commit/cdc0573f753e639ed78f2a3645179ac2d2718fd0.diff

[clang] c45a99f - [MatrixBuilder] Require explicit element type in CreateColumnMajorLoad()

2022-02-07 Thread Nikita Popov via cfe-commits
Author: Nikita Popov Date: 2022-02-07T16:57:33+01:00 New Revision: c45a99f36b6e87440765572bd38cbd515c60173a URL: https://github.com/llvm/llvm-project/commit/c45a99f36b6e87440765572bd38cbd515c60173a DIFF: https://github.com/llvm/llvm-project/commit/c45a99f36b6e87440765572bd38cbd515c60173a.diff

[clang] 18834dc - [OpenCL] Mark kernel arguments as ABI aligned

2022-02-08 Thread Nikita Popov via cfe-commits
Author: Nikita Popov Date: 2022-02-08T16:12:51+01:00 New Revision: 18834dca2d787fb46532c0b688e396613e132020 URL: https://github.com/llvm/llvm-project/commit/18834dca2d787fb46532c0b688e396613e132020 DIFF: https://github.com/llvm/llvm-project/commit/18834dca2d787fb46532c0b688e396613e132020.diff

[clang] f208644 - [CGBuilder] Remove CreateBitCast() method

2022-02-14 Thread Nikita Popov via cfe-commits
Author: Nikita Popov Date: 2022-02-14T15:06:04+01:00 New Revision: f208644ed3618fb1db195adbd35ae0acf2819f23 URL: https://github.com/llvm/llvm-project/commit/f208644ed3618fb1db195adbd35ae0acf2819f23 DIFF: https://github.com/llvm/llvm-project/commit/f208644ed3618fb1db195adbd35ae0acf2819f23.diff

[clang] 1aeb4c6 - [ItaniumCXXABI] Avoid pointer element type accesses

2022-02-14 Thread Nikita Popov via cfe-commits
Author: Nikita Popov Date: 2022-02-14T15:17:14+01:00 New Revision: 1aeb4c6b5081944fd1e53a8f6ee0488ca33644c1 URL: https://github.com/llvm/llvm-project/commit/1aeb4c6b5081944fd1e53a8f6ee0488ca33644c1 DIFF: https://github.com/llvm/llvm-project/commit/1aeb4c6b5081944fd1e53a8f6ee0488ca33644c1.diff

[libunwind] 2d2ef38 - [libunwind] Only include cet.h if __CET__ defined

2022-02-16 Thread Nikita Popov via cfe-commits
Author: Nikita Popov Date: 2022-02-16T09:45:54+01:00 New Revision: 2d2ef384b2f6e723edb793d08f52e7f4dc94ba3a URL: https://github.com/llvm/llvm-project/commit/2d2ef384b2f6e723edb793d08f52e7f4dc94ba3a DIFF: https://github.com/llvm/llvm-project/commit/2d2ef384b2f6e723edb793d08f52e7f4dc94ba3a.diff

[clang] fe3407a - [CGBuilder] Assert that CreateAddrSpaceCast does not change element type

2022-02-16 Thread Nikita Popov via cfe-commits
Author: Nikita Popov Date: 2022-02-16T15:17:08+01:00 New Revision: fe3407a91b6dcc1100c0b30187aa8c9587c73cad URL: https://github.com/llvm/llvm-project/commit/fe3407a91b6dcc1100c0b30187aa8c9587c73cad DIFF: https://github.com/llvm/llvm-project/commit/fe3407a91b6dcc1100c0b30187aa8c9587c73cad.diff

[clang] 5065076 - [CodeGen] Rename deprecated Address constructor

2022-02-17 Thread Nikita Popov via cfe-commits
Author: Nikita Popov Date: 2022-02-17T11:26:42+01:00 New Revision: 5065076698cf32b5ad3b6f88b5f3b84d68948589 URL: https://github.com/llvm/llvm-project/commit/5065076698cf32b5ad3b6f88b5f3b84d68948589 DIFF: https://github.com/llvm/llvm-project/commit/5065076698cf32b5ad3b6f88b5f3b84d68948589.diff

[clang] 4e545bd - [SimplifyCFG] Thread branches on same condition in more cases (PR54980)

2022-04-29 Thread Nikita Popov via cfe-commits
Author: Nikita Popov Date: 2022-04-29T09:44:05+02:00 New Revision: 4e545bdb355a470d601e9bb7f7b2693c99e61a3e URL: https://github.com/llvm/llvm-project/commit/4e545bdb355a470d601e9bb7f7b2693c99e61a3e DIFF: https://github.com/llvm/llvm-project/commit/4e545bdb355a470d601e9bb7f7b2693c99e61a3e.diff

[clang] 2a72137 - [IR] Don't use blockaddresses as callbr arguments

2022-07-15 Thread Nikita Popov via cfe-commits
Author: Nikita Popov Date: 2022-07-15T10:18:17+02:00 New Revision: 2a721374aef326d4668f750d341c86d1aa1a0309 URL: https://github.com/llvm/llvm-project/commit/2a721374aef326d4668f750d341c86d1aa1a0309 DIFF: https://github.com/llvm/llvm-project/commit/2a721374aef326d4668f750d341c86d1aa1a0309.diff

[clang] [llvm] [InstCombine] Canonicalize `(sitofp x)` -> `(uitofp x)` if `x >= 0` (PR #82404)

2024-03-13 Thread Nikita Popov via cfe-commits
https://github.com/nikic approved this pull request. https://github.com/llvm/llvm-project/pull/82404 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [InstCombine] Canonicalize `(sitofp x)` -> `(uitofp x)` if `x >= 0` (PR #82404)

2024-03-13 Thread Nikita Popov via cfe-commits
nikic wrote: @goldsteinn Doesn't seem worthwhile. https://github.com/llvm/llvm-project/pull/82404 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [InstCombine] Canonicalize `(sitofp x)` -> `(uitofp x)` if `x >= 0` (PR #82404)

2024-03-14 Thread Nikita Popov via cfe-commits
nikic wrote: I don't think we really have a strong motivation for this change beyond "having a canonical form is usually good", so if it's causing issues for some targets, then probably just not doing it is fine. But if we do want to keep it, then yeah, this would be a reasonable motivation fo

[clang] [clang][CodeGen] Allow memcpy replace with trivial auto var init (PR #84230)

2024-03-15 Thread Nikita Popov via cfe-commits
nikic wrote: @antoniofrighetto You need to update the PR description, not the commit message. https://github.com/llvm/llvm-project/pull/84230 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-co

[clang] Sanitizer: Support -fwrapv with -fsanitize=signed-integer-overflow (PR #82432)

2024-03-16 Thread Nikita Popov via cfe-commits
nikic wrote: > > Shouldn't plain `-fsanitize=undefined` disable this sanitizer by default > > (requiring explicit opt-in)? In `-fwrapv` mode this is not undefined > > behavior, so `-fsanitize=undefined` should not complain about it. > > I was on the fence whether `-fsanitize=undefined` should

[clang] [lld] [llvm] [IR] Change representation of getelementptr inrange (PR #84341)

2024-03-19 Thread Nikita Popov via cfe-commits
@@ -23,24 +23,26 @@ @PR23753_b = global ptr getelementptr (i8, ptr @PR23753_a, i64 ptrtoint (ptr @PR23753_a to i64)) ; CHECK: @PR23753_b = global ptr getelementptr (i8, ptr @PR23753_a, i64 ptrtoint (ptr @PR23753_a to i64)) -; Verify that inrange on an index inhibits over-ind

[clang] [lld] [llvm] [IR] Change representation of getelementptr inrange (PR #84341)

2024-03-19 Thread Nikita Popov via cfe-commits
@@ -47,28 +47,66 @@ static bool splitGlobal(GlobalVariable &GV) { if (!Init) return false; - // Verify that each user of the global is an inrange getelementptr constant. - // From this it follows that any loads from or stores to that global must use - // a pointer der

[clang] [lld] [llvm] [IR] Change representation of getelementptr inrange (PR #84341)

2024-03-20 Thread Nikita Popov via cfe-commits
https://github.com/nikic closed https://github.com/llvm/llvm-project/pull/84341 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [lld] [llvm] [IR] Change representation of getelementptr inrange (PR #84341)

2024-03-20 Thread Nikita Popov via cfe-commits
nikic wrote: @dtcxzyw Auto-upgrade is only for bitcode files, we usually do not upgrade IR files. Can you regenerate the inputs with the new clang version? https://github.com/llvm/llvm-project/pull/84341 ___ cfe-commits mailing list cfe-commits@lists.

[clang] 3eb8063 - [CodeGen] Fix test on 32-bit targets (NFC)

2024-03-20 Thread Nikita Popov via cfe-commits
Author: Nikita Popov Date: 2024-03-20T14:20:44+01:00 New Revision: 3eb806373e3164b242db65f8c900e4adb5a2eddf URL: https://github.com/llvm/llvm-project/commit/3eb806373e3164b242db65f8c900e4adb5a2eddf DIFF: https://github.com/llvm/llvm-project/commit/3eb806373e3164b242db65f8c900e4adb5a2eddf.diff

[clang-tools-extra] [clangd] [C++20] [Modules] Introduce initial support for C++20 Modules (PR #66462)

2024-02-06 Thread Nikita Popov via cfe-commits
https://github.com/nikic demilestoned https://github.com/llvm/llvm-project/pull/66462 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [flang] [llvm] [InstCombine] Canonicalize constant GEPs to i8 source element type (PR #68882)

2024-02-07 Thread Nikita Popov via cfe-commits
nikic wrote: @Artem-B I've put up https://github.com/llvm/llvm-project/pull/80983 to address this issue. https://github.com/llvm/llvm-project/pull/68882 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/lis

[clang] Revert "[clang] Avoid memcopy for small structure with padding under … (PR #84230)

2024-03-06 Thread Nikita Popov via cfe-commits
nikic wrote: Can you please provide more information on what the regression was / how this fixes it? https://github.com/llvm/llvm-project/pull/84230 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinf

[clang] [llvm] [IR] Change representation of getelementptr inrange (PR #84341)

2024-03-07 Thread Nikita Popov via cfe-commits
https://github.com/nikic created https://github.com/llvm/llvm-project/pull/84341 As part of the [migration to ptradd](https://discourse.llvm.org/t/rfc-replacing-getelementptr-with-ptradd/68699), we need to change the representation of the `inrange` attribute, which is used for vtable splitting

[clang] [llvm] [IR] Change representation of getelementptr inrange (PR #84341)

2024-03-07 Thread Nikita Popov via cfe-commits
https://github.com/nikic edited https://github.com/llvm/llvm-project/pull/84341 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [IR] Change representation of getelementptr inrange (PR #84341)

2024-03-07 Thread Nikita Popov via cfe-commits
nikic wrote: @aeubanks @preames @nhaehnle Before I finish up this PR (need to update more tests and fix GlobalSplit), I'd like to have some feedback on one point. I'm currently proposing the `inrange` attribute to be relative to the result pointer, so ``` getelementptr inbounds inrange(-16, 16

[clang] [llvm] [IR] Change representation of getelementptr inrange (PR #84341)

2024-03-08 Thread Nikita Popov via cfe-commits
nikic wrote: > Have you thought about the implications for dynamic (non-constant) indices? inrange is only supported on constant expressions, and I think the consensus is that it should not be extended to non-constant cases. In that case, we would represent the information independently of the

[clang] [llvm] [IR] Change representation of getelementptr inrange (PR #84341)

2024-03-08 Thread Nikita Popov via cfe-commits
nikic wrote: > And then want to restrict inrange to the inner array, then for the > source-relative case we can write: > > ``` > %p1 = ptradd ptr %base, i32 %outer_idx * 44 > %p2 = ptradd ptr inrange(0, 40) %p1, i32 %inner_idx * 4 > ``` > > While the result-relative case can't represent this wi

[clang] [llvm] [IR] Change representation of getelementptr inrange (PR #84341)

2024-03-08 Thread Nikita Popov via cfe-commits
nikic wrote: So yeah, I think the source-relative representation is better if we consider only the current vtable / GlobalSplit use case (where we'd just convert result-relative to source-relative anyway), while the result-relative representation is better if we consider a potential extension

[clang] Sanitizer: Support -fwrapv with -fsanitize=signed-integer-overflow (PR #82432)

2024-03-08 Thread Nikita Popov via cfe-commits
nikic wrote: Shouldn't plain `-fsanitize=undefined` disable this sanitizer by default (requiring explicit opt-in)? In `-fwrapv` mode this is not undefined behavior, so `-fsanitize=undefined` should not complain about it. https://github.com/llvm/llvm-project/pull/82432

[clang] [clang][CodeGen] Allow memcpy replace with trivial auto var init (PR #84230)

2024-03-11 Thread Nikita Popov via cfe-commits
nikic wrote: This change also "fixes" https://github.com/llvm/llvm-project/issues/78034 in the sense that we return to the clang 17 status quo of the emitted IR being wrong but mostly working out in practice. https://github.com/llvm/llvm-project/pull/84230 _

[clang] [llvm] [IR] Change representation of getelementptr inrange (PR #84341)

2024-03-13 Thread Nikita Popov via cfe-commits
https://github.com/nikic edited https://github.com/llvm/llvm-project/pull/84341 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [lld] [llvm] [IR] Change representation of getelementptr inrange (PR #84341)

2024-03-13 Thread Nikita Popov via cfe-commits
https://github.com/nikic ready_for_review https://github.com/llvm/llvm-project/pull/84341 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [APINotes] Upstream Sema logic to apply API Notes to decls (PR #78445)

2024-02-26 Thread Nikita Popov via cfe-commits
nikic wrote: FYI this change adds some overhead (about 0.2% for O0) builds (http://llvm-compile-time-tracker.com/compare.php?from=046682ef88a254443e8620bfd48b35bfa0a83809&to=440b1743ee0c8bfb7bf0c4b503bde5ab9af88dc0&stat=instructions:u). Is it possible to avoid it for people not using API notes?

[clang] [clang] Remove unused lambda capture. (PR #83550)

2024-03-01 Thread Nikita Popov via cfe-commits
https://github.com/nikic approved this pull request. https://github.com/llvm/llvm-project/pull/83550 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[llvm] [clang] [clang-tools-extra] [GitHub][workflows] Add buildbot information comment to first merged PR from a new contributor (PR #78292)

2024-01-31 Thread Nikita Popov via cfe-commits
https://github.com/nikic updated https://github.com/llvm/llvm-project/pull/78292 >From 20822b4a2f8e228365c8fa912af18afc9956749e Mon Sep 17 00:00:00 2001 From: David Spickett Date: Tue, 16 Jan 2024 13:36:15 + Subject: [PATCH 01/10] [GitHub][workflows] Add buildbot information comment to firs

[clang-tools-extra] [llvm] [clang] [SCEVExp] Keep NUW/NSW if both original inc and isomporphic inc agree. (PR #79512)

2024-01-31 Thread Nikita Popov via cfe-commits
https://github.com/nikic approved this pull request. LGTM https://github.com/llvm/llvm-project/pull/79512 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] Convert __builtin_dynamic_object_size into a calculation (PR #80256)

2024-02-01 Thread Nikita Popov via cfe-commits
nikic wrote: (Dropping myself as reviewer as I'm not really familiar with clang.) Looks like this is missing test coverage? https://github.com/llvm/llvm-project/pull/80256 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/

[clang] [Clang][CodeGen] Mark `__dynamic_cast` as `willreturn` (PR #80409)

2024-02-02 Thread Nikita Popov via cfe-commits
https://github.com/nikic approved this pull request. LGTM, nice find! https://github.com/llvm/llvm-project/pull/80409 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[llvm] [clang] [flang] [InstCombine] Canonicalize constant GEPs to i8 source element type (PR #68882)

2024-02-03 Thread Nikita Popov via cfe-commits
nikic wrote: @Artem-B Thanks for the report. SROA already has a bunch of special handling for `load(c ? p1 : p2)` as well as `load(gep(c ? p1 : p2, idx))`, so it's probably not too hard to also support `load(gep(p, c ? idx1 : idx2))`. In your particular case, it seems like it's actually InstCo

[clang] [llvm] [Clang] Correct __builtin_dynamic_object_size for subobject types (PR #78526)

2024-01-23 Thread Nikita Popov via cfe-commits
nikic wrote: Thanks for summarizing, that matches my understanding. As to how to implement this "properly", that would probably be https://discourse.llvm.org/t/exploring-the-effects-and-uses-of-the-memory-region-declaration-intrinsic/72756. The memory.region.decl intrinsics effectively encode

[clang] [llvm] [flang] [InstCombine] Canonicalize constant GEPs to i8 source element type (PR #68882)

2024-01-24 Thread Nikita Popov via cfe-commits
https://github.com/nikic closed https://github.com/llvm/llvm-project/pull/68882 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang, SystemZ] Split test into Driver and CodeGen parts (NFC) (PR #79808)

2024-01-29 Thread Nikita Popov via cfe-commits
https://github.com/nikic created https://github.com/llvm/llvm-project/pull/79808 The test added in #73511 currently fails in CLANG_DEFAULT_PIE_ON_LINUX=OFF configuration, because it uses the clang driver in a codegen test. Split the test into two, a driver test that checks that the appropriate

[clang] Support C++20 Modules in clang-repl (PR #79261)

2024-01-29 Thread Nikita Popov via cfe-commits
nikic wrote: Normal clang creates a driver using the default target triple here: https://github.com/llvm/llvm-project/blob/754a8add57098ef71e4a51a9caa0cc175e94377d/clang/tools/driver/driver.cpp#L485 clang-repl appears to use IncrementalCompilerBuilder, which uses `getProcessTriple()` here: ht

[clang] [Clang, SystemZ] Split test into Driver and CodeGen parts (NFC) (PR #79808)

2024-01-29 Thread Nikita Popov via cfe-commits
https://github.com/nikic closed https://github.com/llvm/llvm-project/pull/79808 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Support C++20 Modules in clang-repl (PR #79261)

2024-01-30 Thread Nikita Popov via cfe-commits
nikic wrote: > Until this change we sailed fairly well. It seems that the pcm rigorously > records the clang notion of the triple which is probably what we want. > However, if we are building a pcm in the context of `clang-repl` would it > make sense to use the `getProcessTriple` notion for th

[llvm] [clang] [Clang] Correct __builtin_dynamic_object_size for subobject types (PR #78526)

2024-01-18 Thread Nikita Popov via cfe-commits
https://github.com/nikic requested changes to this pull request. Using anything but the size and alignment of the alloca type in a way that affects program semantics is illegal. https://github.com/llvm/llvm-project/pull/78526 ___ cfe-commits mailing l

[llvm] [flang] [clang] [InstCombine] Canonicalize constant GEPs to i8 source element type (PR #68882)

2024-01-18 Thread Nikita Popov via cfe-commits
nikic wrote: @dtcxzyw I'm going to merge this after LLVM 18 branches next week. https://github.com/llvm/llvm-project/pull/68882 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[llvm] [clang] [LV][LAA] Vectorize math lib calls with mem write-only attribute (PR #78432)

2024-01-18 Thread Nikita Popov via cfe-commits
@@ -2274,6 +2274,26 @@ bool LoopAccessInfo::canAnalyzeLoop() { return true; } +/// Returns whether \p I is a known math library call that has attribute +/// 'memory(argmem: write)' set. +static bool isMathLibCallMemWriteOnly(const TargetLibraryInfo *TLI, +

[llvm] [clang-tools-extra] [clang] Move ExpandMemCmp and MergeIcmp to the middle end (PR #77370)

2024-01-18 Thread Nikita Popov via cfe-commits
nikic wrote: @gbaraldi New compile-time numbers: https://llvm-compile-time-tracker.com/compare.php?from=ecd47811b755d13357085bcd7519a66d6c4d8e5c&to=f582b874c35e2b90046da8e8c30a7fa30ba08167&stat=instructions:u (They are mildly positive now, and there are some text size reductions.) https://gith

[clang] [Clang] Fix build with GCC 14 on ARM (PR #78704)

2024-01-19 Thread Nikita Popov via cfe-commits
https://github.com/nikic created https://github.com/llvm/llvm-project/pull/78704 GCC 14 defines `__arm_streaming` as a macro expanding to `[[arm::streaming]]`. Due to the nested macro use, this gets expanded prior to concatenation. It doesn't look like C++ has a really clean way to prevent macr

[clang] [Clang] Fix build with GCC 14 on ARM (PR #78704)

2024-01-19 Thread Nikita Popov via cfe-commits
@@ -760,8 +760,9 @@ KEYWORD(__builtin_available , KEYALL) KEYWORD(__builtin_sycl_unique_stable_name, KEYSYCL) // Keywords defined by Attr.td. +// The "EMPTY ## X" is used to prevent early macro-expansion of the keyword. #ifndef KEYWORD_ATTRIBUTE -#define KEYWORD_

[llvm] [clang] [Clang] Correct __builtin_dynamic_object_size for subobject types (PR #78526)

2024-01-19 Thread Nikita Popov via cfe-commits
nikic wrote: @bwendling I think you are reading the GCC docs too pedantically. In particular, they also say > If there are multiple objects ptr can point to and all of them are known at > compile time, the returned number is the maximum of remaining byte counts in > those objects if type & 2

[clang] [Clang] Fix build with GCC 14 on ARM (PR #78704)

2024-01-19 Thread Nikita Popov via cfe-commits
https://github.com/nikic closed https://github.com/llvm/llvm-project/pull/78704 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[llvm] [clang] [clang][FatLTO] Avoid UnifiedLTO until it can support WPD/CFI (PR #79061)

2024-01-23 Thread Nikita Popov via cfe-commits
nikic wrote: There's a merge conflict (probably after https://github.com/llvm/llvm-project/pull/79041). https://github.com/llvm/llvm-project/pull/79061 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/list

[clang] ea4d22f - [Lex] Avoid repeated calls to getIdentifierInfo() (NFC)

2024-01-23 Thread Nikita Popov via cfe-commits
Author: Nikita Popov Date: 2024-01-23T12:16:14+01:00 New Revision: ea4d22f22568ccce7985032d150e79197694d38f URL: https://github.com/llvm/llvm-project/commit/ea4d22f22568ccce7985032d150e79197694d38f DIFF: https://github.com/llvm/llvm-project/commit/ea4d22f22568ccce7985032d150e79197694d38f.diff

[clang] Fix __builtin_vectorelements tests with REQUIRES (PR #69582)

2023-10-19 Thread Nikita Popov via cfe-commits
nikic wrote: The correct check is `REQUIRES: aarch64-registered-target`, not `REQUIRES: target=aarch64`. https://github.com/llvm/llvm-project/pull/69582 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/lis

[clang] Fix __builtin_vectorelements tests with REQUIRES (PR #69582)

2023-10-19 Thread Nikita Popov via cfe-commits
nikic wrote: > @nikic Sorry for the mess :/ > > I took the `target=` approach from > [here](https://llvm.org/docs/TestingGuide.html#constraining-test-execution). > Following the current buildbot status, this also does not seem to crash. Does > this mean the rests are still incorrect and are n

[clang] [Clang] Actually fix tests for __builtin_vectorelements (PR #69589)

2023-10-19 Thread Nikita Popov via cfe-commits
https://github.com/nikic approved this pull request. https://github.com/llvm/llvm-project/pull/69589 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang-tools-extra] [ConstantRange] Handle `Intrinsic::cttz` (PR #67917)

2023-10-23 Thread Nikita Popov via cfe-commits
https://github.com/nikic commented: I think most of the comments from the ctpop review also apply to this one. https://github.com/llvm/llvm-project/pull/67917 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailma

[clang] [ConstantRange] Handle `Intrinsic::cttz` (PR #67917)

2023-10-23 Thread Nikita Popov via cfe-commits
https://github.com/nikic commented: I think most of the comments from the ctpop review also apply to this one. https://github.com/llvm/llvm-project/pull/67917 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailma

[clang] [InstCombine] Convert or concat to fshl if opposite or concat exists (PR #68502)

2023-10-24 Thread Nikita Popov via cfe-commits
nikic wrote: > See most recent comments about missing tests. That being said code looks > functionally correct to me. Still not 100% sure this is a desirable change. > Will defer to @nikic about that. I'm also skeptical about accepting this optimization. Looking at the motivating case in http

[clang] [InstCombine] Add combines/simplifications for `llvm.ptrmask` (PR #67166)

2023-10-25 Thread Nikita Popov via cfe-commits
@@ -6397,6 +6397,48 @@ static Value *simplifyBinaryIntrinsic(Function *F, Value *Op0, Value *Op1, return Constant::getNullValue(ReturnType); break; } + case Intrinsic::ptrmask: { +// Fail loudly in case this is ever changed. +// TODO: If vector types are s

[clang] [InstCombine] Add combines/simplifications for `llvm.ptrmask` (PR #67166)

2023-10-25 Thread Nikita Popov via cfe-commits
@@ -1973,6 +1978,28 @@ Instruction *InstCombinerImpl::visitCallInst(CallInst &CI) { *II, Builder.CreateIntrinsic(InnerPtr->getType(), Intrinsic::ptrmask, {InnerPtr, NewMask})); } +bool Changed = false; +// See if we

[clang] [InstCombine] Add combines/simplifications for `llvm.ptrmask` (PR #67166)

2023-10-25 Thread Nikita Popov via cfe-commits
@@ -143,7 +155,7 @@ Value *InstCombinerImpl::SimplifyDemandedUseBits(Value *V, APInt DemandedMask, return SimplifyMultipleUseDemandedBits(I, DemandedMask, Known, Depth, CxtI); KnownBits LHSKnown(BitWidth), RHSKnown(BitWidth); - + bool MaySimplifyAsConstant = true; ---

[clang] [InstCombine] Add combines/simplifications for `llvm.ptrmask` (PR #67166)

2023-10-25 Thread Nikita Popov via cfe-commits
@@ -984,7 +1041,7 @@ Value *InstCombinerImpl::SimplifyDemandedUseBits(Value *V, APInt DemandedMask, // If the client is only demanding bits that we know, return the known // constant. - if (DemandedMask.isSubsetOf(Known.Zero|Known.One)) + if (MaySimplifyAsConstant && De

[clang] [InstCombine] Fold xored one-complemented operand comparisons (PR #69882)

2023-10-25 Thread Nikita Popov via cfe-commits
nikic wrote: @elhewaty This is due to an incorrect rebase around the processUMulZExtIdiom() call. Can you please rebase another time over https://github.com/llvm/llvm-project/commit/ea99df2e84d5f1da7f04bfa9f13844c44e0f1f78, which should remove all the diffs unrelated to your change? https://g

[clang] Bfi precision (PR #66285)

2023-10-25 Thread Nikita Popov via cfe-commits
nikic wrote: It looks like this has made clang 0.7% slower (in the sense that the clang stage2 binary is optimized worse -- there is no negative impact on stage1). The binary is also 0.7% larger. It looks like this change has significant impact on inlining heuristics. Not really sure what to

[clang] Bfi precision (PR #66285)

2023-10-25 Thread Nikita Popov via cfe-commits
nikic wrote: This is a standard release build. The exact cmake config is https://gist.github.com/nikic/1bf97b5b6aade298b87f41cd13bf37d5 where the stage1 build has the same configuration but is built with gcc. I'm testing CTMark, but the impact is quite consistent across the board, so anything

[clang] [Clang][Driver] Add new flags to control machine instruction verification (PR #70282)

2023-10-26 Thread Nikita Popov via cfe-commits
nikic wrote: I'm not convinced that adding this flag makes sense, given that you can already use `-mllvm -verify-machineinstrs`. This is a developer option, and I don't think it should be exposed by the clang driver (and if you expose it in cc1 only, then `-Xclang -fverify-machine-code` is rea

[clang] 05d4c4e - [InstCombine] Canonicalize SPF_ABS to abs intrinc

2020-09-17 Thread Nikita Popov via cfe-commits
Author: Nikita Popov Date: 2020-09-17T22:28:34+02:00 New Revision: 05d4c4ebc2fb006b8a2bd05b24c6aba10dd2eef8 URL: https://github.com/llvm/llvm-project/commit/05d4c4ebc2fb006b8a2bd05b24c6aba10dd2eef8 DIFF: https://github.com/llvm/llvm-project/commit/05d4c4ebc2fb006b8a2bd05b24c6aba10dd2eef8.diff

[clang] 13e19d2 - Revert "[InstCombine] Canonicalize SPF_ABS to abs intrinc"

2020-09-18 Thread Nikita Popov via cfe-commits
Author: Nikita Popov Date: 2020-09-18T09:38:26+02:00 New Revision: 13e19d2e7cdc2a54bb85da702df47c8a04a6d857 URL: https://github.com/llvm/llvm-project/commit/13e19d2e7cdc2a54bb85da702df47c8a04a6d857 DIFF: https://github.com/llvm/llvm-project/commit/13e19d2e7cdc2a54bb85da702df47c8a04a6d857.diff

<    1   2   3   4   5   6   7   8   9   10   >