summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix an incomplete null structure spec in Python readline suppression module.Todd Fiala2014-06-261-1/+1
| | | | | | | | Now that I'm building Linux with clang, I'm seeing more clang warnings. This fills in some extra fields missing in the final end-of-structure-array marker. llvm-svn: 211812
* Move the various Subtarget dependent members down to the subtargetEric Christopher2014-06-264-65/+81
| | | | | | | | for the Sparc port. Use the same initializeSubtargetDependencies function to handle initialization similar to the other ports to handle dependencies. llvm-svn: 211811
* Have SparcSelectionDAGInfo take a DataLayout to initialize sinceEric Christopher2014-06-263-5/+5
| | | | | | that's all it needs. llvm-svn: 211810
* Remove the storage and use of the subtarget out of the sparc frameEric Christopher2014-06-262-9/+11
| | | | | | lowering code. llvm-svn: 211809
* fixed typoSanjay Patel2014-06-261-1/+1
| | | | llvm-svn: 211808
* Objective-C ARC. Provide diagnostic and fix-it Fariborz Jahanian2014-06-264-1/+71
| | | | | | | | | when casting a retainable object to a objc_bridge_related CF type with the suggestion of applying the method specified in the bridging attribute to the object. // rdar://15932435 llvm-svn: 211807
* Driver: Fix a misleading comment and test for what it actually didJustin Bogner2014-06-262-1/+2
| | | | llvm-svn: 211806
* Driver: Remove trailing whitespaceJustin Bogner2014-06-261-2/+2
| | | | llvm-svn: 211805
* Fix the new LTOCodeGenerator setup in gold to parse options before using MAttrs.Tom Roeder2014-06-261-9/+10
| | | | | | | This fixes a regression that made clang -flto -Wl,--plugin-opt=-mattr=+aes not pass the "+aes" option to the LTOCodeGenerator attributes. llvm-svn: 211804
* [Refactor] Make the used dependence types explicitJohannes Doerfert2014-06-263-11/+9
| | | | llvm-svn: 211803
* clang-cl: Don't store the cl compiler Tool on the stack (PR20131)Hans Wennborg2014-06-262-4/+18
| | | | | | | | | | | | | | The Command will refer back to the Tool as its source, so it has to outlive the Command. Having the Tool on the stack would cause us to crash when using "clang-cl -GR -fallback", because if the Command fails, Driver::ExecuteCompilation tries to peek at the Command's source. Differential Revision: http://reviews.llvm.org/D4314 llvm-svn: 211802
* GVN: Preserve invariant.load metadataArnold Schwaighofer2014-06-262-0/+34
| | | | | | | | | | | If both instructions to be replaced are marked invariant the resulting instruction is invariant. rdar://13358910 Fix by Erik Eckstein! llvm-svn: 211801
* Remove extraneous includes from the target machines.Eric Christopher2014-06-264-20/+0
| | | | llvm-svn: 211800
* Move all of the ARM subtarget features down onto the subtargetEric Christopher2014-06-264-121/+102
| | | | | | rather than the target machine. llvm-svn: 211799
* Move the frame lowering constructors out of line to avoid circularEric Christopher2014-06-264-9/+9
| | | | | | includes. llvm-svn: 211798
* [Fix] Broken tests after r211796.Johannes Doerfert2014-06-264-8/+4
| | | | llvm-svn: 211797
* [Refactor] Change memory access dump to preserve spaceJohannes Doerfert2014-06-261-4/+4
| | | | llvm-svn: 211796
* Use wrapped reduction dependencesJohannes Doerfert2014-06-264-44/+67
| | | | | | | | | | | This change will ease the transision to multiple reductions per statement as we can now distinguish the effects of multiple reductions in the same statement. + Wrapped reduction dependences are used to compute privatization dependences + Modified test cases to account for the change llvm-svn: 211795
* Hybrid dependency analysisJohannes Doerfert2014-06-264-7/+136
| | | | | | | | | | | This dependency analysis will keep track of memory accesses if they might be part of a reduction. If not, the dependences are tracked on a statement level. The main reason to do this is to reduce the compile time while beeing able to distinguish the effects of reduction and non-reduction accesses. + Adjusted two test cases llvm-svn: 211794
* Changed Phab 'CC' to 'subscriber'; fixed typoSanjay Patel2014-06-261-3/+3
| | | | llvm-svn: 211793
* ARM: Correctly identify cortex-m4 as v7em.Jim Grosbach2014-06-262-5/+21
| | | | | | | | | | | Get the predefined macro for the architecture correct. cortex-m4: __ARM_ARCH_7EM__ cortex-m3: __ARM_ARCH_7M__ cortex-m0: __ARM_ARCH_6M__ rdar://17420090 llvm-svn: 211792
* R600/SI: Add FP mode bits to binary.Matt Arsenault2014-06-264-14/+138
| | | | | | | | The default rounding mode to initialize the mode register needs to be reported to the runtime. Fill in other bits a kernel may be interested in setting for future use. llvm-svn: 211791
* Silence unused variable and parameter warnings.Logan Chien2014-06-262-3/+9
| | | | llvm-svn: 211790
* Make the clang-tidy-diff.py test conditional on the presence of Python 2.7. ↵Alexander Kornienko2014-06-264-1/+11
| | | | | | Use the python binary from the configuration. llvm-svn: 211789
* Add a Visualizer for VarDecl.Zachary Turner2014-06-261-6/+21
| | | | | | | | Reviewed by: Aaron Ballman Differential Revision: http://reviews.llvm.org/D4303 llvm-svn: 211788
* OpenCL 1.1 does not define CL_VERSION_1_2 so use hardcoded number insteadJeroen Ketema2014-06-262-4/+4
| | | | | | | | Otherwise the test evaluates to true on OpenCL 1.1 and earlier. Since we therefore cannot use the CL_VERSION_?_? macros move them to the proper position in the top-level header. llvm-svn: 211787
* Propset the executables for GetProgramPath().Logan Chien2014-06-268-0/+0
| | | | llvm-svn: 211786
* Implement the -fuse-ld= option.Logan Chien2014-06-2615-11/+105
| | | | | | | | | | | | | | This commit implements the -fuse-ld= option, so that the user can specify -fuse-ld=bfd to use ld.bfd. This commit re-applies r194328 with some test case changes. It seems that r194328 was breaking macosx or mingw build because clang can't find ld.bfd or ld.gold in the given sysroot. We should use -B to specify the executable search path instead. Patch originally by David Chisnall. llvm-svn: 211785
* Fix linux build.Logan Chien2014-06-261-8/+10
| | | | | | | | | * Replace strlcpy with snprintf since strlcpy is not available in glibc. * Replace __LINUX__ with __linux__. llvm-svn: 211784
* Silencing a warning about isZExtFree hiding an inherited virtual function. ↵Aaron Ballman2014-06-262-0/+5
| | | | | | No functional change intended. llvm-svn: 211783
* Silence a warning due to a comparison between signed and unsigned.Andrea Di Biagio2014-06-261-1/+1
| | | | | | No functional change intended. llvm-svn: 211782
* Add support for ppc64/power8 as a hostWill Schmidt2014-06-261-0/+2
| | | | llvm-svn: 211781
* Use own class for storing the RejectLogsAndreas Simbuerger2014-06-263-8/+44
| | | | | | | | Use a container class to store the reject logs. Delegating most calls to the internal std::map and add a few convenient shortcuts (e.g., hasErrors()). llvm-svn: 211780
* add ppc64/pwr8 as targetWill Schmidt2014-06-265-3/+18
| | | | | | | includes handling DIR_PWR8 where appropriate The P7Model Itinerary is currently tied in for use under the P8Model, and will be updated later. llvm-svn: 211779
* Add ppc64/power8 as a targetWill Schmidt2014-06-265-5/+56
| | | | llvm-svn: 211778
* Add diagnostic remark for ReportVariantBasePtrAndreas Simbuerger2014-06-263-0/+104
| | | | llvm-svn: 211777
* Added parsing co-processor names starting with "cr"Renato Golin2014-06-262-9/+31
| | | | | | | | | | Additional compliant GAS names for coprocessor register name are enabled for all instruction with parameter MCK_CoprocReg: LDC,LDC2,STC,STC2,CDP,CDP2,MCR,MCR2,MCRR,MCRR2,MRC,MRC2,MRRC,MRRC2 Patch by Andrey Kuharev. llvm-svn: 211776
* Add missing header for _LIBUNWIND_LOG().Logan Chien2014-06-261-0/+1
| | | | llvm-svn: 211775
* [OPENMP] Initial parsing and sema analysis for 'single' directive.Alexey Bataev2014-06-2628-5/+887
| | | | llvm-svn: 211774
* Fix dangling referenceAndreas Simbuerger2014-06-262-1/+5
| | | | llvm-svn: 211773
* [Driver] Improve the `isPathUnderSysroot()` function. Now it returns aSimon Atanasyan2014-06-262-7/+16
| | | | | | | correct result even if checking paths: a) symlinks and/or b) contains relative parts like /dir1/dir2/../dir2. llvm-svn: 211772
* [X86] Improve the selection of SSE3/AVX addsub instructions. Andrea Di Biagio2014-06-262-2/+198
| | | | | | | | | | | | | | | | | | | | | | | | | This patch teaches the backend how to canonicalize a shuffle vectors according to the rule: - (shuffle (FADD A, B), (FSUB A, B), Mask) -> (shuffle (FSUB A, -B), (FADD A, -B), Mask) Where 'Mask' is: <0,5,2,7> ;; for v4f32 and v4f64 shuffles. <0,3> ;; for v2f64 shuffles. <0,9,2,11,4,13,6,15> ;; for v8f32 shuffles. In general, ISel only knows how to pattern-match a canonical 'fadd + fsub + blendi' dag node sequence into an ADDSUB instruction. This new rule allows to convert a non-canonical dag sequence into a canonical one that will be matched by a single ADDSUB at ISel stage. The idea of converting a non-canonical ADDSUB into a canonical one by swapping the first two operands of the shuffle, and then negating the second operand of the FADD and FSUB, was originally proposed by Hal Finkel. llvm-svn: 211771
* Support for LLVM-style RTTI isa<...>, dyn_cast<...> et al.Andreas Simbuerger2014-06-263-38/+349
| | | | llvm-svn: 211770
* Support the new DiagnosticRemarksAndreas Simbuerger2014-06-265-77/+488
| | | | | | | | | | | | | | | | | | | | | | | | | | Add support for generating optimization remarks after completing the detection of Scops. The goal is to provide end-users with useful hints about opportunities that help to increase the size of the detected Scops in their code. By default the remark is unspecified and the debug location is empty. Future patches have to expand on the messages generated. This patch brings a simple test case for ReportFuncCall to demonstrate the feature. Reports all missed opportunities to increase the size/number of valid Scops: clang <...> -Rpass-missed="polly-detect" <...> opt <...> -pass-remarks-missed="polly-detect" <...> Reports beginning and end of all valid Scops: clang <...> -Rpass="polly-detect" <...> opt <...> -pass-remarks="polly-detect" <...> Differential Revision: http://reviews.llvm.org/D4171 llvm-svn: 211769
* This patch removed duplicate code for matching patterns Dinesh Dwivedi2014-06-263-146/+11
| | | | | | | | | which are now handled in SimplifyUsingDistributiveLaws() (after r211261) Differential Revision: http://reviews.llvm.org/D4253 llvm-svn: 211768
* [OPENMP] Initial parsing and sema analysis for 'section' directive.Alexey Bataev2014-06-2627-33/+335
| | | | llvm-svn: 211767
* Sema: Allow dllimport entities in template args for mingwDavid Majnemer2014-06-262-20/+28
| | | | | | | | | | | | | | Previously dllimport variables inside of template arguments relied on not using the C++11 codepath when -fms-compatibility was set. While this allowed us to achieve compatibility with MSVC, it did so at the expense of MingW. Instead, try to use the DeclRefExpr we dig out of the template argument. If it has the dllimport attribute, accept it and skip the C++11 null-pointer check. llvm-svn: 211766
* Added instruction combine to transform few more negative values addition to ↵Dinesh Dwivedi2014-06-262-49/+80
| | | | | | | | | | | | subtraction (Part 2) This patch enables transforms for (x + (~(y | c) + 1) --> x - (y | c) if c is even Differential Revision: http://reviews.llvm.org/D4209 llvm-svn: 211765
* Convert some function arguments to use ArrayRef.Craig Topper2014-06-268-91/+63
| | | | llvm-svn: 211764
* Convert StringLiteralParser constructor to use ArrayRef instead of a pointer ↵Craig Topper2014-06-2610-30/+29
| | | | | | and count. llvm-svn: 211763
OpenPOWER on IntegriCloud