| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 193292
|
| |
|
|
|
|
| |
Patch co-developed with Yaron Keren.
llvm-svn: 193291
|
| |
|
|
|
|
|
|
|
| |
it. Also removes all of the microsoft C++ ABI related code from the
itanium layout builder.
Differential Revision: http://llvm-reviews.chandlerc.com/D2003
llvm-svn: 193290
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Calling _chkstk is required on ELF as well as COFF on Windows. Without
_chkstk, functions requiring large stack crash in initialization code.
Previous code tested for COFF format but not Mach-O and this patch modifies
the code to test for Windows OS (both Windows target and MingW target)
but not Mach-O object format: Looks like macho environment was used to
build some EFI code.
Credits to Andrew MacPherson.
llvm-svn: 193289
|
| |
|
|
| |
llvm-svn: 193288
|
| |
|
|
|
|
|
|
|
|
|
| |
Since we never insert DIE for DITemplateTypeParameter to a map, there is no need
to call getDIE in getOrCreateTemplateTypeParameterDIE. It is also renamed to
constructTemplateTypeParameterDIE to match with other construct functions
in CompileUnit.
Same applies to getOrCreateTemplateValueParameterDIE.
llvm-svn: 193287
|
| |
|
|
|
|
|
| |
Rename createMemberDIE to constructMemberDIE to match other construct functions
in CompileUnit.
llvm-svn: 193286
|
| |
|
|
|
|
|
| |
Remove the unneeded return values from createMemberDIE, constructEnumTypeDIE,
getOrCreateTemplateTypeParameterDIE, and getOrCreateTemplateValueParameterDIE.
llvm-svn: 193285
|
| |
|
|
|
|
|
|
|
| |
Unifying the argument ordering of private construct functions in CompileUnit to
follow constructTypeDIE(DIE &, DIBasicType),
constructTypeDIE(DIE &, DIDerivedType), constructTypeDIE(DIE &, DICompositeType),
constructSubrangeDIE and constructArrayTypeDIE.
llvm-svn: 193284
|
| |
|
|
| |
llvm-svn: 193283
|
| |
|
|
| |
llvm-svn: 193282
|
| |
|
|
| |
llvm-svn: 193281
|
| |
|
|
|
|
|
| |
- This was never a big win, and is irrelevant now that we commonly use
multiprocessing based parallelism.
llvm-svn: 193280
|
| |
|
|
| |
llvm-svn: 193279
|
| |
|
|
| |
llvm-svn: 193278
|
| |
|
|
| |
llvm-svn: 193277
|
| |
|
|
| |
llvm-svn: 193276
|
| |
|
|
|
|
|
|
|
|
| |
Without _chkstk functions requiring large stack crash in initialization code. Previous code tested for COFF format but not Mach-O and this patch modifies the code to test for Windows."
This reverts commit r193263.
It is causing CodeGen/X86/mingw-alloca.ll to fail.
llvm-svn: 193275
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Commit r191484 treated constexpr function templates as normal function
templates with respect to delaying their parsing. However, this is
unnecessarily restrictive because there is no compatibility concern with
constexpr, MSVC doesn't support it.
Instead, simply disable delayed template parsing for constexpr function
templates. This largely reverts the changes made in r191484 but keeps
it's unit test.
This fixes PR17661.
llvm-svn: 193274
|
| |
|
|
| |
llvm-svn: 193273
|
| |
|
|
| |
llvm-svn: 193272
|
| |
|
|
|
|
| |
Because it depends on "-mllvm -debug" flag, the test fails in Release build.
llvm-svn: 193271
|
| |
|
|
|
|
| |
Also update the cost model.
llvm-svn: 193270
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
The Itanium mangler couldn't cope with mangling an IndirectFieldDecl.
Instead, mangle the field the IndirectFieldDecl refers to.
Further, give IndirectFieldDecl no linkage just like FieldDecl.
N.B. Decl.cpp:getLVForNamespaceScopeDecl tried to calculate linkage for
data members of anonymous structs/unions. However, this seems
impossible so turn it into an assertion.
llvm-svn: 193269
|
| |
|
|
| |
llvm-svn: 193268
|
| |
|
|
|
|
|
|
|
| |
Now, all extract & insert intrinsics should have the correct and operation
to ignore higher bits.
rdar://15250497
llvm-svn: 193267
|
| |
|
|
| |
llvm-svn: 193266
|
| |
|
|
|
|
|
|
|
|
| |
This ensures that variables accessible through a union are invalidated when
the union value is passed to a function. We still don't fully handle union
values, but this should at least quiet some false positives.
PR16596
llvm-svn: 193265
|
| |
|
|
|
|
|
|
|
|
|
|
| |
There are a few motivations for this:
- Using a map allows for checking if line is in map. This differentiates
unexecutable lines (such as comments) from unexecuted logical lines of
code. "#####" is now outputted in this case, in line with gcov.
- Source files are no longer read in twice: once when storing the line
counts, and once when outputting the data.
- Greatly simplifies the function FileInfo::addLineCount().
llvm-svn: 193264
|
| |
|
|
|
|
|
|
|
|
| |
Without _chkstk functions requiring large stack crash in
initialization code. Previous code tested for COFF format but
not Mach-O and this patch modifies the code to test for Windows.
Credits to Andrew MacPherson.
llvm-svn: 193263
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
On sandy bridge (PR17654) we now get
vpxor %xmm1, %xmm1, %xmm1
vpunpckhbw %xmm1, %xmm0, %xmm2
vpunpcklbw %xmm1, %xmm0, %xmm0
vinsertf128 $1, %xmm2, %ymm0, %ymm0
On haswell it's a simple
vpmovzxbw %xmm0, %ymm0
There is a maze of duplicated and dead transforms and patterns in this
area. Remove the dead custom lowering of zext v8i16 to v8i32, that's
already handled by LowerAVXExtend.
llvm-svn: 193262
|
| |
|
|
|
|
|
|
|
| |
- Skip instructions added in prolog. For specific targets, prolog may
insert helper function calls (e.g. _chkstk will be called when
there're more than 4K bytes allocated on stack). However, these
helpers don't use/def YMM/XMM registers.
llvm-svn: 193261
|
| |
|
|
|
|
| |
macros.
llvm-svn: 193260
|
| |
|
|
| |
llvm-svn: 193259
|
| |
|
|
| |
llvm-svn: 193258
|
| |
|
|
| |
llvm-svn: 193257
|
| |
|
|
|
| |
FIXME: I don't think it'd be smart.
llvm-svn: 193256
|
| |
|
|
| |
llvm-svn: 193255
|
| |
|
|
| |
llvm-svn: 193254
|
| |
|
|
| |
llvm-svn: 193253
|
| |
|
|
|
|
| |
Per Nadav's review comments for r192866.
llvm-svn: 193252
|
| |
|
|
|
|
|
|
|
|
| |
Major steps include:
1). introduces a not-addr-taken bit-field in GlobalVariable
2). GlobalOpt pass sets "not-address-taken" if it proves a global varirable
dosen't have its address taken.
3). AA use this info for disambiguation.
llvm-svn: 193251
|
| |
|
|
| |
llvm-svn: 193250
|
| |
|
|
|
|
| |
Pacifies GCC's -Wstrict-prototypes.
llvm-svn: 193249
|
| |
|
|
| |
llvm-svn: 193248
|
| |
|
|
| |
llvm-svn: 193247
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A prior commit of this patch was reverted because it was within the blamelist's purview of a failing test. The failure of that test has been addressed here: http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20131021/091546.html. Therefore I am recommitting this patch (all tests pass on windows, except for the usual modules & index suspects that never pass on my box).
Some background: Both Doug and Richard had asked me in Chicago to remove the circular reference in CXXRecordDecl to LambdaExpr by factoring out and storing the needed information from LambdaExpr directly into CXXRecordDecl.
In addition, I have added an IsGenericLambda flag - this makes life a little easier when we implement capturing, and are Sema-analyzing the body of a lambda (and the calloperator hasn't been wired to the closure class yet). Any inner lambdas can have potential captures that could require walking up the scope chain and checking if any generic lambdas are capture-ready. This 'bit' makes some of that checking easier.
No change in functionality.
This patch was approved by Doug with minor modifications (comments were cleaned up, and all data members were converted from bool/enum to unsigned, as requested):
http://llvm-reviews.chandlerc.com/D1856
Thanks!
llvm-svn: 193246
|
| |
|
|
|
|
| |
as well.
llvm-svn: 193245
|
| |
|
|
| |
llvm-svn: 193244
|
| |
|
|
| |
llvm-svn: 193243
|