| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
This is required to use them in TableGen.
llvm-svn: 173924
|
|
|
|
|
|
|
| |
In the future, AttributeWithIndex won't be used anymore. Besides, it exposes the
internals of the AttributeSet to outside users, which isn't goodness.
llvm-svn: 173605
|
|
|
|
|
|
| |
the family-specific files.
llvm-svn: 173530
|
|
|
|
|
|
|
|
| |
never key functions. We did not implement that rule for the
iOS ABI, which was driven by what was implemented in gcc-4.2.
However, implement it now for other ARM-based platforms.
llvm-svn: 173515
|
|
|
|
| |
llvm-svn: 173514
|
|
|
|
|
|
|
|
|
| |
attributes.
Collections of attributes are handled via the AttributeSet class now. This
finally frees us up to make significant changes to how attributes are structured.
llvm-svn: 173229
|
|
|
|
|
|
| |
when adding a single attribute to the function.
llvm-svn: 173211
|
|
|
|
|
|
|
|
|
| |
Attribute.
This further restricts the use of the Attribute class to the Attribute family of
classes.
llvm-svn: 173099
|
|
|
|
|
|
|
|
|
| |
Attribute.
This is more code to isolate the use of the Attribute class to that of just
holding one attribute instead of a collection of attributes.
llvm-svn: 173095
|
|
|
|
| |
llvm-svn: 172849
|
|
|
|
| |
llvm-svn: 172808
|
|
|
|
|
|
| |
in the LangRef).
llvm-svn: 172692
|
|
|
|
|
|
| |
users can explicitly enable/disable modules autolinking.
llvm-svn: 172592
|
|
|
|
|
|
| |
Do proper casting to avoid a cast-away-const error.
llvm-svn: 172559
|
|
|
|
|
|
|
| |
module-import dependencies, so we'll get the link order correct for
those silly linkers that need it.
llvm-svn: 172459
|
|
|
|
|
|
| |
link options for the modules it imports.
llvm-svn: 172448
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
!0 = metadata !{metadata !"-lautolink"}
!1 = metadata !{metadata !"-framework", metadata !"autolink_framework"}
referenced from llvm.module.linkoptions, e.g.,
!llvm.module.linkoptions = !{!0, !1, !2, !3}
This conceptually moves the logic for figuring out the syntax the
linker will accept from LLVM into Clang. Moreover, it makes it easier
to support MSVC's
#pragma comment(linker, "some option")
in the future, should anyone care to do so.
llvm-svn: 172441
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
metadata for linking against the libraries/frameworks for imported
modules.
The module map language is extended with a new "link" directive that
specifies what library or framework to link against when a module is
imported, e.g.,
link "clangAST"
or
link framework "MyFramework"
Importing the corresponding module (or any of its submodules) will
eventually link against the named library/framework.
For now, I've added some placeholder global metadata that encodes the
imported libraries/frameworks, so that we can test that this
information gets through to the IR. The format of the data is still
under discussion.
llvm-svn: 172437
|
|
|
|
|
|
| |
brought into 'clang' namespace by clang/Basic/LLVM.h
llvm-svn: 172323
|
|
|
|
|
|
|
|
| |
reflect the migration in r171366.
Re-sort the #include lines to reflect the new paths.
llvm-svn: 171369
|
|
|
|
|
|
|
|
|
| |
directly.
This is in preparation for removing the use of the 'Attribute' class as a
collection of attributes. That will shift to the AttributeSet class instead.
llvm-svn: 171254
|
|
|
|
| |
llvm-svn: 170722
|
|
|
|
|
|
| |
which is wrong here.
llvm-svn: 170721
|
|
|
|
|
|
| |
single attribute in the future.
llvm-svn: 170500
|
|
|
|
|
|
|
|
|
|
|
|
| |
My variadics patch, r169588, changed these calls to typically be
bitcasts rather than calls to a supposedly variadic function.
This totally subverted a hack where we intentionally dropped
excess arguments from such calls in order to appease the inliner
and a "warning" from the optimizer. This patch extends the hack
to also work with bitcasts, as well as teaching it to rewrite
invokes.
llvm-svn: 170034
|
|
|
|
|
|
| |
in the near future.
llvm-svn: 169652
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
uncovered.
This required manually correcting all of the incorrect main-module
headers I could find, and running the new llvm/utils/sort_includes.py
script over the files.
I also manually added quite a few missing headers that were uncovered by
shuffling the order or moving headers up to be main-module-headers.
llvm-svn: 169237
|
|
|
|
|
|
| |
mode.
llvm-svn: 169138
|
|
|
|
| |
llvm-svn: 168355
|
|
|
|
|
|
| |
*Sanitizer to Sanitize* in preparation for later patches.
llvm-svn: 167405
|
|
|
|
| |
llvm-svn: 167266
|
|
|
|
| |
llvm-svn: 166957
|
|
|
|
| |
llvm-svn: 166946
|
|
|
|
| |
llvm-svn: 166823
|
|
|
|
|
|
|
|
|
| |
extern "C", its method definitions must be IRGen'ed
before meta-data for class is generated. Otherwise,
IRGen crashes (to say the least).
// rdar://12581683
llvm-svn: 166809
|
|
|
|
| |
llvm-svn: 166561
|
|
|
|
| |
llvm-svn: 166497
|
|
|
|
|
|
|
|
|
| |
has ivars that require destruction, but none that require anything
except zero-initialization. This is common in ARC and (when true
throughout a class hierarchy) permits the elimination of an
unnecessary message-send during allocation.
llvm-svn: 166088
|
|
|
|
| |
llvm-svn: 166080
|
|
|
|
|
|
|
|
| |
don't try the normal GetOrCreateLLVM. The latter could drop the weak
atrtibute on the second reference, if there is no explicit declaration
of the aliasee.
llvm-svn: 166032
|
|
|
|
| |
llvm-svn: 165925
|
|
|
|
|
|
|
|
| |
Convert the uses of the Attributes class over to the new format. The
Attributes::get method call now takes an LLVM context so that the attributes
object can be uniquified and stored.
llvm-svn: 165918
|
|
|
|
| |
llvm-svn: 165900
|
|
|
|
| |
llvm-svn: 165885
|
|
|
|
| |
llvm-svn: 165710
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This more accurately reflects its use: this flag is set when a method
matches the getter or setter name for a property in the same class,
and does not actually specify whether or not the definition of the method
will be synthesized (either implicitly or explicitly with @synthesize).
This renames the setter and backing field as well, and changes the
(soon-to-be-obsolete?) XML dump format to use 'property_accessor'
instead of 'synthesized'.
llvm-svn: 165626
|
|
|
|
|
|
| |
attribute object and add it appropriately. No functionality change.
llvm-svn: 165596
|
|
|
|
|
|
| |
opaque layer is responsible for knowing where that specific attribute is stored.
llvm-svn: 165489
|
|
|
|
| |
llvm-svn: 165395
|
|
|
|
| |
llvm-svn: 165343
|