| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 160102
|
| |
|
|
|
|
|
|
| |
flag as noted in the OpenCL Spec.
Includes a test case.
llvm-svn: 160092
|
| |
|
|
| |
llvm-svn: 160049
|
| |
|
|
|
|
|
|
|
|
| |
there's something going on there. Remove the unconditional line entry
and only add one if we're emitting cleanups (any other statements
would be handled normally).
Fixes rdar://9199234
llvm-svn: 160033
|
| |
|
|
| |
llvm-svn: 159965
|
| |
|
|
| |
llvm-svn: 159961
|
| |
|
|
|
|
|
|
| |
in the ABI arrangement, and leave a hook behind so that we can easily
tweak CCs on platforms that use different CCs by default for C++
instance methods.
llvm-svn: 159894
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This flag sets the 'fp-contract' mode, which controls the formation of fused
floating point operations. Available modes are:
- Fast: Form fused operations anywhere.
- On: Form fused operations where allowed by FP_CONTRACT. This is the default
mode.
- Off: Don't form fused operations (in future this may be relaxed to forming
fused operations where it can be proved that the result won't be
affected).
Currently clang doesn't support the FP_CONTRACT pragma, so the 'On' and 'Off'
modes are equivalent.
llvm-svn: 159794
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
very simple semantic analysis that just builds the AST; minor changes for lexer
to pick up source locations I didn't think about before.
Comments AST is modelled along the ideas of HTML AST: block and inline content.
* Block content is a paragraph or a command that has a paragraph as an argument
or verbatim command.
* Inline content is placed within some block. Inline content includes plain
text, inline commands and HTML as tag soup.
llvm-svn: 159790
|
| |
|
|
|
|
|
|
| |
instead.
No functionality change.
llvm-svn: 159719
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This required moving the ctors for IntegerLiteral and FloatingLiteral out of
line which shouldn't change anything as they are usually called through Create
methods that are already out of line.
ASTContext::Deallocate has been a nop for a long time, drop it from ASTVector
and make it independent from ASTContext.h
Pass the StorageAllocator directly to AccessedEntity so it doesn't need to
have a definition of ASTContext around.
llvm-svn: 159718
|
| |
|
|
|
|
| |
runtime to gnustep from gnu. Fix EH for the GCC runtime.
llvm-svn: 159684
|
| |
|
|
|
|
|
|
|
|
|
| |
values:
- Return integer vectors in integer registers.
- Pass vector arguments in integer registers.
- Set an upper bound for argument alignment. The largest alignment is 8-byte
for O32 and 16-byte for N32/64.
llvm-svn: 159676
|
| |
|
|
| |
llvm-svn: 159635
|
| |
|
|
| |
llvm-svn: 159634
|
| |
|
|
|
|
|
|
|
|
|
|
| |
if we want to ignore a result, the Dest will be null. Otherwise,
we must copy into it. This means we need to ensure a slot when
loading from a volatile l-value.
With all that in place, fix a bug with chained assignments into
__block variables of aggregate type where we were losing insight into
the actual source of the value during the second assignment.
llvm-svn: 159630
|
| |
|
|
|
|
| |
CodeGen, make sure we examine all the redeclarations. PR13252.
llvm-svn: 159586
|
| |
|
|
| |
llvm-svn: 159422
|
| |
|
|
| |
llvm-svn: 159415
|
| |
|
|
| |
llvm-svn: 159405
|
| |
|
|
|
|
|
|
| |
The tablegen'd code does the same thing without this egregious duplication.
In my limited testing everything seems to work, however there can be
differences if the clang and llvm builtin definitions don't match.
llvm-svn: 159371
|
| |
|
|
|
|
|
|
| |
handwritten emitter.
The generated code uncovered an invalid prototype for __builtin_mips_shilo, fix it along the way.
llvm-svn: 159368
|
| |
|
|
|
|
| |
This patch was reviewed in the llvm-commits list by Jim Grosbach.
llvm-svn: 159366
|
| |
|
|
| |
llvm-svn: 159360
|
| |
|
|
|
|
| |
for tracking this.
llvm-svn: 159351
|
| |
|
|
|
|
|
|
|
| |
handy. It can be done, but we would have to build a derived-to-base cast
during codegen to compute the correct this pointer.
I will handle covariant returns next.
llvm-svn: 159350
|
| |
|
|
|
|
| |
This allows for setting the default TLS model. (PR9788)
llvm-svn: 159336
|
| |
|
|
|
|
|
|
| |
the correct this pointer. There is some potential for sharing a bit more
code with canDevirtualizeMemberFunctionCalls, but that can be done in an
independent patch.
llvm-svn: 159326
|
| |
|
|
| |
llvm-svn: 159321
|
| |
|
|
| |
llvm-svn: 159315
|
| |
|
|
| |
llvm-svn: 159295
|
| |
|
|
|
|
| |
being updated. Will fix that in a second.
llvm-svn: 159280
|
| |
|
|
|
|
|
| |
the member expression is qualified, call the method specified in the code,
not the most derived one we can find.
llvm-svn: 159219
|
| |
|
|
|
|
|
|
| |
to see if we had an underlying final class or method, but we would then
use the cast type to do the call, resulting in a direct call to the wrong
method.
llvm-svn: 159212
|
| |
|
|
|
|
|
|
|
|
|
|
| |
literal helper functions. All helper functions (global
and locals) use block_invoke as their prefix. Local literal
helper names are prefixed by their enclosing mangled function
names. Blocks in non-local initializers (e.g. a global variable
or a C++11 field) are prefixed by their mangled variable name.
The descriminator number added to end of the name starts off
with blank (for first block) and _<N> (for the N+2-th block).
llvm-svn: 159206
|
| |
|
|
| |
llvm-svn: 159191
|
| |
|
|
|
|
| |
Revert r136662 which disables ARM byval.
llvm-svn: 159168
|
| |
|
|
| |
llvm-svn: 159091
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds support for the tls_model attribute. This allows the user to
choose a TLS model that is better than what LLVM would select by
default. For example, a variable might be declared as:
__thread int x __attribute__((tls_model("initial-exec")));
if it will not be used in a shared library that is dlopen'ed.
This depends on LLVM r159077.
llvm-svn: 159078
|
| |
|
|
|
|
|
|
|
|
| |
Heavily based on a patch from
Aaron Wishnick <aaron.s.wishnick@gmail.com>.
I'll clean up the duplicated function in CodeGen as
a follow-up, later today or tomorrow.
llvm-svn: 159060
|
| |
|
|
|
|
| |
design of a more generic metadata node
llvm-svn: 159016
|
| |
|
|
| |
llvm-svn: 158982
|
| |
|
|
| |
llvm-svn: 158974
|
| |
|
|
|
|
|
|
|
| |
express library-level dependencies within Clang.
This is no more verbose really, and plays nicer with the rest of the
CMake facilities. It should also have no change in functionality.
llvm-svn: 158888
|
| |
|
|
|
|
|
| |
error was asserting on anything that included Windows.h. MS-style inline asm is
still dropped, but at least now we're not completely silent about it.
llvm-svn: 158833
|
| |
|
|
|
|
|
|
|
|
|
|
| |
EnumConstantDecl.
CreateEnumType doesn't participate in caching so the descriptor for the enum
gets recomputed for every reference of an element of an enum, only to get
discarded when it gets turned into an MDNode.
No functionality change except performance.
llvm-svn: 158832
|
| |
|
|
| |
llvm-svn: 158830
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
target Objective-C runtime down to the frontend: break this
down into a single target runtime kind and version, and compute
all the relevant information from that. This makes it
relatively painless to add support for new runtimes to the
compiler. Make the new -cc1 flag, -fobjc-runtime=blah-x.y.z,
available at the driver level as a better and more general
alternative to -fgnu-runtime and -fnext-runtime. This new
concept of an Objective-C runtime also encompasses what we
were previously separating out as the "Objective-C ABI", so
fragile vs. non-fragile runtimes are now really modelled as
different kinds of runtime, paving the way for better overall
differentiation.
As a sort of special case, continue to accept the -cc1 flag
-fobjc-runtime-has-weak, as a sop to PLCompatibilityWeak.
I won't go so far as to say "no functionality change", even
ignoring the new driver flag, but subtle changes in driver
semantics are almost certainly not intended.
llvm-svn: 158793
|
| |
|
|
| |
llvm-svn: 158778
|
| |
|
|
|
|
|
|
| |
initializer need be null initialized before initializer takes
hold, just like any other initialized retainable object pointer.
// rdar://11016025
llvm-svn: 158738
|