summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Change the test case for llvm-objdump’s -archive-headers option to not ↵Kevin Enderby2015-01-161-4/+4
| | | | | | | | | check the size while I once again try to figure out why only the clang-cmake-armv7-a15-full bot is getting that value wrong. llvm-svn: 226345
* Update a commentPhilip Reames2015-01-161-1/+3
| | | | | | Be a bit more explicit about the fact that addrspace(1) is not reserved. llvm-svn: 226344
* Several improvements to the shush scriptEnrico Granata2015-01-161-10/+27
| | | | llvm-svn: 226343
* clang-format all the GC related files (NFC)Philip Reames2015-01-1614-627/+613
| | | | | | Nothing interesting here... llvm-svn: 226342
* [RuntimeDyld] Track symbol visibility in RuntimeDyld.Lang Hames2015-01-166-40/+95
| | | | | | | | | | | | | | | | | | | RuntimeDyld symbol info previously consisted of just a Section/Offset pair. This patch replaces that pair type with a SymbolInfo class that also tracks symbol visibility. A new method, RuntimeDyld::getExportedSymbolLoadAddress, is introduced which only returns a non-zero result for exported symbols. For non-exported or non-existant symbols this method will return zero. The RuntimeDyld::getSymbolAddress method retains its current behavior, returning non-zero results for all symbols regardless of visibility. No in-tree clients of RuntimeDyld are changed. The newly introduced functionality will be used by the Orc APIs. No test case: Since this patch doesn't modify the behavior for any in-tree clients we don't have a good tool to test this with yet. Once Orc is in we can use it to write regression tests that test these changes. llvm-svn: 226341
* Adding option -fno-inline-asm to disallow inline asmSteven Wu2015-01-169-0/+37
| | | | | | | | | | | | | | | | Summary: This patch add a new option to dis-allow all inline asm. Any GCC style inline asm will be reported as an error. Reviewers: rnk, echristo Reviewed By: rnk, echristo Subscribers: bob.wilson, rnk, echristo, rsmith, cfe-commits Differential Revision: http://reviews.llvm.org/D6870 llvm-svn: 226340
* Suggest objc_method_family(none) for a property named -newFoo or similar.Jordan Rose2015-01-163-9/+69
| | | | | | | | | | | | | | | As mentioned in the previous commit, if a property (declared with @property) has a name that matches a special Objective-C method family, the getter picks up that family despite being declared by the property. The most correct way to solve this problem is to add the 'objc_method_family' attribute to the getter with an argument of 'none', which unfortunately requires an explicit declaration of the getter. This commit adds a note to the existing error (ARC) or warning (MRR) for such a poorly-named property that suggests the solution; if there's already a declaration of the getter, it even includes a fix-it. llvm-svn: 226339
* ObjC getters with names like "newItem" should still be linked to the @property.Jordan Rose2015-01-163-1/+19
| | | | | | | | | | | | | | | | | | | | | | | | Two years ago I added a compile-time "optimization" to ObjCMethodDecl::findPropertyDecl: exit early if the current method is part of a special Objective-C method family (like 'new' or 'init'). However, if a property (declared with @property) has a name that matches a method family, the getter picks up that family despite being declared by the property. The early exit then made ObjCMethodDecl::findPropertyDecl decide that there was no associated property, despite the method itself being marked as an accessor. This corrects that by removing the early exit. This does /not/ change the fact that such a getter is considered to return a value with a +1 retain count. The best way to eliminate this is by adding the objc_method_family(none) attribute to the getter, but unlike the existing ns_returns_not_retained that can't be applied directly to the property -- you have to redeclare the getter instead. (It'd be nice if @property just implied objc_method_family(none) for its getter, but that would be a backwards-incompatible change.) rdar://problem/19038838 llvm-svn: 226338
* Isolate test for PR22096 to clang.David Blaikie2015-01-162-19/+27
| | | | | | | | | | | Emitting inlinable calls without debug locations (in functions with debug info, to functions with debug info) is problematic for debug info when inlining occurs. Test specifically that we don't do that in this case - thus the test isn't simply "don't crash", it's "include debug location for this call" (granted it's the wrong location - fix for that is coming) llvm-svn: 226337
* [PATCH] Speculatively instantiate archive membersRui Ueyama2015-01-166-8/+106
| | | | | | | | | | | | | | | | | | | | | | | | | | LLD parses archive file index table only at first. When it finds a symbol it is looking for is defined in a member file in an archive file, it actually reads the member from the archive file. That's done in the core linker. That's a single-thread process since the core linker is single threaded. If your command line contains a few object files and a lot of archive files (which is quite often the case), LLD hardly utilizes hardware parallelism. This patch improves parallelism by speculatively instantiating archive file members. At the beginning of the core linking, we first create a map containing all symbols defined in all members, and each time we find a new undefined symbol, we instantiate a member file containing the symbol (if such file exists). File instantiation is side effect free, so this should not affect correctness. This is a quick benchmark result. Time to link self-link LLD executable: Linux 9.78s -> 8.50s (0.86x) Windows 6.18s -> 4.51s (0.73x) http://reviews.llvm.org/D7015 llvm-svn: 226336
* PE/COFF: rework how we handle base relocationsSaleem Abdulrasool2015-01-161-51/+59
| | | | | | | | | | | | | Generalise the base relocation handling slightly to support multiple base relocation types in PE/COFF. This is necessary to generate proper executables for WoA. Track the base relocation type from the decision that we need a base relocation to the point where we emit the base relocation into base relocation directory. Remove an outdated TODO item while in the area. llvm-svn: 226335
* Fix a case where delayed typo correction should have resolved anKaelyn Takata2015-01-163-9/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ambiguity but wasn't. In the new test case, "click" wasn't being corrected properly because Sema::ClassifyName would call CorrectTypo for "click" then later Sema::DiagnoseEmptyLookup would call CorrectTypoDelayed for the same use of "click" (the former by the parser needing to determine what the identifier is so it knows how to parse the statement, i.e. is it the beginning of a declaration or an expression). CorrectTypo would record that typo correction for "click" failed and CorrectTypoDelayed would see that and not even try to correct the typo, even though in this case CorrectTypo failed due to an ambiguity (both "Click" and "clock" having an edit distance of one from "click") that could be resolved with more information. The fix is two-fold: 1) Have CorrectTypo not record failed corrections if the reason for the failure was two or more corrections with the same edit distance, and 2) Make the CorrectionCandidateCallback used by Parser::ParseCastExpression reject FunctionDecl candidates when the next token after the identifier is a ".", "=", or "->" since functions cannot be assigned to and do not have members that can be referenced. The reason for two correction spots is that from r222549 until r224375 landed, the first correction attempt would fail completely but the second would suggest "clock" while having the note point to the declaration of "Click". llvm-svn: 226334
* R600: Clean up floor testsMatt Arsenault2015-01-164-151/+146
| | | | | | | | These were using different naming schemes, not using multiple check prefixes and not using -LABEL. llvm-svn: 226333
* Fix the Archive::Child::getRawSize() method used by llvm-objdump’s ↵Kevin Enderby2015-01-164-3/+13
| | | | | | | | -archive-headers option and tweak its use in llvm-objdump. Add back the test case for the -archive-headers option. llvm-svn: 226332
* Remove pathname dependence. Also rewrite test to use FileCheckEric Christopher2015-01-161-1/+3
| | | | | | | | at the same time. Patch by David Callahan. llvm-svn: 226331
* A couple small changes to get LIT working with python3Eric Fiselier2015-01-162-2/+2
| | | | llvm-svn: 226330
* Move common code to base class.Rui Ueyama2015-01-163-40/+21
| | | | llvm-svn: 226329
* Fix some copypasta typos in asserts.Sean Silva2015-01-161-2/+2
| | | | | | | | Fixes PR22236 Patch by Nicolas Brunie! <nicolas.brunie@kalray.eu> llvm-svn: 226328
* [Kaleidoscope] Run clang-format over chapter 4 of kaleidoscope.Lang Hames2015-01-161-44/+38
| | | | | | I forgot to do this for r226308. Thanks to Eric Christopher for the reminder. llvm-svn: 226327
* [Hexagon] Converting halfword to doubleword multiply intrinsics.Colin LeMahieu2015-01-162-37/+303
| | | | llvm-svn: 226326
* Also put vtables in a comdat when rtti is disabled.Rafael Espindola2015-01-162-1/+5
| | | | llvm-svn: 226325
* [Hexagon] Converting accumulating halfword multiply intrinsics to patterns.Colin LeMahieu2015-01-162-90/+838
| | | | llvm-svn: 226324
* [libcxx] Add compiler utility class for LIT testsEric Fiselier2015-01-163-123/+189
| | | | | | | | | | | | | | | | | Summary: This adds a compiler utility class that handles generating compile commands and running them. Instead of having to pass the compiler path and 3 groups of flags between the configuration and the test format this allows us to just pass the compiler object. Reviewers: danalbert, jroelofs Reviewed By: jroelofs Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D7019 llvm-svn: 226323
* Add 'no_default_flags' option for turning off all default test compile and ↵Eric Fiselier2015-01-162-14/+30
| | | | | | | | | | | | | | link flags. When 'no_default_flags' is true only flags passed using '--param=compile_flags' and '--param=link_flags' will be used when compiling the tests. This option can be used to run the test suite against libstdc++ and helps with all unusual test suite configurations. NOTE: sanitizer flags are still added when '--param=use_sanitizer' is used even if '--param=no_default_flags' is given. llvm-svn: 226322
* Remove duplication code.Rui Ueyama2015-01-163-81/+3
| | | | llvm-svn: 226321
* Wrap to 80 columns. No behavior change.Nico Weber2015-01-161-1/+2
| | | | llvm-svn: 226320
* [PECOFF] Remove ResolvableSymbols to simplify.Rui Ueyama2015-01-165-73/+41
| | | | | | | | | | | We had such class there because of InputGraph abstraction. Previously, no one except InputGraph itself has complete picture of input file list. In order to create a set of all defined symbols, we had to use some indirections there to workaround InputGraph. It can now be rewritten as simple code. No change in functionality. llvm-svn: 226319
* [Hexagon] Beginning converting intrinsics to patterns instead of duplicated ↵Colin LeMahieu2015-01-162-71/+499
| | | | | | definitions. Converting halfword multiply intrinsics. llvm-svn: 226318
* Add comdat to string literal variables on COFF.Rafael Espindola2015-01-163-4/+10
| | | | llvm-svn: 226317
* [RuntimeDyld] Add 'stub_addr' to comment describing RuntimeDyldChecker's syntax.Lang Hames2015-01-161-0/+1
| | | | llvm-svn: 226316
* [Hexagon] Fix 226309, replacement atomic store patterns didn't actually ↵Colin LeMahieu2015-01-161-0/+17
| | | | | | exist, added new versions. llvm-svn: 226315
* llvm-readobj: add IMAGE_REL_ARM_MOV32(T) to the enumerationSaleem Abdulrasool2015-01-161-0/+1
| | | | | | | Add an additional based relocation to the enumeration of based relocation names. The lack of the enumerator value causes issues when inspecting WoA binaries. llvm-svn: 226314
* X86: fix comment typo in AsmParserSaleem Abdulrasool2015-01-161-1/+1
| | | | | | Fix a typo. NFC. llvm-svn: 226313
* InstrProf: Optionally print an error when emitting profile data failsJustin Bogner2015-01-161-1/+6
| | | | | | | | Debugging a missing profile is a bit painful right now. We can make people's lives a bit easier by adding a knob to enable printing a helpful error message for such failures. llvm-svn: 226312
* Move ownership of GCStrategy objects to LLVMContextPhilip Reames2015-01-1621-66/+102
| | | | | | | | | | | | Note: This change ended up being slightly more controversial than expected. Chandler has tentatively okayed this for the moment, but I may be revisiting this in the near future after we settle some high level questions. Rather than have the GCStrategy object owned by the GCModuleInfo - which is an immutable analysis pass used mainly by gc.root - have it be owned by the LLVMContext. This simplifies the ownership logic (i.e. can you have two instances of the same strategy at once?), but more importantly, allows us to access the GCStrategy in the middle end optimizer. To this end, I add an accessor through Function which becomes the canonical way to get at a GCStrategy instance. In the near future, this will allows me to move some of the checks from http://reviews.llvm.org/D6808 into the Verifier itself, and to introduce optimization legality predicates for some of the recent additions to InstCombine. (These will follow as separate changes.) Differential Revision: http://reviews.llvm.org/D6811 llvm-svn: 226311
* Fix abort_message.cpp for the NDK.Dan Albert2015-01-161-3/+15
| | | | | | | | | The NDK doesn't have access to `android/set_abort_message.h`, so use an extern declaration instead for API 21. For older releases, just use `__assert2`, which will report to logcat and/or the tombstone for some older releases. llvm-svn: 226310
* [Hexagon] Removing old duplicate atomic load/store patterns.Colin LeMahieu2015-01-161-65/+0
| | | | llvm-svn: 226309
* [Kaleidoscope] Fix a bug in Chapter 4 of the Kaleidoscope tutorial where repeatLang Hames2015-01-161-55/+253
| | | | | | | | calls to functions weren't evaluated correctly. Patch by Charlie Turner. Thanks Charlie! llvm-svn: 226308
* Spell 0 in an enum-appropriate way. No behavior change.Nico Weber2015-01-161-1/+1
| | | | llvm-svn: 226307
* Don't crash if a declarator in a friend decl doesn't have a name.Nico Weber2015-01-163-13/+21
| | | | | | | | | | | There was already an explicit check for that for the first decl. Move that to a different place so that it's called for the following decls too. Also don't randomly set the BitfieldSize ExprResult to true (this sets a pointer to true internally). Found by SLi's bot. llvm-svn: 226306
* Remove gc.root's findCustomSafePoints mechanismPhilip Reames2015-01-165-58/+11
| | | | | | | | | | | | Searching all of the existing gc.root implementations I'm aware of (all three of them), there was exactly one use of this mechanism, and that was to implement a performance improvement that should have been applied to the default lowering. Having this function is requiring a dependency on a CodeGen class (MachineFunction), in a class which is otherwise completely independent of CodeGen. I could solve this differently, but given that I see absolutely no value in preserving this mechanism, I going to just get rid of it. Note: Tis is the first time I'm intentionally breaking previously supported gc.root functionality. Given 3.6 has branched, I believe this is a good time to do this. Differential Revision: http://reviews.llvm.org/D7004 llvm-svn: 226305
* [Hexagon] Converting old patterns to new versions using classes.Colin LeMahieu2015-01-161-164/+253
| | | | llvm-svn: 226304
* Add comdats to the RTTI variables in the microsoft abi.Rafael Espindola2015-01-162-245/+254
| | | | llvm-svn: 226303
* Check commit accessSumanth Gundapaneni2015-01-161-1/+0
| | | | llvm-svn: 226302
* Compile fix for WIN32Vince Harron2015-01-161-7/+9
| | | | llvm-svn: 226301
* Add a utility script that executes an inferior process tucking its output ↵Enrico Granata2015-01-161-0/+47
| | | | | | | | away somewhere safe, and not letting error messages escape This has potential to be useful in build automation environments llvm-svn: 226300
* Take extra care to ensure we don't deref a NULL pointer.Greg Clayton2015-01-161-14/+18
| | | | llvm-svn: 226299
* [AVX512] Add intrinsics for masked aligned FP loads and storesAdam Nemet2015-01-163-2/+97
| | | | | | Part of <rdar://problem/17688758> llvm-svn: 226298
* Fix typo in r225922.Adam Nemet2015-01-161-2/+2
| | | | llvm-svn: 226297
* [AVX512] Add intrinsics for masked aligned FP loads and storesAdam Nemet2015-01-163-1/+106
| | | | | | | | | | Similar to the unaligned cases. Test was generated with update_llc_test_checks.py. Part of <rdar://problem/17688758> llvm-svn: 226296
OpenPOWER on IntegriCloud