| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 246467
|
|
|
|
|
|
|
|
| |
const char pointers. In turn, push this through Clang APIs as well,
simplifying a number of bits of code that was handling the oddities of
nullptrs.
llvm-svn: 246375
|
|
|
|
|
|
| |
namespace.
llvm-svn: 246368
|
|
|
|
| |
llvm-svn: 246346
|
|
|
|
| |
llvm-svn: 246260
|
|
|
|
|
|
| |
and replace all callers.
llvm-svn: 246259
|
|
|
|
|
|
|
|
|
|
|
| |
Without this, 64-byte vector types (__m512), specified to be 64-byte
aligned in the AVX512 draft SysV ABI, will only be 32-byte aligned.
This is analoguous to AVX, for which we accept 32-byte max alignment.
Differential Revision: http://reviews.llvm.org/D10724
llvm-svn: 246230
|
|
|
|
|
|
|
|
|
| |
There's no point in using a larger alignment if we have no instructions
that would benefit from it.
Differential Revision: http://reviews.llvm.org/D12389
llvm-svn: 246229
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The ABI string only exists to communicate with TargetCodeGenInfo.
Concretely, since we only used "avx*" ABI strings on x86_64 (as AVX
doesn't affect the i386 ABIs), this meant that, when initializing
SimdDefaultAlign, we would ignore AVX/AVX512 on i386, for no good
reason.
Instead, directly check the features. A similar change for
MaxVectorAlign will follow.
Differential Revision: http://reviews.llvm.org/D12390
llvm-svn: 246228
|
|
|
|
| |
llvm-svn: 246202
|
|
|
|
| |
llvm-svn: 246180
|
|
|
|
|
|
|
|
|
| |
with multiple uses of feature map construction.
Note: We could make this a static function on TargetInfo if we
fix the x86 port needing to check the triple in an isolated case.
llvm-svn: 246128
|
|
|
|
| |
llvm-svn: 246127
|
|
|
|
|
|
| |
this is going to see use shortly in unifying feature set construction.
llvm-svn: 246122
|
|
|
|
| |
llvm-svn: 246027
|
|
|
|
|
|
| |
string name.
llvm-svn: 246021
|
|
|
|
| |
llvm-svn: 246020
|
|
|
|
| |
llvm-svn: 246006
|
|
|
|
|
|
|
|
|
| |
This involved specializing handleUserFeatures so that we could perform
diagnostics on -only- user supplied features and migrating the rest of
the initialization functions to set features based on enabling and disabling
full feature sets. No functional change intended.
llvm-svn: 245936
|
|
|
|
|
|
| |
specialize it on the targets.
llvm-svn: 245935
|
|
|
|
|
|
| |
that we're looking for conflicting options and give an explanation.
llvm-svn: 245914
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The ACLE (ARM C Language Extensions) 2.0 defines that the predefined macro
__ARM_FP16_ARGS should be defined if __fp16 can be used as an argument and
result.
The support for __fp16 to be used as an argument and result is already
implemented for AArch64 so this change is just adding the missing macro.
Differential Revision: http://reviews.llvm.org/D12240
llvm-svn: 245833
|
|
|
|
|
|
| |
Add parsing/sema analysis for 'simdlen' clause in simd directives. Also add check that if both 'safelen' and 'simdlen' clauses are specified, the value of 'simdlen' parameter is less than the value of 'safelen' parameter.
llvm-svn: 245692
|
|
|
|
|
|
| |
it as they are already set correctly by X86_64TargetInfo and X86TargetInfo.
llvm-svn: 245620
|
|
|
|
| |
llvm-svn: 245618
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
OpenMP 4.1 adds 3 optional modifiers to 'linear' clause.
Format of 'linear' clause has changed to:
```
linear(linear-list[ : linear-step])
```
where linear-list is one of the following
```
list
modifier(list)
```
where modifier is one of the following:
```
ref (C++)
val (C/C++)
uval (C++)
```
Patch adds parsing and sema analysis for these modifiers.
llvm-svn: 245550
|
|
|
|
|
|
|
| |
See
https://gcc.gnu.org/onlinedocs/gcc-3.2/gcc/i386-and-x86-64-Options.html
llvm-svn: 245459
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
"generic" cpu was wrongly handled as exact real CPU name of ARMv8.1A architecture.
This has been fixed, now it is abstract name, suitable for any arch.
Reviewers: rengolin
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D11640
llvm-svn: 245445
|
|
|
|
|
|
| |
with the current behavior as the name seems to match what's going on.
llvm-svn: 245405
|
|
|
|
|
|
| |
the default behavior.
llvm-svn: 245251
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
long double on x86 mingw is 80bits and is aligned to 16bytes
Fixes:
https://llvm.org/bugs/show_bug.cgi?id=24398
Reviewers: rnk
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D12037
llvm-svn: 245084
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
MSDN says that fastcall, stdcall, thiscall, and vectorcall are all
accepted but ignored on ARM and X64.
https://msdn.microsoft.com/en-us/library/984x0h58.aspx
MSDN also says cdecl is also accepted and typically ignored
This patch brings ARM in line with how we ignore them for X64
Reviewers: rnk
Subscribers: compnerd, cfe-commits
Differential Revision: http://reviews.llvm.org/D12034
llvm-svn: 245076
|
|
|
|
|
|
|
|
|
|
|
| |
file in the .pcm files. This allows a smaller set of files to be sent to a
remote build worker when building with explicit modules (for instance, module
map files need not be sent along with the corresponding precompiled modules).
This doesn't actually make the embedded files visible to header search, so
it's not useful as a packaging format for public header files.
llvm-svn: 245028
|
|
|
|
|
|
|
|
|
|
|
| |
they're copy/movable
Removing the no-op dtor makes these objects safely implicitly
copyable/movable/etc.
(& tidy up the ctor, while I'm here)
llvm-svn: 244971
|
|
|
|
| |
llvm-svn: 244962
|
|
|
|
| |
llvm-svn: 244961
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This preserves backwards compatibility for two hacks in the Darwin
system module map files:
1. The use of 'requires excluded' to make headers non-modular, which
should really be mapped to 'textual' now that we have this feature.
2. Silently removes a bogus cplusplus requirement from IOKit.avc.
Once we start diagnosing missing requirements and headers on
auto-imports these would have broken compatibility with existing Darwin
SDKs.
llvm-svn: 244912
|
|
|
|
| |
llvm-svn: 244852
|
|
|
|
|
|
| |
locations, attempt to fail more gracefully. (No test; this requires >= 4GB of preprocessed input...)
llvm-svn: 244822
|
|
|
|
| |
llvm-svn: 244749
|
|
|
|
|
|
|
|
|
| |
Let NaClMips32ELTargetInfo inherit arch values for maximum width lock-free
atomic operations.
Differential Revision: http://reviews.llvm.org/D11949
llvm-svn: 244675
|
|
|
|
| |
llvm-svn: 244346
|
|
|
|
|
|
|
| |
This is committed on behalf of Kelvin Li
http://reviews.llvm.org/D11469?id=31227
llvm-svn: 244325
|
|
|
|
|
|
|
|
| |
initialized. Silences -Wmissing-field-initializers.
While there convert 0 in the BUILTIN macros to nullptr.
llvm-svn: 244307
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
... and add aarch32 to specifically refer to the 32-bit ones.
Previously, 'arm' meant only 32-bit architectures and there was no way
for a module to build with both 32 and 64 bit ARM architectures.
Now a module that is intended to work on both architectures can specify
requires arm
whereas a module only for 32-bit platforms can say
requires aarch32
and just like before, 64-bit only can say
requires aarch64
llvm-svn: 244306
|
|
|
|
|
|
|
|
| |
so that we can populate it on a per-target basis with required features.
Future commits will start using this information for warnings.
llvm-svn: 244286
|
|
|
|
|
|
| |
to match the rest of their brethren and reformat the bits that need it.
llvm-svn: 244186
|
|
|
|
|
|
| |
use of the string.
llvm-svn: 244178
|
|
|
|
| |
llvm-svn: 244131
|
|
|
|
| |
llvm-svn: 244126
|