summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add "Yabin Hu" to CREDITS.txtYabin Hu2014-06-211-0/+5
| | | | llvm-svn: 211440
* [test] Add '-target' option to fix bot failure.Argyrios Kyrtzidis2014-06-211-1/+1
| | | | llvm-svn: 211439
* [PCH] Remove the BackingIvarReferencedInAccessor field from DECL_OBJC_IVAR ↵Argyrios Kyrtzidis2014-06-212-2/+10
| | | | | | | | abbreviation record. Patch by Yiding Jia! llvm-svn: 211438
* MergeFunctions Pass, introduced total ordering among top-level comparisonStepan Dyatkovskiy2014-06-211-79/+94
| | | | | | | | | | | | | methods. Patch changes return type of FunctionComparator::compare() and FunctionComparator::compare(const BasicBlock*, const BasicBlock*) methods from bool (equal or not) to {-1, 0, 1} (less, equal, great). This patch belongs to patch series that improves MergeFunctions performance time from O(N*N) to O(N*log(N)). llvm-svn: 211437
* LoopUnrollRuntime: Check for overflow in the trip count calculation.Benjamin Kramer2014-06-212-11/+18
| | | | | | Fixes PR19823. llvm-svn: 211436
* Legalizer: Add support for splitting insert_subvectors.Benjamin Kramer2014-06-213-0/+72
| | | | | | | | | We handle this by spilling the whole thing to the stack and doing the insertion as a store. PR19492. This happens in real code because the vectorizer creates v2i128 when AVX is enabled. llvm-svn: 211435
* Revert "Lex: Use the correct types for MS integer suffixes"Rafael Espindola2014-06-216-40/+29
| | | | | | | | | This reverts commit r211426. This broke the arm bots. The crash can be reproduced on X86 by running. ./bin/clang -cc1 -fsyntax-only -verify -fms-extensions ~/llvm/clang/test/Lexer/ms-extensions.c -triple arm-linux llvm-svn: 211434
* SCEVExpander: Fold constant PHIs harder. The logic below only understands ↵Benjamin Kramer2014-06-212-1/+53
| | | | | | | | proper IVs. PR20093. llvm-svn: 211433
* Fix breakage after r211259Jeroen Ketema2014-06-211-9/+11
| | | | | | | While we are here introduce the proper headers for the error code. Reviewed-by: Tom Stellard <tom@stellard.net> llvm-svn: 211432
* [Mips] Remove redundant checking from the RelocationPass::isDynamic() function.Simon Atanasyan2014-06-211-8/+1
| | | | | | No functional changes. llvm-svn: 211431
* Add back functionality removed in r210497.Richard Trieu2014-06-217-16/+34
| | | | | | Instead of asserting, output a message stating that a null pointer was found. llvm-svn: 211430
* tsan: fix code formattingDmitry Vyukov2014-06-211-1/+1
| | | | llvm-svn: 211429
* builtins: assembly routines are not staticSaleem Abdulrasool2014-06-211-1/+1
| | | | | | | | | Storage Class 3 is static storage. These symbols need to be marked as external (storage class 2) so that they can be referenced. Note that this external is not the same as ELF "external" visibility, which is indicated by DLL Storage Class (i.e. __declspec(dllexport) or __declspec(dllimport)). llvm-svn: 211428
* [X86] Add ISel patterns to select SSE3/AVX ADDSUB instructions.Andrea Di Biagio2014-06-212-0/+189
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds ISel patterns to select SSE3/AVX ADDSUB instructions from a sequence of "vadd + vsub + blend". Example: /// typedef float float4 __attribute__((ext_vector_type(4))); float4 foo(float4 A, float4 B) { float4 X = A - B; float4 Y = A + B; return (float4){X[0], Y[1], X[2], Y[3]}; } /// Before this patch, (with flag -mcpu=corei7) llc produced the following assembly sequence: movaps %xmm0, %xmm2 addps %xmm1, %xmm2 subps %xmm1, %xmm0 blendps $10, %xmm2, %xmm0 With this patch, we now get a single addsubps %xmm1, %xmm0 llvm-svn: 211427
* Lex: Use the correct types for MS integer suffixesDavid Majnemer2014-06-216-29/+40
| | | | | | | | | | | | We didn't properly implement support for the sized integer suffixes. Suffixes like i16 were essentially ignored instead of mapping them to the appropriately sized integer type. This fixes PR20008. Differential Revision: http://reviews.llvm.org/D4132 llvm-svn: 211426
* Fix a gdbremote bug in _M/_m stub support detection.Todd Fiala2014-06-211-2/+6
| | | | | | | | | | | | When a stub reported $#00 (unsupported) for _M and _m packets, the unsupported response was not handled and the client then marked the _M/_m commands as definitely supported. However, they would always fail, preventing lldb's fallback InferiorCallMmap-based allocation strategy from being used to attempt to allocate memory in the inferior process space. llvm-svn: 211425
* Fix the MinGW builder. Apparently std::call_once andZachary Turner2014-06-211-17/+10
| | | | | | | | std::recursive_mutex are not available on MinGW and breaks the builder. Revert to using a function local static and sys::Mutex just to get the tree green until we figure out a better solution. llvm-svn: 211424
* Always use a temp symbol for CIE.Rafael Espindola2014-06-202-6/+7
| | | | | | Fixes pr19185. llvm-svn: 211423
* tsan: fix windows build scriptDmitry Vyukov2014-06-201-1/+1
| | | | llvm-svn: 211422
* Driver: In crashdumps with -fmodule, dump the module dependenciesJustin Bogner2014-06-206-20/+81
| | | | llvm-svn: 211421
* Driver: enhance MSC version compatibilitySaleem Abdulrasool2014-06-204-4/+95
| | | | | | | | | | | | | | | | | | | | | | | | | The version information for Visual Studio is spread over multiple variables. The newer Windows SDK has started making use of some of the extended versioning variables that were previously undefined. Enhance our compatibility definitions for these cases. _MSC_VER is defined to be the Major * 100 + Minor. _MSC_FULL_VER is defined to be Major * 10000000 + Minor * 100000 + Build. And _MSC_BUILD is the build revision of the compiler. Extend the -fmsc-version option in a compatible manner. If the value is the previous form of MMmm, then we assume that the build number is 0. Otherwise, a specific build number may be passed by using the form MMmmbbbbb. Due to bitwidth limitations of the option, it is currently not possible to define a revision value. The version information can be passed as either the decimal encoded value (_MSC_FULL_VER or _MSC_VER) or as a dot-delimited value. The change to the TextDiagnostic is to deal with the updated encoding of the version information. llvm-svn: 211420
* tsan: add Go build script for freebsdDmitry Vyukov2014-06-201-5/+16
| | | | llvm-svn: 211419
* tsan: port to freebsdDmitry Vyukov2014-06-201-2/+16
| | | | llvm-svn: 211418
* tsan: fix freebsd buildDmitry Vyukov2014-06-201-0/+7
| | | | | | freebsd does not have /proc/self/environ llvm-svn: 211417
* Use compact unwind for the iOS simulator.Rafael Espindola2014-06-202-0/+6
| | | | | | Another step in fixing pr19185. llvm-svn: 211416
* Use a helper function and clang-format.Rafael Espindola2014-06-201-6/+19
| | | | | | No functionality change. llvm-svn: 211415
* Support: ScaledNumber: Fix inconsistent test namesDuncan P. N. Exon Smith2014-06-202-7/+6
| | | | llvm-svn: 211414
* Support: Write ScaledNumbers::getLg{,Floor,Ceiling}()Duncan P. N. Exon Smith2014-06-203-33/+157
| | | | llvm-svn: 211413
* Delete dead code.Rafael Espindola2014-06-201-17/+8
| | | | | | The compact unwind info is only used by code that knows it is supported. llvm-svn: 211412
* Driver: Record that we're in crashdump and push flags to ConstructJobJustin Bogner2014-06-205-12/+19
| | | | | | | | | | | It's more flexible and arguably better layering to set flags to modify compiling for diagnostics in the CC1 job themselves, rather than tweaking the driver flags and letting them propagate. There is one visible change this causes: crash report files will now get preprocessed names (.i and friends). llvm-svn: 211411
* CodeGen: Fix test to work with assertions as wellDavid Majnemer2014-06-201-1/+1
| | | | llvm-svn: 211410
* Support: Write ScaledNumber::getQuotient() and getProduct()Duncan P. N. Exon Smith2014-06-206-136/+314
| | | | llvm-svn: 211409
* CodeGen: typeid/dynamic_cast tests don't need assertsDavid Majnemer2014-06-202-42/+26
| | | | | | | These tests relied on information that was only available for clang builds that included asserts. Fix these tests to lift that restriction. llvm-svn: 211408
* Support: Cleanup ScaledNumber::getAdjusted() docDuncan P. N. Exon Smith2014-06-201-4/+1
| | | | llvm-svn: 211407
* Support: Mark end of namespacesDuncan P. N. Exon Smith2014-06-202-3/+5
| | | | | | This convinces clang-format to leave a newline. llvm-svn: 211406
* Fix some double printing of filenames for archives in llvm-nm whenKevin Enderby2014-06-202-12/+17
| | | | | | | | the tool is given multiple files. Also fix the same issue with Mach-O universal files. And fix the newline spacing to separate the output in these cases. llvm-svn: 211405
* Don't produce eh_frame relocations when targeting the IOS simulator.Rafael Espindola2014-06-202-2/+4
| | | | | | First step for fixing pr19185. llvm-svn: 211404
* Driver: Remove some superfluous calls to Arg->claim()Justin Bogner2014-06-201-14/+5
| | | | | | | Args.getLastArg() claims the Arg it returns, so calling claim on these results is unnecessary. llvm-svn: 211403
* CodeGen: Refactor dynamic_cast and typeidDavid Majnemer2014-06-206-540/+579
| | | | | | | | | | | This refactors the emission of dynamic_cast and typeid expressions so that ABI specific knowledge lives in appropriate places. There are quite a few benefits for having the two implementations share a common core like sharing logic for optimization opportunities. While we are at it, clean up the tests. llvm-svn: 211402
* Revert "Replace Execution Engine's mutex with std::recursive_mutex."Zachary Turner2014-06-207-69/+71
| | | | | | | | | | This reverts commit 1f502bd9d7d2c1f98ad93a09ffe435e11a95aedd, due to GCC / MinGW's lack of support for C++11 threading. It's possible this will go back in after we come up with a reasonable solution. llvm-svn: 211401
* Fixed the "log enable gdb-remote packets" to support dumping the binary ↵Greg Clayton2014-06-201-3/+42
| | | | | | memory read packet ('x') by printing out the binary data correctly using only printable characters and removing the 0x7d escapes so the memory is readable in the packet output. llvm-svn: 211400
* Generate native unwind info on Win64Reid Kleckner2014-06-2019-228/+645
| | | | | | | | | | | | | | | | | | | | This patch enables LLVM to emit Win64-native unwind info rather than DWARF CFI. It handles all corner cases (I hope), including stack realignment. Because the unwind info is not flexible enough to describe stack frames with a gap of unknown size in the middle, such as the one caused by stack realignment, I modified register spilling code to place all spills into the fixed frame slots, so that they can be accessed relative to the frame pointer. Patch by Vadim Chugunov! Reviewed By: rnk Differential Revision: http://reviews.llvm.org/D4081 llvm-svn: 211399
* C++ status page: restore the convention of saying "SVN" until we reach a ↵Richard Smith2014-06-201-4/+4
| | | | | | release. llvm-svn: 211398
* Be less bold.Richard Smith2014-06-201-1/+1
| | | | llvm-svn: 211397
* [C++1z] Add C++1z to the C++ status page.Richard Smith2014-06-201-7/+39
| | | | llvm-svn: 211396
* Fix typo in r211394.Richard Smith2014-06-201-1/+1
| | | | llvm-svn: 211395
* [C++1z] Implement N3928: message in static_assert is optional.Richard Smith2014-06-205-21/+41
| | | | llvm-svn: 211394
* Fix some -Wsign-compare fallout from changing container count member ↵David Blaikie2014-06-203-12/+12
| | | | | | functions to return unsigned instead of bool. llvm-svn: 211393
* [C++1z] Implement N3981: Disable trigraphs by default in C++1z mode.Richard Smith2014-06-202-1/+11
| | | | llvm-svn: 211392
* Commited patch from Björn Steinbrink:Stepan Dyatkovskiy2014-06-202-1/+49
| | | | | | | | | | | | Summary: Different range metadata can lead to different optimizations in later passes, possibly breaking the semantics of the merged function. So range metadata must be taken into consideration when comparing Load instructions. Thanks! llvm-svn: 211391
OpenPOWER on IntegriCloud