summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* R600/SI: Default to no single precision denormals.Matt Arsenault2014-07-142-2/+10
| | | | llvm-svn: 213017
* AST: Fix __uuidof for template specializationsDavid Majnemer2014-07-142-5/+42
| | | | | | | | | | | While we previously supported __uuidof applied to a template specialization, we would only find the uuid attribute if it was applied to the template argument. We would erroneously ignore the uuid attribute on the specialization itself. This is required to parse Windows Runtime C++ Template Library headers. llvm-svn: 213016
* Revert "Revert "Move clang feature flags settings out of LLVM core and into ↵Alp Toker2014-07-141-16/+0
| | | | | | | | | | cfe"" It turns out this commit was fine. The problem was in the legacy build system (fixed r213010). This reverts commit r213005. llvm-svn: 213015
* Revert "Revert "Move clang feature flags settings out of LLVM core and into ↵Alp Toker2014-07-141-0/+17
| | | | | | | | | | cfe"" It turns out this commit was fine. The problem was in the legacy build system (fixed r213010). This reverts commit r213008. llvm-svn: 213014
* Remove dead code.Richard Smith2014-07-142-12/+0
| | | | llvm-svn: 213013
* [RuntimeDyld] Handle endiannes differences between the host and target whileLang Hames2014-07-141-14/+19
| | | | | | | | | | reading MachO files magic numbers in RuntimeDyld. This is required now that we're testing cross-platform JITing (via RuntimeDyldChecker), and should fix some issues that David Fang has seen on PPC builds. llvm-svn: 213012
* [X86] Specify all TSFlags bit-offsets symbolicallyAdam Nemet2014-07-141-3/+6
| | | | | | | | | | | | | | | No functional change. The offsets for the other bitfields are specified symbolically. I need to increase the size for one of the earlier fields which is easier after this cleanup. Why these bits are relative to VEXShift is a bit strange but that is for another cleanup. I made sure that the values for the enums are unchanged after this change. llvm-svn: 213011
* Define ENABLE_CLANG_ARCMT in the legacy build system tooAlp Toker2014-07-141-0/+4
| | | | llvm-svn: 213010
* AST: Cleanup __uuidof related codeDavid Majnemer2014-07-142-11/+10
| | | | | | | | Switch some things to use range-based for loops. Change CXXUuidofExpr::GetUuidAttrOfType's return type to be const. No functionality changed. llvm-svn: 213009
* Revert "Move clang feature flags settings out of LLVM core and into cfe"Alp Toker2014-07-141-17/+0
| | | | | | | | | Prospectively revert to get one of the many build configurations back working (presumably the side-by-side+modular CMake config). This reverts commit r212997. llvm-svn: 213008
* If Process::Finalize() has been called, don't track process state changes.Greg Clayton2014-07-141-0/+3
| | | | | | <rdar://problem/17540766> llvm-svn: 213007
* CodeGen: Stick constant pool entries in COMDAT sections for WinCOFFDavid Majnemer2014-07-1416-27/+191
| | | | | | | | | | | | | | | | COFF lacks a feature that other object file formats support: mergeable sections. To work around this, MSVC sticks constant pool entries in special COMDAT sections so that each constant is in it's own section. This permits unused constants to be dropped and it also allows duplicate constants in different translation units to get merged together. This fixes PR20262. Differential Revision: http://reviews.llvm.org/D4482 llvm-svn: 213006
* Revert "Move clang feature flags settings out of LLVM core and into cfe"Alp Toker2014-07-141-0/+16
| | | | | | | | | This broke one of the builds, presumably side-by-side modular CMake. Investigating. This reverts commit r212998. llvm-svn: 213005
* lldb.LLDB_ARCH_DEFAULT now works correctly on Macs with haswell enabled kernels.Greg Clayton2014-07-142-9/+24
| | | | | | <rdar://problem/17604133> llvm-svn: 213004
* Continue parsing an expression list even after an error is encountered.Kaelyn Takata2014-07-144-7/+18
| | | | | | | | | Otherwise, multiple errors such as having unknown identifiers for two arguments won't be diagnosed properly (e.g. only the first one would have a diagnostic message if typo correction fails even though both would be diagnosed if typo correction suggests a replacement). llvm-svn: 213003
* Fix a -Wunused-local-typedefs warningAlp Toker2014-07-141-1/+1
| | | | llvm-svn: 213002
* [DAGCombiner] Add more rules to combine shuffle vector dag nodes.Andrea Di Biagio2014-07-142-0/+417
| | | | | | | | | | | | | | | | This patch teaches the DAGCombiner how to fold a pair of shuffles according to rules: 1. shuffle(shuffle A, B, M0), B, M1) -> shuffle(A, B, M2) 2. shuffle(shuffle A, B, M0), A, M1) -> shuffle(A, B, M3) The new rules would only trigger if the resulting shuffle has legal type and legal mask. Added test 'combine-vec-shuffle-3.ll' to verify that DAGCombiner correctly folds shuffles on x86 when the resulting mask is legal. Also added some negative cases to verify that we avoid introducing illegal shuffles. llvm-svn: 213001
* Look through addrspacecast in IsConstantOffsetFromGlobalMatt Arsenault2014-07-142-1/+15
| | | | llvm-svn: 213000
* Look through addrspacecast in GetPointerBaseWithConstantOffsetMatt Arsenault2014-07-142-1/+15
| | | | llvm-svn: 212999
* Move clang feature flags settings out of LLVM core and into cfeAlp Toker2014-07-141-16/+0
| | | | | | | clang r212997 incorporated these settings into its own build system. They no longer need to be set from LLVM. llvm-svn: 212998
* Move clang feature flags settings out of LLVM core and into cfeAlp Toker2014-07-141-0/+17
| | | | llvm-svn: 212997
* Fix build with various feature flag combinationsAlp Toker2014-07-142-4/+13
| | | | llvm-svn: 212996
* Fix the !CLANG_ENABLE_ARCMT buildAlp Toker2014-07-144-11/+36
| | | | llvm-svn: 212995
* Fix build when various clang feature flags are enabled/disabledAlp Toker2014-07-141-3/+11
| | | | llvm-svn: 212994
* CodeGen: Add a getSectionKind method to MachineConstantPoolEntryDavid Majnemer2014-07-143-15/+35
| | | | | | This is just a helper routine, no functionality has changed. llvm-svn: 212993
* Convert test to FileCheckMatt Arsenault2014-07-141-31/+52
| | | | llvm-svn: 212992
* ADT: Surface LowerCase argument for utohexstrDavid Majnemer2014-07-141-4/+4
| | | | | | | | The underlying function. utohex_buffer, already supports an argument for deciding if the hex characters should be upper or lower case. Expose an identical argument for utohexstr. llvm-svn: 212991
* removed circular definitions in commentsSanjay Patel2014-07-141-5/+5
| | | | llvm-svn: 212990
* Try harder to supress the test from r212975 on WindowsBen Langmuir2014-07-141-2/+2
| | | | | | | | The attempt in r212980 was broken because we might not fail if LLVM_ON_UNIX is enabled for cross compiling to Windows, and it didn't consider mingw either. llvm-svn: 212989
* Drop separate UIntMaxType and just derive it from IntMaxType.Joerg Sonnenberger2014-07-143-21/+6
| | | | llvm-svn: 212987
* Support: Fix option handling when using cl::Required with aliasoptJustin Bogner2014-07-143-4/+27
| | | | | | | | | | | | | | | | Until now, attempting to create an alias of a required option would complain if the user supplied the alias, because the required option didn't have a value. Similarly, if you said the alias was required, then using the base option would complain that the alias wasn't supplied. Lastly, if you put required on both, *neither* option would work. By changning alias to overload addOccurrence and setting cl::Required on the original option, we can get this to behave in a more useful way. I've also added a test and updated a user that was getting this wrong. llvm-svn: 212986
* Fix a test broken in r212981David Majnemer2014-07-141-1/+1
| | | | | | | @icmp_sdiv_neg1 should have referred to %a instead of %call, it was renamed at the last second. llvm-svn: 212983
* Introduce getCorrespondingUnsignedType() in TargetInfo to work like theJoerg Sonnenberger2014-07-143-21/+41
| | | | | | | | corresponding AST context function, only restricted to basic integer types. Use this to ensure getUIntPtrType() gives types consistent with getIntPtrType(). Fix NVPTX backend to give signed intptr_t. llvm-svn: 212982
* InstSimplify: Correct sdiv x / -1David Majnemer2014-07-142-11/+24
| | | | | | | | | | | Determining the bounds of x/ -1 would start off with us dividing it by INT_MIN. Suffice to say, this would not work very well. Instead, handle it upfront by checking for -1 and mapping it to the range: [INT_MIN + 1, INT_MAX. This means that the result of our division can be any value other than INT_MIN. llvm-svn: 212981
* XFAIL test that doesn't work on Windows yetBen Langmuir2014-07-141-0/+2
| | | | llvm-svn: 212980
* Add support for intercepting thunks of the formEhsan Akhgari2014-07-141-0/+1
| | | | llvm-svn: 212979
* In C++98, if an rvalue reference binds to a function lvalue (or an xvalue or anRichard Smith2014-07-142-11/+7
| | | | | | | | array prvalue), treat that as a direct binding. Only the class prvalue case needs to be excluded here; the rest are extensions anyway, so we can treat them as we would in C++11. llvm-svn: 212978
* fixed linkSanjay Patel2014-07-141-1/+1
| | | | llvm-svn: 212977
* InstSimplify: The upper bound of X / C was missing a rounding stepDavid Majnemer2014-07-142-1/+20
| | | | | | | | | | | | | | | | | | Summary: When calculating the upper bound of X / -8589934592, we would perform the following calculation: Floor[INT_MAX / 8589934592] However, flooring the result would make us wrongly come to the conclusion that 1073741824 was not in the set of possible values. Instead, use the ceiling of the result. Reviewers: nicholas Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D4502 llvm-svn: 212976
* Fix case-sensitivity of inferred framework modulesBen Langmuir2014-07-142-0/+11
| | | | | | | Just because we can open a directory named "COcoa.framework" doesn't mean we should provide a "COcoa" module on a case-insensitive filesystem. llvm-svn: 212975
* Fix typosAlp Toker2014-07-1410-13/+12
| | | | | | Also consolidate 'backward compatibility' llvm-svn: 212974
* Support: Use a range-based forJustin Bogner2014-07-141-5/+4
| | | | llvm-svn: 212973
* Avoid non-attributive uses of 'unsupported' in diagnosticsAlp Toker2014-07-146-14/+14
| | | | | | | | | | | | | We don't have a style guide for diagnostic messages, but convention strongly favours the forms: 'attribute is not supported', 'unsupported attribute' We generally avoid: 'attribute is unsupported', 'non-supported attribute' llvm-svn: 212972
* Look through addrspacecast when checking isDereferenceablePointerMatt Arsenault2014-07-142-0/+41
| | | | llvm-svn: 212971
* Don't eliminate memcpy's when the address of the pointer may itself be ↵Nick Lewycky2014-07-147-7/+35
| | | | | | relevant. Fixes PR18304. Patch by David Wiberg! llvm-svn: 212970
* Document the forward of the -u option (r211756)Sylvestre Ledru2014-07-141-0/+2
| | | | llvm-svn: 212969
* Document the warning triggered by the unsupported gcc optimization flags ↵Sylvestre Ledru2014-07-141-0/+3
| | | | | | (r212805) llvm-svn: 212968
* Unify the lowering of arguments during SjLj prepare.Bill Wendling2014-07-142-29/+11
| | | | | | | The 'select true, %arg, undef' instruction can be used for both aggregate and non-aggregate arguments. llvm-svn: 212967
* fixed typoSanjay Patel2014-07-141-1/+1
| | | | llvm-svn: 212966
* Revert "Improve error recovery around colon."Reid Kleckner2014-07-144-142/+24
| | | | | | | | This reverts commit r212957. It broke the self-host on code like this from LLVM's option library: for (auto Arg: filtered(Id0, Id1, Id2)) llvm-svn: 212965
OpenPOWER on IntegriCloud