summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* [PECOFF] Add /manifestdependency command line option.Rui Ueyama2013-10-224-1/+24
| | | | llvm-svn: 193201
* Treat aliases as definitions.Rafael Espindola2013-10-228-26/+122
| | | | | | | | | | | | | | This fixes pr17639. Before this patch clang would consider void foo(void) __attribute((alias("__foo"))); a declaration. It now correctly handles it as a definition. Initial patch by Alp Toker. I added support for variables. llvm-svn: 193200
* [X86][FastISel] Add a comment to help understanding changes made in r192636.Quentin Colombet2013-10-221-0/+23
| | | | | | <rdar://problem/15192473> llvm-svn: 193199
* R600/SI: Don't assert on SCC usageMatt Arsenault2013-10-221-0/+2
| | | | llvm-svn: 193198
* Debug Info: code clean up.Manman Ren2013-10-221-7/+1
| | | | | | | | | | | Remove unnecessary creation of LexicalScope in collectDeadVariables. The created LexicialScope was only used to get isAbstractScope, which should be false from the creation: "new LexicalScope(NULL, DIDescriptor(SP), NULL, false);". We can also remove a DenseMap that holds the created LexicalScopes. llvm-svn: 193196
* [PECOFF] Add /manifestfile command line option.Rui Ueyama2013-10-224-1/+27
| | | | | | | | /manifestfile:<path> specifies an alternative manifest file output path. Default is "<output-path>.manifest" where <output-path> is the executable's path. llvm-svn: 193195
* WhitespaceDavid Blaikie2013-10-221-2/+2
| | | | llvm-svn: 193194
* DIEHashing: Provide an assert for unreachable functionality regarding friends.David Blaikie2013-10-221-0/+3
| | | | | | | | | | | | | Since (as of r190716) Clang no longer emits debug info for C++ friend declarations (and it seems GCC never has/does, which was the motivation for the Clang change), there's no actual reachable case for implementing the part of DWARF 4, Section 7.27 part 5 that pertains to friends. Leave an assert here so that if/when we do have a client producing friends and using type units, we can fill in the gap and add appropriate (unit and feature) tests. llvm-svn: 193193
* llvm-cov: Use uint32_t for loop variables to be more consistent.Bob Wilson2013-10-221-2/+2
| | | | | | | | | The loop bounds here are uint32_t variables, so it makes sense for the loop variables to have the same type. Patch by Yuchen Wu! llvm-svn: 193192
* Simplified the code that materializes a variable,Sean Callanan2013-10-221-9/+3
| | | | | | obviating the need to create a new ValueObject. llvm-svn: 193191
* llvm-cov: fix a typo and rename a variable.Bob Wilson2013-10-221-4/+4
| | | | | | | | | Rename Size to EndPos, which makes more sense because the variable stores the last location of the blocks. Patch by Yuchen Wu! llvm-svn: 193189
* New fix for pr17535.Rafael Espindola2013-10-224-0/+101
| | | | | | | | | | | | | | | | | | | This is a fixed version of r193161. In order to handle void foo() __attribute__((alias("bar"))); void bar() {} void zed() __attribute__((alias("foo"))); it is not enough to delay aliases to the end of the TU, we have to do two passes over them to find if they are defined or not. This can be implemented by producing alias as we go and just doing the second pass at the end. This has the advantage that other parts of clang that were expecting alias to be processed in order don't have to be changed. This patch also handles cyclic aliases. llvm-svn: 193188
* _mm_extract_epi16: use "& 7" when index is out of bound.Manman Ren2013-10-222-1/+8
| | | | | | | This is in line with implementation of _mm_extract_pi16. rdar://15250497 llvm-svn: 193187
* Factor out into a separate function. No functionality change.Rui Ueyama2013-10-221-4/+9
| | | | llvm-svn: 193186
* ARM: provide diagnostics on more writeback LDM/STM instructionsTim Northover2013-10-225-17/+80
| | | | | | | | | | | | | | The set of circumstances where the writeback register is allowed to be in the list of registers is rather baroque, but I think this implements them all on the assembly parsing side. For disassembly, we still warn about an ARM-mode LDM even if the architecture revision is < v7 (the required architecture information isn't available). It's a silly instruction anyway, so hopefully no-one will mind. rdar://problem/15223374 llvm-svn: 193185
* [analyzer] scan-build: Handle -m* option wildcard after compiler/linker flags.Jordan Rose2013-10-221-4/+5
| | | | | | | | | | Some of the shared compiler/linker flags start with -m, so they've been getting passed to the compiler only since r180073. Now, the -m* wildcard is processed after the shared flags and the ignored flags. Found by Laszlo Nagy! llvm-svn: 193184
* R600/SI: Use llvm_unreachable() for an always false assertTom Stellard2013-10-221-2/+1
| | | | llvm-svn: 193183
* R600/SI: Fix warning on non-asserts buildTom Stellard2013-10-221-0/+1
| | | | llvm-svn: 193180
* R600: Simplify handling of private address spaceTom Stellard2013-10-2214-436/+134
| | | | | | | | | | | | | | | | | | The AMDGPUIndirectAddressing pass was previously responsible for lowering private loads and stores to indirect addressing instructions. However, this pass was buggy and way too complicated. The only advantage it had over the new simplified code was that it saved one instruction per direct write to private memory. This optimization likely has a minimal impact on performance, and we may be able to duplicate it using some other transformation. For the private address space, we now: 1. Lower private loads/store to Register(Load|Store) instructions 2. Reserve part of the register file as 'private memory' 3. After regalloc lower the Register(Load|Store) instructions to MOV instructions that use indirect addressing. llvm-svn: 193179
* R600: Remove unused InstrInfo::getMovImmInstr() functionTom Stellard2013-10-225-31/+0
| | | | llvm-svn: 193178
* Simplify testing case (Thanks Rafael for the testing case).Manman Ren2013-10-221-28/+22
| | | | llvm-svn: 193177
* Use GEPs correctly when adjusting this in MicrosoftCXXABITimur Iskhodzhanov2013-10-224-15/+24
| | | | | | Reviewed at http://llvm-reviews.chandlerc.com/D1977 llvm-svn: 193176
* DWARF type hashing: pointers to membersDavid Blaikie2013-10-222-11/+192
| | | | | | | | | Includes a test case/FIXME demonstrating a bug/limitation in pointer to member hashing. To be honest I'm not sure why we don't just always use summary hashing for referenced types... but perhaps I'm missing something. llvm-svn: 193175
* Revert r193073 and the attempt to fix it in r193170.Chandler Carruth2013-10-229-199/+15
| | | | | | | | | | This patch wasn't reviewed, and isn't correctly preserving the behaviors relied upon by QT. I don't have a direct example of fallout, but it should go through the standard code review process. For example, it should never have removed the QT test case that was added when fixing those users. llvm-svn: 193174
* [PECOFF] /manifestuac option is case insensitive.Rui Ueyama2013-10-221-3/+10
| | | | llvm-svn: 193173
* Fix llvm-cov counts to be 64-bit integers to avoid overflows.Bob Wilson2013-10-222-5/+5
| | | | | | | | | | Line counts in llvm-cov are read in as 64-bit integers but were being truncated to 32-bit in collectLineCounts(), which caused overflow for large counts. This patch fixes all counts to be uint64_t. Patch by Yuchen Wu! llvm-svn: 193172
* [PECOFF] Fix /manifestuac handling.Rui Ueyama2013-10-223-23/+20
| | | | | | uiAccess argument's type is not really boolean. It's string. llvm-svn: 193171
* Reenable 'break' in 'for' specifier to allow compilation of QT macro 'foreach'Serge Pavlov2013-10-222-5/+17
| | | | | | | | This is a fix to PR17649, caused by fix in r193073. QT uses 'break' statement to implement their 'foreach' macro. To enable build of QT, this fix reenables break but only in 'for' statement specifier and only in the third expression. llvm-svn: 193170
* Move local Db type out to namespace scope.Howard Hinnant2013-10-221-22/+23
| | | | llvm-svn: 193169
* clang-format: Fix ObjC literal indentation in Google style.Daniel Jasper2013-10-223-11/+26
| | | | | | | | | | | | | | | | | | | | | | Style guide demands a two-space indent. Before: NSArray *arguments = @[ kind == kUserTicket ? @"--user-store" : @"--system-store", @"--print-tickets", @"--productid", @"com.google.Chrome" ]; After: NSArray *arguments = @[ kind == kUserTicket ? @"--user-store" : @"--system-store", @"--print-tickets", @"--productid", @"com.google.Chrome" ]; llvm-svn: 193168
* clang-format: Improve formatting of ObjC array literals.Daniel Jasper2013-10-224-43/+64
| | | | | | | | | | | | | | | | | | Before: NSArray *arguments = @[ kind == kUserTicket ? @"--user-store" : @"--system-store", @"--print-tickets", @"--productid", @"com.google.Chrome" ]; After: NSArray *arguments = @[ kind == kUserTicket ? @"--user-store" : @"--system-store", @"--print-tickets", @"--productid", @"com.google.Chrome" ]; This fixes llvm.org/PR15231. llvm-svn: 193167
* Use early return. No functionality change.Rafael Espindola2013-10-221-10/+12
| | | | llvm-svn: 193166
* Speling fixes.Benjamin Kramer2013-10-228-10/+10
| | | | llvm-svn: 193165
* Drop the unneeded VBase field from MethodInfo in the VFTableBuilder classTimur Iskhodzhanov2013-10-221-12/+5
| | | | llvm-svn: 193164
* [msan] Drain allocator cache when leaving thread.Evgeniy Stepanov2013-10-223-1/+57
| | | | llvm-svn: 193163
* Revert "This patch causes clang to reject alias attributes that point to ↵Rafael Espindola2013-10-226-71/+3
| | | | | | | | | | | | | | | | undefined names. For example, with this patch we now reject" This reverts commit r193161. It broke void foo() __attribute__((alias("bar"))); void bar() {} void zed() __attribute__((alias("foo"))); Looks like we have to fix pr17639 first :-( llvm-svn: 193162
* This patch causes clang to reject alias attributes that point to undefinedRafael Espindola2013-10-226-3/+71
| | | | | | | | | | | | names. For example, with this patch we now reject void f1(void) __attribute__((alias("g1"))); This patch is implemented in CodeGen. It is quiet a bit simpler and more compatible with gcc than implementing it in Sema. The downside is that the errors only fire during -emit-llvm. llvm-svn: 193161
* Fix the -Werror -Wpedantic clang selfhost buildAlp Toker2013-10-221-3/+3
| | | | | | | | This is a stopgap fix for cast warnings introduced in r192864. A proper fix should be investigated by the author when possible. llvm-svn: 193160
* Fixes to get LLDB building on Windows again.Deepak Panickal2013-10-229-23/+18
| | | | llvm-svn: 193159
* [sanitizer] Intercept initgroups.Evgeniy Stepanov2013-10-225-0/+28
| | | | llvm-svn: 193158
* [mips][msa] Direct Object Emission support for conditional branches.Matheus Almeida2013-10-223-25/+121
| | | | | | | | | | | | These branches have a 16-bit offset (R_MIPS_PC16). List of conditional branch instructions: bnz.{b,h,w,d} bnz.v bz.{b,h,w,d} bz.v llvm-svn: 193157
* AVX-512: aligned / unaligned load and store for 512-bit integer vectors.Elena Demikhovsky2013-10-223-30/+64
| | | | llvm-svn: 193156
* Fix typo in variable nameAlp Toker2013-10-221-4/+4
| | | | llvm-svn: 193155
* Fix comment typoAlp Toker2013-10-221-1/+1
| | | | llvm-svn: 193154
* Remove incorrect assert.Manuel Klimek2013-10-222-1/+6
| | | | | | | | | | If we run into the second preprocessor branch chain, the first branch chain might have already set the maximum branch count on that level to something > 0. Fixes PR17645. llvm-svn: 193153
* Add testcase for PR3168. It was fixed over time.Bill Wendling2013-10-221-0/+21
| | | | | | PR3168 llvm-svn: 193152
* Allow a header to be part of multiple modules.Daniel Jasper2013-10-2218-81/+166
| | | | | | | | | | | | | | | | | | | | This patch changes two things: a) Allow a header to be part of multiple modules. The reasoning is that in existing codebases that have a module-like build system, the same headers might be used in several build targets. Simple reasons might be that they defined different classes that are declared in the same header. Supporting a header as a part of multiple modules will make the transistion easier for those cases. A later step in clang can then determine whether the two modules are actually compatible and can be merged and error out appropriately. The later check is similar to what needs to be done for template specializations anyway. b) Allow modules to be stored in a directory tree separate from the headers they describe. Review: http://llvm-reviews.chandlerc.com/D1951 llvm-svn: 193151
* Using FoldingSet in SelectionDAG::getVTList.Wan Xiaofei2013-10-222-60/+104
| | | | | | | | | | VTList has a long life cycle through the module and getVTList is frequently called. In current getVTList, sequential search over a std::vector is used, this is inefficient in big module. This patch use FoldingSet to implement hashing mechanism when searching. Reviewer: Nadav Rotem Test : Pass unit tests & LNT test suite llvm-svn: 193150
* llvm-c: Add LLVMPrintTypeToStringAnders Waldenborg2013-10-222-0/+18
| | | | | | Differential Revision: http://llvm-reviews.chandlerc.com/D1963 llvm-svn: 193149
* Change llvm-cov output formatting to be more similar to gcov.Bob Wilson2013-10-223-10/+12
| | | | | | | | | | | | - Replaced tabs with proper padding - print() takes two arguments, which are the GCNO and GCDA filenames - Files are listed at the top of output, appended by line 0 - Stripped strings of trailing \0s - Removed last two lines of whitespace in output Patch by Yuchen Wu! llvm-svn: 193148
OpenPOWER on IntegriCloud