This revision was automatically updated to reflect the committed changes.
Closed by commit rL265917: [GCC] Attribute ifunc support in clang (authored by
dpolukhin).
Changed prior to commit:
http://reviews.llvm.org/D15524?vs=52906&id=53200#toc
Repository:
rL LLVM
http://reviews.llvm.org/D155
DmitryPolukhin added a comment.
Sorry, I was out for couple days.
It seems that there are no real objections so I'm committing this patch and I'm
going to keep working on this topic to support target attribute with dynamic
dispatching on x86 so if you think that something is missing, please let
echristo added inline comments.
Comment at: include/clang/Basic/AttrDocs.td:2371
@@ +2370,3 @@
+
+Not all targets support this attribute. ELF targets support this attribute
when using binutils v2.20.1 or higher and glibc v2.11.1 or higher. Non-ELF
targets currently do not supp
probinson added inline comments.
Comment at: include/clang/Basic/AttrDocs.td:2371
@@ +2370,3 @@
+
+Not all targets support this attribute. ELF targets support this attribute
when using binutils v2.20.1 or higher and glibc v2.11.1 or higher. Non-ELF
targets currently do not sup
echristo added inline comments.
Comment at: include/clang/Basic/AttrDocs.td:2371
@@ +2370,3 @@
+
+Not all targets support this attribute. ELF targets support this attribute
when using binutils v2.20.1 or higher and glibc v2.11.1 or higher. Non-ELF
targets currently do not supp
On Fri, Apr 8, 2016, 10:45 AM Paul Robinson <
paul_robin...@playstation.sony.com> wrote:
> probinson added inline comments.
>
>
> Comment at: include/clang/Basic/AttrDocs.td:2371
> @@ +2370,3 @@
> +
> +Not all targets support this attribute. ELF targets support this
> attribute w
probinson added inline comments.
Comment at: include/clang/Basic/AttrDocs.td:2371
@@ +2370,3 @@
+
+Not all targets support this attribute. ELF targets support this attribute
when using binutils v2.20.1 or higher and glibc v2.11.1 or higher. Non-ELF
targets currently do not sup
joerg added a subscriber: joerg.
Comment at: include/clang/Basic/AttrDocs.td:2066
@@ -2065,3 +2065,3 @@
let Content = [{
Clang supports the GNU style ``__attribute__((interrupt))`` attribute on
x86/x86-64 targets.The compiler generates function entry and exit sequences
--
probinson added a subscriber: probinson.
Comment at: include/clang/Basic/AttrDocs.td:2371
@@ +2370,3 @@
+
+Not all targets support this attribute. ELF targets support this attribute
when using binutils v2.20.1 or higher and glibc v2.11.1 or higher. Non-ELF
targets currently do
echristo added inline comments.
Comment at: include/clang/Basic/AttrDocs.td:2371
@@ +2370,3 @@
+
+Not all targets support this attribute. ELF targets support this attribute
when using binutils v2.20.1 or higher and glibc v2.11.1 or higher. Non-ELF
targets currently do not supp
rjmccall added inline comments.
Comment at: include/clang/Basic/AttrDocs.td:2371
@@ +2370,3 @@
+
+Not all targets support this attribute. ELF targets support this attribute
when using binutils v2.20.1 or higher and glibc v2.11.1 or higher. Non-ELF
targets currently do not supp
echristo accepted this revision.
echristo added a comment.
This all seems reasonable to me, one inline rewording comment, and check with
rjmccall before committing.
Thanks!
Comment at: include/clang/Basic/AttrDocs.td:2371
@@ +2370,3 @@
+
+Not all targets support this attribute
DmitryPolukhin updated this revision to Diff 52906.
DmitryPolukhin added a comment.
- rebase after committing llvm patch
http://reviews.llvm.org/D15524
Files:
include/clang/AST/DeclBase.h
include/clang/Basic/Attr.td
include/clang/Basic/AttrDocs.td
include/clang/Basic/DiagnosticSemaKinds
DmitryPolukhin added a comment.
Thank you for the review!
I'm waiting for llvm part of ifunc support because it has to be committed first.
http://reviews.llvm.org/D15524
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/
aaron.ballman accepted this revision.
aaron.ballman added a comment.
This revision is now accepted and ready to land.
LGTM, thank you!
http://reviews.llvm.org/D15524
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-b
DmitryPolukhin updated this revision to Diff 43775.
DmitryPolukhin marked 8 inline comments as done.
DmitryPolukhin added a comment.
Fixed comments.
http://reviews.llvm.org/D15524
Files:
include/clang/AST/DeclBase.h
include/clang/Basic/Attr.td
include/clang/Basic/AttrDocs.td
include/cla
aaron.ballman added inline comments.
Comment at: include/clang/AST/DeclBase.h:563
@@ +562,3 @@
+ /// \brief Return true if this declaration is a definition of alias or ifunc.
+ bool hasDefiningAttr() const;
+
rjmccall wrote:
> aaron.ballman wrote:
> > I think th
rjmccall added inline comments.
Comment at: include/clang/AST/DeclBase.h:563
@@ +562,3 @@
+ /// \brief Return true if this declaration is a definition of alias or ifunc.
+ bool hasDefiningAttr() const;
+
aaron.ballman wrote:
> I think this function and getDefini
aaron.ballman added inline comments.
Comment at: include/clang/AST/DeclBase.h:563
@@ +562,3 @@
+ /// \brief Return true if this declaration is a definition of alias or ifunc.
+ bool hasDefiningAttr() const;
+
I think this function and getDefiningAttr() can be de
rjmccall added a comment.
This looks great, thanks. A few minor comment tweaks and this will be ready to
commit.
Comment at: include/clang/AST/DeclBase.h:562
@@ -561,1 +561,3 @@
+ /// \brief Return true if this declaration is a definition of alias or ifunc.
+ bool hasDefin
DmitryPolukhin updated this revision to Diff 43721.
DmitryPolukhin marked 17 inline comments as done.
DmitryPolukhin added a comment.
Comments resolved + this patch uses new GlobalIFunc representation in llvm.
http://reviews.llvm.org/D15524
Files:
include/clang/AST/DeclBase.h
include/clang/
DmitryPolukhin added inline comments.
Comment at: lib/CodeGen/CodeGenModule.cpp:2700
@@ -2685,3 +2699,3 @@
return;
Aliases.push_back(GD);
rjmccall wrote:
> Please diagnose that the resolver function has the appropriate type here.
> Given the constraint
echristo added inline comments.
Comment at: lib/CodeGen/CodeGenModule.cpp:2758
@@ +2757,3 @@
+GA->setIFunc(true);
+GA->setLinkage(llvm::GlobalValue::LinkOnceAnyLinkage);
+ }
rjmccall wrote:
> DmitryPolukhin wrote:
> > rjmccall wrote:
> > > Can you explain
rjmccall added inline comments.
Comment at: include/clang/Basic/AttrDocs.td:1866
@@ +1865,3 @@
+ let Content = [{
+The attribute ``__attribute__((ifunc("resolver")))`` is used to mark a
function as an indirect function using the STT_GNU_IFUNC symbol type extension
to the ELF st
DmitryPolukhin added a comment.
John, I'm still working on new patch but meanwhile I would like to clarify few
things in your comments.
Comment at: include/clang/Basic/AttrDocs.td:1866
@@ +1865,3 @@
+ let Content = [{
+The attribute ``__attribute__((ifunc("resolver")))`` is us
rjmccall added inline comments.
Comment at: include/clang/Basic/AttrDocs.td:1866
@@ +1865,3 @@
+ let Content = [{
+The attribute ``__attribute__((ifunc("resolver")))`` is used to mark a
function as an indirect function using the STT_GNU_IFUNC symbol type extension
to the ELF st
aaron.ballman added a comment.
Attribute implementation LGTM, but I do not know the semantics of ifunc well
enough to comment on whether this implementation is correct or not. From what I
can tell of GCC's documentation, it looks reasonable, but it would be good for
Eric or John to take a look
27 matches
Mail list logo