pcc marked an inline comment as done.
pcc added a comment.
https://reviews.llvm.org/D21545
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Author: pcc
Date: Thu Jul 14 19:55:40 2016
New Revision: 275507
URL: http://llvm.org/viewvc/llvm-project?rev=275507&view=rev
Log:
Frontend: Simplify ownership model for clang's output streams.
This changes the CompilerInstance::createOutputFile function to return
a std::unique_ptr, rather than an
This revision was automatically updated to reflect the committed changes.
Closed by commit rL275507: Frontend: Simplify ownership model for clang's
output streams. (authored by pcc).
Changed prior to commit:
https://reviews.llvm.org/D21537?vs=61317&id=64071#toc
Repository:
rL LLVM
https://r
pcc added inline comments.
Comment at: include/clang/Basic/Attr.td:1543
@@ +1542,3 @@
+ let Subjects = SubjectList<[Record]>;
+ let Documentation = [Undocumented];
+}
aaron.ballman wrote:
> No new undocumented attributes, please. Same below.
Yes, sorry, forgot t
pcc accepted this revision.
pcc added a comment.
This revision is now accepted and ready to land.
LGTM
Comment at: lib/CodeGen/CGExpr.cpp:2484-2485
@@ -2483,3 +2483,4 @@
CheckRecoverableKind RecoverKind = getRecoverableKind(Checked[0].second);
// In cross-DSO CFI mode this
pcc created this revision.
pcc added reviewers: rsmith, rjmccall.
pcc added a subscriber: cfe-commits.
User programs shouldn't be able to observe their addresses without invoking
undefined behavior. This will be needed to create relative references
to runtime functions __cxa_pure_virtual and __cxa
pcc added subscribers: majnemer, rnk.
pcc added a comment.
Done (this also affects `_purecall` in the MS ABI; I don't think this change
should break anything there, but someone working on that might want to
comment). Since this patch is now specific to virtual tables anyway, I've
incorporated a
pcc updated this revision to Diff 50500.
pcc added a comment.
Restrict to functions referenced in virtual tables
http://reviews.llvm.org/D18071
Files:
lib/CodeGen/CGVTables.cpp
lib/CodeGen/CodeGenModule.cpp
test/CodeGenCXX/virtual-function-attrs.cpp
test/CodeGenCXX/vtt-layout.cpp
Index
pcc created this revision.
pcc added reviewers: rsmith, rjmccall.
pcc added a subscriber: cfe-commits.
The relative vtable ABI will use a struct rather than an array as the type
of a vtable. LLVM only allows 32-bit integers as struct indices, so we need
to use 32-bit integers to get addresses of a
This revision was automatically updated to reflect the committed changes.
Closed by commit rL263464: CodeGen: Mark functions used in vtables as
unnamed_addr. (authored by pcc).
Changed prior to commit:
http://reviews.llvm.org/D18071?vs=50500&id=50622#toc
Repository:
rL LLVM
http://reviews.l
Author: pcc
Date: Mon Mar 14 13:41:59 2016
New Revision: 263464
URL: http://llvm.org/viewvc/llvm-project?rev=263464&view=rev
Log:
CodeGen: Mark functions used in vtables as unnamed_addr.
This marks virtual function declarations, as well as runtime library functions
__cxa_pure_virtual, __cxa_delet
Author: pcc
Date: Mon Mar 14 14:07:10 2016
New Revision: 263469
URL: http://llvm.org/viewvc/llvm-project?rev=263469&view=rev
Log:
CodeGen: Use 32-bit gep offsets to address vtable address points.
The relative vtable ABI will use a struct rather than an array as the type
of a vtable. LLVM only all
This revision was automatically updated to reflect the committed changes.
Closed by commit rL263469: CodeGen: Use 32-bit gep offsets to address vtable
address points. (authored by pcc).
Changed prior to commit:
http://reviews.llvm.org/D18113?vs=50506&id=50626#toc
Repository:
rL LLVM
http://
Author: pcc
Date: Mon Mar 14 15:13:59 2016
New Revision: 263477
URL: http://llvm.org/viewvc/llvm-project?rev=263477&view=rev
Log:
Relax test introduced in r263464 to accept ARM ABI output.
Should fix ARM bots.
Modified:
cfe/trunk/test/CodeGenCXX/virtual-function-attrs.cpp
Modified: cfe/trun
Yes, and r263477 was the fix.
Peter
On Mar 14, 2016 13:59, "Renato Golin" wrote:
> On 14 March 2016 at 18:42, Peter Collingbourne via cfe-commits
> wrote:
> > Author: pcc
> > Date: Mon Mar 14 13:41:59 2016
> > New Revision: 263464
> >
> > URL:
pcc updated this revision to Diff 50667.
pcc marked 3 inline comments as done.
pcc added a comment.
- Address review comments
http://reviews.llvm.org/D17893
Files:
include/clang/AST/DeclCXX.h
include/clang/Basic/Attr.td
include/clang/Basic/AttrDocs.td
include/clang/Basic/DiagnosticSemaK
pcc added a comment.
> Missing some attribute-related tests like attaching the attribute to
> something other than a record, or passing arguments to the attribute.
Added.
Comment at: include/clang/Basic/DiagnosticSemaKinds.td:8345
@@ +8344,3 @@
+def note_add_unstable_abi_attr
pcc updated this revision to Diff 50668.
pcc added a comment.
- Add a test for passing arguments to the attribute
http://reviews.llvm.org/D17893
Files:
include/clang/AST/DeclCXX.h
include/clang/Basic/Attr.td
include/clang/Basic/AttrDocs.td
include/clang/Basic/DiagnosticSemaKinds.td
in
pcc created this revision.
pcc added reviewers: rjmccall, rsmith, rafael, joker.eph, majnemer, rnk.
pcc added a subscriber: cfe-commits.
Also add documentation for the new feature.
The new IR scheme for virtual calls
(http://lists.llvm.org/pipermail/llvm-dev/2016-February/096146.html) will
be imp
pcc added inline comments.
Comment at: lib/CodeGen/ItaniumCXXABI.cpp:1627
@@ +1626,3 @@
+
+llvm::Value *CodeGenFunction::GetVirtualFunctionFromVTable(const CXXRecordDecl
*RD,
+ llvm::Value *VTable,
rnk wro
pcc updated this revision to Diff 50998.
pcc added a comment.
- Update test to match committed debug info change
http://reviews.llvm.org/D18199
Files:
docs/UsersManual.rst
lib/CodeGen/CGDebugInfo.cpp
lib/CodeGen/CGVTables.cpp
lib/CodeGen/CGVTables.h
lib/CodeGen/CodeGenFunction.h
lib
pcc added a comment.
There's a correctness issue with this change that I'll need to resolve before
this goes in; see http://lists.llvm.org/pipermail/cfe-dev/2016-March/048025.html
http://reviews.llvm.org/D18199
___
cfe-commits mailing list
cfe-comm
pcc added inline comments.
Comment at: lib/Sema/SemaDeclCXX.cpp:4935-4943
@@ +4934,11 @@
+
+ bool HasStableAttr = Record->hasAttr();
+ bool HasUnstableAttr = Record->hasAttr();
+ if (HasStableAttr && HasUnstableAttr) {
+Diag(Record->getLocation(), diag::err_abi_mismatch) <<
pcc updated this revision to Diff 50905.
pcc added a comment.
- Do not set virtual index in debug info for relative-ABI virtual functions
http://reviews.llvm.org/D18199
Files:
docs/UsersManual.rst
lib/CodeGen/CGDebugInfo.cpp
lib/CodeGen/CGVTables.cpp
lib/CodeGen/CGVTables.h
lib/CodeGe
pcc added inline comments.
Comment at: include/clang/Basic/DiagnosticSemaKinds.td:8380
@@ +8379,3 @@
+def warn_unused_abi_stability_attr : Warning<
+ "unused C++ ABI stability attribute on non-dynamic class">,
+ InGroup>;
rsmith wrote:
> How valuable is it to wa
pcc added inline comments.
Comment at: lib/Sema/SemaDeclCXX.cpp:4935-4943
@@ +4934,11 @@
+
+ bool HasStableAttr = Record->hasAttr();
+ bool HasUnstableAttr = Record->hasAttr();
+ if (HasStableAttr && HasUnstableAttr) {
+Diag(Record->getLocation(), diag::err_abi_mismatch) <<
pcc added inline comments.
Comment at: lib/CodeGen/CGDebugInfo.cpp:1153
@@ -1152,3 +1152,3 @@
unsigned Virtuality = 0;
- unsigned VIndex = 0;
+ unsigned VIndex = -1u;
rsmith wrote:
> Is this what debug info consumers expect for the non-virtual case?
The deb
pcc added inline comments.
Comment at: lib/Sema/SemaDeclCXX.cpp:4999
@@ +4998,3 @@
+return;
+ }
+
joker.eph wrote:
> joker.eph wrote:
> > Isn't this correct by the loop which starts with `DC = InnermostExternalDC`?
> `s/correct/already covered/`
That loop che
pcc updated this revision to Diff 51061.
pcc added a comment.
- Use a vindex of 0 for non-virtuals
http://reviews.llvm.org/D18199
Files:
docs/UsersManual.rst
lib/CodeGen/CGDebugInfo.cpp
lib/CodeGen/CGVTables.cpp
lib/CodeGen/CGVTables.h
lib/CodeGen/CodeGenFunction.h
lib/CodeGen/Itani
pcc updated this revision to Diff 51324.
pcc added a comment.
- Use llvm.load.relative (http://reviews.llvm.org/D18367)
http://reviews.llvm.org/D18199
Files:
docs/UsersManual.rst
lib/CodeGen/CGClass.cpp
lib/CodeGen/CGDebugInfo.cpp
lib/CodeGen/CGVTables.cpp
lib/CodeGen/CGVTables.h
li
pcc updated this revision to Diff 51580.
pcc added a comment.
- Compute a correct byte offset for struct vtable bitsets
http://reviews.llvm.org/D18199
Files:
docs/UsersManual.rst
lib/CodeGen/CGClass.cpp
lib/CodeGen/CGDebugInfo.cpp
lib/CodeGen/CGVTables.cpp
lib/CodeGen/CGVTables.h
li
pcc created this revision.
pcc added a reviewer: rsmith.
pcc added a subscriber: cfe-commits.
http://reviews.llvm.org/D15985
Files:
lib/AST/ExprConstant.cpp
test/CodeGenCXX/global-init.cpp
Index: test/CodeGenCXX/global-init.cpp
pcc added inline comments.
Comment at: lib/CodeGen/CGExpr.cpp:2620
@@ +2619,3 @@
+ Builder.CreateICmpEQ(Data, llvm::ConstantPointerNull::get(Int8PtrTy));
+ Builder.CreateCondBr(DataIsNullPtr, TrapBB, ContBB);
+
This looks like `CodeGenFunction::EmitTrapCheck
Author: pcc
Date: Wed Jan 13 20:49:48 2016
New Revision: 257738
URL: http://llvm.org/viewvc/llvm-project?rev=257738&view=rev
Log:
CodeGen: Only emit CFI unrelated cast checks for bit casts.
We were previously emitting them for no-op casts (e.g. implicit casts
to const).
Modified:
cfe/trunk/l
Author: pcc
Date: Wed Jan 13 20:49:51 2016
New Revision: 257739
URL: http://llvm.org/viewvc/llvm-project?rev=257739&view=rev
Log:
Driver: Remove SanitizerArgs::clear() function and SanitizerSet ctor,
replace with in-class initializers.
Modified:
cfe/trunk/include/clang/Basic/Sanitizers.h
pcc created this revision.
pcc added reviewers: kcc, eugenis.
pcc added a subscriber: cfe-commits.
This is part of a new statistics gathering feature for the sanitizers.
See clang/docs/SanitizerStats.rst for further info and docs.
http://reviews.llvm.org/D16175
Files:
docs/SanitizerStats.rst
pcc updated this revision to Diff 44936.
pcc added a comment.
- Switch to an alternative in-memory representation that avoids the need for
linker magic
http://reviews.llvm.org/D16175
Files:
docs/SanitizerStats.rst
docs/UsersManual.rst
docs/index.rst
include/clang/AST/ASTConsumer.h
in
pcc updated this revision to Diff 44945.
pcc marked an inline comment as done.
pcc added a comment.
- Add note about win32 function name mangling
- Stop using -whole-archive to link the stats runtime
http://reviews.llvm.org/D16175
Files:
docs/SanitizerStats.rst
docs/UsersManual.rst
docs/i
Author: pcc
Date: Fri Jan 15 18:31:22 2016
New Revision: 257971
URL: http://llvm.org/viewvc/llvm-project?rev=257971&view=rev
Log:
Introduce -fsanitize-stats flag.
This is part of a new statistics gathering feature for the sanitizers.
See clang/docs/SanitizerStats.rst for further info and docs.
D
This revision was automatically updated to reflect the committed changes.
Closed by commit rL257971: Introduce -fsanitize-stats flag. (authored by pcc).
Changed prior to commit:
http://reviews.llvm.org/D16175?vs=44945&id=45056#toc
Repository:
rL LLVM
http://reviews.llvm.org/D16175
Files:
pcc accepted this revision.
pcc added a comment.
This revision is now accepted and ready to land.
LGTM
Repository:
rL LLVM
http://reviews.llvm.org/D16496
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailma
pcc accepted this revision.
pcc added a comment.
This revision is now accepted and ready to land.
LGTM
Comment at: test/CodeGen/cfi-check-fail.c:17
@@ +16,3 @@
+
+// CHECK: [[TRAP]]:
+// CHECK-NEXT: call void @llvm.trap()
Does this match in a -asserts build?
Author: pcc
Date: Fri Nov 20 14:49:39 2015
New Revision: 253707
URL: http://llvm.org/viewvc/llvm-project?rev=253707&view=rev
Log:
Driver: Defer computation of linker path until it is needed.
This allows us to construct Linux toolchains without a valid linker. This
is needed for example to build a
Author: pcc
Date: Tue Dec 1 15:58:54 2015
New Revision: 254464
URL: http://llvm.org/viewvc/llvm-project?rev=254464&view=rev
Log:
docs: Add design documentation for forward-edge CFI for indirect calls.
Modified:
cfe/trunk/docs/ControlFlowIntegrityDesign.rst
Modified: cfe/trunk/docs/ControlFl
pcc added inline comments.
Comment at: docs/ControlFlowIntegrity.rst:23
@@ -22,6 +22,3 @@
To enable Clang's available CFI schemes, use the flag ``-fsanitize=cfi``.
-As currently implemented, all of Clang's CFI schemes (``cfi-vcall``,
-``cfi-derived-cast``, ``cfi-unrelated-cast``,
pcc accepted this revision.
pcc added a comment.
This revision is now accepted and ready to land.
LGTM
http://reviews.llvm.org/D15237
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
pcc added inline comments.
Comment at: lib/CodeGen/CGExpr.cpp:2558
@@ +2557,3 @@
+ false));
+ llvm::MDString *MDS = dyn_cast(MD);
+ llvm::Constant *TypeId =
What happens if `MD` is not an `MDString`?
Comment at: lib/CodeGen/CodeGenModu
Author: pcc
Date: Fri Dec 11 17:54:18 2015
New Revision: 255393
URL: http://llvm.org/viewvc/llvm-project?rev=255393&view=rev
Log:
docs: Document -fno-sanitize-trap= and -fsanitize-recover= flags for CFI.
Modified:
cfe/trunk/docs/ControlFlowIntegrity.rst
Modified: cfe/trunk/docs/ControlFlowIn
pcc added inline comments.
Comment at: lib/CodeGen/CGClass.cpp:2564
@@ -2563,16 +2563,3 @@
- SanitizerMask M;
- switch (TCK) {
- case CFITCK_VCall:
-M = SanitizerKind::CFIVCall;
-break;
- case CFITCK_NVCall:
-M = SanitizerKind::CFINVCall;
-break;
- case CFIT
pcc added a comment.
Please add documentation. At the very least please document flags in
`docs/ControlFlowIntegrity.rst` and `docs/UsersManual.rst`. We should also
document the design in `docs/ControlFlowIntegrityDesign.rst`.
Comment at: lib/CodeGen/CGExpr.cpp:3868
@@ +3867,3
pcc accepted this revision.
pcc added a comment.
This revision is now accepted and ready to land.
LGTM modulo some wordsmithing in the documentation.
Comment at: docs/ControlFlowIntegrity.rst:31
@@ +30,3 @@
+enabled, and are statically linked into the program. This may preclude
pcc added a comment.
LGTM
Comment at: docs/ControlFlowIntegrityDesign.rst:389
@@ +388,3 @@
+ - Calls between different instrumented DSOs are also protected, with
+ performance penalty (in addition to the monolithic CFI overhead).
+ - Calls from an instrumented DSO to an un
https://github.com/pcc approved this pull request.
> > Should we add AsmPrinter tests to replace the ones we're removing from
> > Clang?
>
> We have memtag-globals-asm.cpp
I see, that's fine then.
https://github.com/llvm/llvm-project/pull/135891
___
pcc wrote:
Should we add AsmPrinter tests to replace the ones we're removing from Clang?
https://github.com/llvm/llvm-project/pull/135891
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commit
https://github.com/pcc updated https://github.com/llvm/llvm-project/pull/135832
>From 6d04789998482be11d15e8969c54df0375987a60 Mon Sep 17 00:00:00 2001
From: Peter Collingbourne
Date: Tue, 15 Apr 2025 11:27:48 -0700
Subject: [PATCH 1/2] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20in?=
=?
https://github.com/pcc commented:
Will leave this for a bit in case @efriedma-quic has any comments
https://github.com/llvm/llvm-project/pull/135832
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo
@@ -2301,11 +2301,31 @@ are listed below.
When enabled, allows the compiler to assume that each object file
passed to the linker has been compiled using a unique source file
- name. This is useful for reducing link times when doing ThinLTO
+ path. This is useful for
https://github.com/pcc edited https://github.com/llvm/llvm-project/pull/135832
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/pcc closed https://github.com/llvm/llvm-project/pull/135832
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
pcc wrote:
https://github.com/llvm/llvm-project/pull/135832
https://github.com/llvm/llvm-project/pull/135728
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/pcc created https://github.com/llvm/llvm-project/pull/135832
None
>From 6d04789998482be11d15e8969c54df0375987a60 Mon Sep 17 00:00:00 2001
From: Peter Collingbourne
Date: Tue, 15 Apr 2025 11:27:48 -0700
Subject: [PATCH] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20initia
https://github.com/pcc updated https://github.com/llvm/llvm-project/pull/135728
>From 4ddc4d6fcd938b66cce586c18a9e165c6d065121 Mon Sep 17 00:00:00 2001
From: Peter Collingbourne
Date: Mon, 14 Apr 2025 19:04:00 -0700
Subject: [PATCH 1/2] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20in?=
=?
pcc wrote:
> Could that be addressed by only allowing this flag under LTO?
`-fsanitize=address -flto=thin` would have the same issue (if there is indeed
an issue, which I think there probably isn't).
> Probably at least add a note to the new documentation for the option that it
> will result
https://github.com/pcc closed https://github.com/llvm/llvm-project/pull/135728
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
pcc wrote:
> Is the "name" in this context the whole path? Or just the filename? I know
> many projects have files with the same name in different folders (including
> LLVM itsef).
It is the whole path. Let me clarify this in the documentation.
https://github.com/llvm/llvm-project/pull/135728
Author: Peter Collingbourne
Date: 2025-04-14T19:50:37-07:00
New Revision: 984ec70b61cb57b00e622a21b259aaf11775c5f0
URL:
https://github.com/llvm/llvm-project/commit/984ec70b61cb57b00e622a21b259aaf11775c5f0
DIFF:
https://github.com/llvm/llvm-project/commit/984ec70b61cb57b00e622a21b259aaf11775c5f0
@@ -345,27 +345,25 @@ void llvm::filterDeadComdatFunctions(
std::string llvm::getUniqueModuleId(Module *M) {
MD5 Md5;
- bool ExportsSymbols = false;
- auto AddGlobal = [&](GlobalValue &GV) {
-if (GV.isDeclaration() || GV.getName().starts_with("llvm.") ||
-!GV.h
https://github.com/pcc edited https://github.com/llvm/llvm-project/pull/135875
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/pcc closed https://github.com/llvm/llvm-project/pull/135875
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/pcc approved this pull request.
LGTM
https://github.com/llvm/llvm-project/pull/121957
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
301 - 370 of 370 matches
Mail list logo