summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* clang-format: clang-format (NFC)Daniel Jasper2015-06-1712-80/+66
| | | | llvm-svn: 239903
* Qualify all types used in AST matcher macros.Alexander Kornienko2015-06-171-69/+114
| | | | | | | | | | | | | | | | | | | Summary: Qualify all types used in AST matcher macros. This makes it possible to put AST matchers in user code into a namespace other than clang::ast_matchers and this way prevent ODR violations that could happen when a matcher with the same name is defined in multiple translation units. Updated comments accordingly. Reviewers: djasper, klimek Reviewed By: djasper, klimek Subscribers: klimek, cfe-commits Differential Revision: http://reviews.llvm.org/D10501 llvm-svn: 239902
* [mips] [IAS] Fix LA with relative label operands.Toma Tabacu2015-06-172-12/+14
| | | | | | | | | | | | | | | | | Summary: Call MCSymbolRefExpr::create() with a MCSymbol* argument, not with a StringRef of the Symbol's name, in order to avoid creating invalid temporary symbols for relative labels (e.g. {$,.L}tmp00, {$,.L}tmp10 etc.). Reviewers: dsanders Reviewed By: dsanders Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D10498 llvm-svn: 239901
* clang-format: Don't generate unnecessary replacements for \r\n line endings.Daniel Jasper2015-06-172-1/+8
| | | | | | Patch by Mathieu Champlon. Thank you. llvm-svn: 239900
* [mips] [IAS] Add test for SW with relative label operands. NFC.Toma Tabacu2015-06-171-0/+5
| | | | | | | | | | | | Reviewers: dsanders Reviewed By: dsanders Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D10497 llvm-svn: 239899
* Remove empty directories left after r239657Alexander Kornienko2015-06-170-0/+0
| | | | llvm-svn: 239898
* [mips] [IAS] Fix LW with relative label operands.Toma Tabacu2015-06-172-21/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Previously, MCSymbolRefExpr::create() was called with a StringRef of the symbol name, which it would then search for in the Symbols StringMap (from MCContext). However, relative labels (which are temporary symbols) are apparently not stored in the Symbols StringMap, so we end up creating a new {$,.L}tmp symbol ({$,.L}tmp00, {$,.L}tmp10 etc.) each time we create an MCSymbolRefExpr by passing in the symbol name as a StringRef. Fortunately, there is a version of MCSymbolRefExpr::create() which takes an MCSymbol* and we already have an MCSymbol* at that point, so we can just pass that in instead of the StringRef. I also removed the local StringRef calls to MCSymbolRefExpr::create() from expandMemInst(), as those cases can be handled by evaluateRelocExpr() anyway. Reviewers: dsanders Reviewed By: dsanders Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D9938 llvm-svn: 239897
* Fix clang/test/Headers/x86intrin-2.c. _readfsbase_u32() is provided in not ↵NAKAMURA Takumi2015-06-171-0/+2
| | | | | | i686 but x86-64. llvm-svn: 239896
* [OPENMP] Fixed failed test for reduction clause in simd constructs.Alexey Bataev2015-06-171-6/+6
| | | | llvm-svn: 239895
* clang-format: [JS] Don't put top-level typescript enums on a single line.Daniel Jasper2015-06-172-27/+42
| | | | | | | | | | | This makes this consistent with non-typescript enums. Also shuffle the language-dependent stuff in mustBreakBefore to a single location. Patch initiated by Martin Probst. llvm-svn: 239894
* clang-format: [JS] Fix typescript enum formatting.Daniel Jasper2015-06-172-5/+21
| | | | | | | | | | | | | | | | | | | Patch by Martin Probst. Before: enum { A, B } var x = 1; After: enum { A, B } var x = 1; llvm-svn: 239893
* clang-format: NFC. Add a function to test whether an annotated lineDaniel Jasper2015-06-173-23/+39
| | | | | | | starts with a given sequence of tokens. Only the one-token version is used yet, but other usages are coming up momentarily. llvm-svn: 239892
* [PM/AA] Update Polly for r239886 which removed UnknownSize fromChandler Carruth2015-06-171-1/+1
| | | | | | | AliasAnalysis by getting it from its newly canonical home of MemoryLocation::UnknownSize. llvm-svn: 239890
* [OPENMP] Code reformatting for omp simd codegen, NFC.Alexey Bataev2015-06-173-110/+109
| | | | llvm-svn: 239889
* AVX-512: cvtusi2ss/d intrinsics.Igor Breger2015-06-175-50/+165
| | | | | | | | | Change builtin function name and signature ( add third parameter - rounding mode ). Added tests for intrinsics. Differential Revision: http://reviews.llvm.org/D10473 llvm-svn: 239888
* [PM/AA] Suffix lots of member variables that directly use enumerationChandler Carruth2015-06-171-48/+72
| | | | | | | | | | | | | | names for counts with the word 'Count' to make them less ambiguous. This will be an actual error if we use unscoped enums for any of these, and generally this seems much clearer to read. Also, use clang-format to normalize the formatting of this code which seems to have been needlessly odd. No functionality changed here. llvm-svn: 239887
* [PM/AA] Remove the UnknownSize static member from AliasAnalysis.Chandler Carruth2015-06-1712-79/+81
| | | | | | | | This is now living in MemoryLocation, which is what it pertains to. It is also an enum there rather than a static data member which is left never defined. llvm-svn: 239886
* [PM/AA] Remove the Location typedef from the AliasAnalysis class nowChandler Carruth2015-06-1735-303/+285
| | | | | | | | | | | | that it is its own entity in the form of MemoryLocation, and update all the callers. This is an entirely mechanical change. References to "Location" within AA subclases become "MemoryLocation", and elsewhere "AliasAnalysis::Location" becomes "MemoryLocation". Hope that helps out-of-tree folks update. llvm-svn: 239885
* [PM/AA] Split the location computation out of getArgLocation so theChandler Carruth2015-06-176-98/+133
| | | | | | | | | | | | | | | | | | | | | | | | | | | | virtual interface on AliasAnalysis only deals with ModRef information. This interface was both computing memory locations by using TLI and other tricks to estimate the size of memory referenced by an operand, and computing ModRef information through similar investigations. This change narrows the scope of the virtual interface on AliasAnalysis slightly. Note that all of this code could live in BasicAA, and be done with a single investigation of the argument, if it weren't for the fact that the generic code in AliasAnalysis::getModRefBehavior for a callsite calls into the virtual aspect of (now) getArgModRefInfo. But this patch's arrangement seems a not terrible way to go for now. The other interesting wrinkle is how we could reasonably extend LLVM with support for custom memory location sizes and mod/ref behavior for library routines. After discussions with Hal on the review, the conclusion is that this would be best done by fleshing out the much desired support for extensions to TLI, and support these types of queries in that interface where we would likely be doing other library API recognition and analysis. Differential Revision: http://reviews.llvm.org/D10259 llvm-svn: 239884
* Update the intel intrinsic headers to use the target attribute support.Eric Christopher2015-06-1738-356/+192
| | | | | | | | | | | | | | | | | | | This involved removing the conditional inclusion and replacing them with target attributes matching the original conditional inclusion and checks. The testcase update removes the macro checks for each file and replaces them with usage of the __target__ attribute, e.g.: int __attribute__((__target__(("sse3")))) foo(int a) { _mm_mwait(0, 0); return 4; } This usage does require the enclosing function have the requisite __target__ attribute for inlining and code generation - also for any macro intrinsic uses in the enclosing function. There's no change for existing uses of the intrinsic headers. llvm-svn: 239883
* Use a define for per-file function attributes for the Intel intrinsic headers.Eric Christopher2015-06-1731-1660/+1802
| | | | | | | This is a precursor to changing them to use the new target attribute code. llvm-svn: 239882
* [OPENMP] Supported reduction clause in omp simd construct.Alexey Bataev2015-06-174-6/+50
| | | | | | | | | | | | | | | | The following code is generated for reduction clause within 'omp simd' loop construct: #pragma omp simd reduction(op:var) for (...) <body> alloca priv_var priv_var = <initial reduction value>; <loop_start>: <body> // references to original 'var' are replaced by 'priv_var' <loop_end>: var op= priv_var; llvm-svn: 239881
* Revert "AArch64: Use CMP;CCMP sequences for and/or/setcc trees."Matthias Braun2015-06-175-295/+72
| | | | | | | | | The patch triggers a miscompile on SPEC 2006 403.gcc with the (ref) 200.i and scilab.i inputs. I opened PR23866 to track analysis of this. This reverts commit r238793. llvm-svn: 239880
* parser: wordsmith diagnostic messageSaleem Abdulrasool2015-06-172-2/+3
| | | | | | Address post-commit commit about the wording of the warning. llvm-svn: 239879
* Basic: tweak whitespace in Attr.tdSaleem Abdulrasool2015-06-171-1/+2
| | | | | | Separate two class definitions that had been merged into a single line. NFC. llvm-svn: 239878
* Try to fix the MSVC build.Rafael Espindola2015-06-171-1/+1
| | | | llvm-svn: 239877
* [Hexagon] Adding MC ELF streamer and updating addend relocation test which ↵Colin LeMahieu2015-06-178-5/+308
| | | | | | shows correct ELF symbol. llvm-svn: 239876
* [.gitignore] ignore vim swap files harderSean Silva2015-06-171-1/+1
| | | | | | This matches the patterns for vim swap files in llvm/.gitignore llvm-svn: 239875
* Revert r239873 - I actually want to think some more about thisEnrico Granata2015-06-174-26/+2
| | | | llvm-svn: 239874
* Fix an issue where the oneliner printing of variables would ignore custom ↵Enrico Granata2015-06-174-2/+26
| | | | | | | | | | | formatting Because vector types use their formats in special ways (i.e. children get generated based on them), this change by itself would cause a regression in printing vector types with some custom formats Work around that issue by special casing vector types out of this format-passdown mode. I believe there is a more general feature to be designed in this space, but until I see more cases of interest, I am going to leave this as a special case Fixes rdar://20810062 llvm-svn: 239873
* Fix alignment issues in LLVM.James Y Knight2015-06-176-9/+59
| | | | | | | | | | | | | | | | | | Adds static_asserts to ensure alignment of concatenated objects is correct, and fixes them where they are not. Also changes the definition of AlignOf to use constexpr, except on MSVC, to avoid enum comparison warnings from GCC. (There's not too much of this in llvm itself, most of the fun is in clang). This seems to make LLVM actually work without Bus Error on 32bit sparc. Differential Revision: http://reviews.llvm.org/D10271 llvm-svn: 239872
* Handle forward referenced function when streaming bitcode.Rafael Espindola2015-06-172-24/+80
| | | | | | | | Without this the included unit test would assert in assert(BasicBlockFwdRefs.empty() && "Unresolved blockaddress fwd references"); llvm-svn: 239871
* Handle MaterializeAll in getLazyBitcodeModuleImpl. NFC.Rafael Espindola2015-06-171-15/+11
| | | | | | | | This just handles both cases in the same place. Extracted from a patch by Karl Schimpf. llvm-svn: 239870
* COFF: Support creating DLLs.Rui Ueyama2015-06-1711-17/+419
| | | | | | | | | | | | DLL files are in the same format as executables but they have export tables. The format of the export table is described in PE/COFF spec section 5.3. A new class, EdataContents, takes care of creating chunks for export tables. What we need to do is to parse command line flags for dllexports, and then instantiate the class to create chunks. For the writer, export table chunks are opaque data -- it just add chunks to .edata section. llvm-svn: 239869
* COFF: Fix tests.Rui Ueyama2015-06-161-15/+15
| | | | | | I was accidentally testing not -flavor link2 but -flavor link. llvm-svn: 239868
* Use std::unique_ptr to manage the DataStreamer in bitcode parsing.Rafael Espindola2015-06-168-48/+55
| | | | | | We were already deleting it, this just makes it explicit. llvm-svn: 239867
* Rename and improve emitSectionOffset.Rafael Espindola2015-06-165-34/+25
| | | | | | | | | | | | | | | | | | | | | | | Different object formats represent references from dwarf in different ways. ELF uses a relocation to the referenced point (except for .dwo) and COFF/MachO use the offset of the referenced point inside its section. This patch renames emitSectionOffset because * It doesn't produce an offset on ELF. * It changes behavior depending on how DWARF is represented, so adding dwarf to its name is probably a good thing. The patch also adds an option to force the use of offsets.That avoids funny looking code like if (!UseOffsets) Asm->emitSectionOffset.... It was correct, but read as if the ! was inverted. llvm-svn: 239866
* Add a ThreadSafe adapter over llvm::DenseSetEnrico Granata2015-06-162-0/+67
| | | | llvm-svn: 239865
* COFF: Add miscellaneous boolean flags.Rui Ueyama2015-06-164-3/+84
| | | | llvm-svn: 239864
* Clear the "thread-format" setting after mucking with it.Greg Clayton2015-06-161-0/+1
| | | | llvm-svn: 239863
* Refactor RecurrenceInstDescTyler Nowicki2015-06-163-95/+87
| | | | | | Moved RecurrenceInstDesc into RecurrenceDescriptor to simplify the namespaces. llvm-svn: 239862
* Fix comments (MI).Dawn Perchik2015-06-161-7/+8
| | | | llvm-svn: 239861
* Add some tests based on PR21711Sanjay Patel2015-06-161-0/+61
| | | | | | | | These were originally added in r227242, but that patch was reverted because it caused a failure on AArch64. llvm-svn: 239860
* Update for llvm api change.Rafael Espindola2015-06-161-2/+2
| | | | llvm-svn: 239859
* Return a unique_ptr from getLazyBitcodeModule and parseBitcodeFile. NFC.Rafael Espindola2015-06-168-44/+42
| | | | llvm-svn: 239858
* [modules] Fix merging of default template arguments onto friend templates.Richard Smith2015-06-163-3/+15
| | | | | | | | | Previously we'd complain about redefinition of default arguments when we instantiated a class with a friend template that inherits its default argument, because we propagate the default template arguemnt onto the friend when we reload the AST. llvm-svn: 239857
* [llvm-readobj] Print MIPS .reginfo section contentSimon Atanasyan2015-06-165-0/+45
| | | | llvm-svn: 239856
* [X86][SSE] Vectorize v2i32 to v2f64 conversionsSimon Pilgrim2015-06-166-73/+42
| | | | | | | | This patch enables support for the conversion of v2i32 to v2f64 to use the CVTDQ2PD xmm instruction and stay on the SSE unit instead of scalarizing, sign extending to i64 and using CVTSI2SDQ scalar conversions. Differential Revision: http://reviews.llvm.org/D10433 llvm-svn: 239855
* Fix a typo in the help.Jim Ingham2015-06-161-1/+1
| | | | llvm-svn: 239854
* Add a .parent property to SBFrame's Python interface which allows easy ↵Enrico Granata2015-06-161-0/+10
| | | | | | access to the caller frame of the current frame llvm-svn: 239853
OpenPOWER on IntegriCloud