summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Make a good guess about where MSVC and Windows SDK libraries are for linking.Zachary Turner2014-10-223-0/+99
| | | | | | | | | | | | | When a user has not configured a standard Visual Studio environment by running vcvarsall, clang tries its best to find Visual Studio include files and executables anyway. This patch makes clang also try to find system and Windows SDK libraries for linking against, as well. Reviewed by: Hans Wennborg Differential Revision: http://reviews.llvm.org/D5873 llvm-svn: 220425
* Resubmit "Improve Windows toolchain support for non-standard environments."Zachary Turner2014-10-223-122/+219
| | | | | | | | | | | | | | This resubmits change r220226. That change broke the chromium build bots because chromium it ships an hermetic MSVC toolchain that it expects clang to fallback to by finding it on the path. This patch fixes the issue by bumping up the prioritization of PATH when looking for MSVC binaries. Reviewed by: Hans Wennborg, Reid Kleckner Differential Revision: http://reviews.llvm.org/D5892 llvm-svn: 220424
* Change the RegionSet type to a SetVectorDavid Peixotto2014-10-223-7/+11
| | | | | | | | | | | | | | | | | | | This patch changes the RegionSet type used in ScopDetection from a std::set to a llvm::SetVector. The reason for the change is to ensure deterministic output when printing the result of the analysis. We had a windows buildbot failure for the modified test because the output was coming in a different order. Only one test case needed to be modified for this change. We could use CHECK-DAG directives instead of CHECK in the analysis test cases because the actual order of scops does not matter, but I think that change should be done in a separate patch that modifies all the appliciable tests. I simply modified the test to reflect the expected deterministic output. Differential Revision: http://reviews.llvm.org/D5897 llvm-svn: 220423
* [AArch64] Add support for the .inst directive.Chad Rosier2014-10-228-1/+183
| | | | | | | | | | This has been implement using the MCTargetStreamer interface as is done in the ARM, Mips and PPC backends. Phabricator: http://reviews.llvm.org/D5891 PR20964 llvm-svn: 220422
* Reorganize some of the data formatters code to simplify ↵Enrico Granata2014-10-2211-238/+454
| | | | | | CXXFormattersFunction.h. Also, add a synthetic child provider for libc++'s version of std::initializer_list<T> llvm-svn: 220421
* Fixed a problem in the lldbinline logic where C++ files could not be validly ↵Enrico Granata2014-10-221-1/+1
| | | | | | compiled llvm-svn: 220420
* Create a documentation category for the new calling convention ↵Aaron Ballman2014-10-221-13/+22
| | | | | | documentation. Drive-by fixing of duplicate target names from a previous commit. llvm-svn: 220419
* Add support for profiling the matchers used.Samuel Benzaquen2014-10-223-8/+97
| | | | | | | | | | | | | | | Summary: Add support for profiling the matchers used. This will be connected with clang-tidy to generate a report to determine and debug slow checks. Reviewers: alexfh Subscribers: klimek, cfe-commits Differential Revision: http://reviews.llvm.org/D5911 llvm-svn: 220418
* Try to fix link errors in mingw cmake -DBUILD_SHARED_LIBS=ONReid Kleckner2014-10-221-0/+1
| | | | llvm-svn: 220417
* Go: add binding for LLVMSetUnnamedAddr.Peter Collingbourne2014-10-221-0/+1
| | | | llvm-svn: 220416
* Add documentation for calling convention attributesReid Kleckner2014-10-222-6/+78
| | | | llvm-svn: 220415
* Fix a problem where summary strings could not use a synthetically generated ↵Enrico Granata2014-10-223-0/+13
| | | | | | value as part of themselves llvm-svn: 220414
* Remove unused DiagnosticsEngine::NumErrorsSuppressed member.Rafael Espindola2014-10-223-3/+0
| | | | | | Patch by Brad King! llvm-svn: 220413
* Strength reduce constant-sized vectors into arrays. No functionality change.Benjamin Kramer2014-10-222-10/+8
| | | | llvm-svn: 220412
* Correct importing of the type of a TemplateArgumentDavid Blaikie2014-10-221-4/+5
| | | | | | | | | | | It's not clear how this would be tested - I imagine we should have an ASTImporter test that RAVs the new AST and checks that all the elements in it are from this ASTContext and not the foreign one... but I know little about the ASTImporter and how/where that testing might be done. (post-commit review feedback from Richard Smith on r219900) llvm-svn: 220411
* Do not add -gsplit-dwarf to LLVM_DEFINITIONS.Peter Collingbourne2014-10-221-1/+1
| | | | | | | | | | This would cause the flag to appear in the output of "llvm-config --cppflags", which should contain only preprocessor flags. The -gsplit-dwarf flag in particular can cause problems with certain downstream users such as cgo. Differential Revision: http://reviews.llvm.org/D5895 llvm-svn: 220410
* DebugInfo: Omit scopes in -gmlt to reduce metadata size (on disk and in memory)David Blaikie2014-10-224-9/+30
| | | | | | | I haven't done any actual impact analysis of this change as it's a strict improvement, but I'd be curious to know how much it helps. llvm-svn: 220408
* Fixup for r220403: Use getFileLoc() instead of getSpellingLoc() in ↵Alexey Samsonov2014-10-222-2/+8
| | | | | | | | | SanitizerBlacklist. This also handles the case where function name (not its body) is obtained from macro expansion. llvm-svn: 220407
* Sort unit test failures by name - submitted for Vince Harron ↵Shawn Best2014-10-221-0/+1
| | | | | | http://reviews.llvm.org/D5904 llvm-svn: 220406
* LoopVectorize: Simplify code. No functionality change.Benjamin Kramer2014-10-221-19/+7
| | | | llvm-svn: 220405
* Shorten auto iterators for function basic blocks.Diego Novillo2014-10-221-37/+36
| | | | | | | | Use consistent naming for basic block instances. No functional changes. llvm-svn: 220404
* SanitizerBlacklist: Use spelling location for blacklisting purposes.Alexey Samsonov2014-10-222-1/+11
| | | | | | | | | When SanitizerBlacklist decides if the SourceLocation is blacklisted, we need to first turn it into a SpellingLoc before fetching the filename and scanning "src:" entries. Otherwise we will fail to fecth the correct filename for function definitions coming from macro expansion. llvm-svn: 220403
* Fix number of operands in documentation for minnum / maxnumMatt Arsenault2014-10-221-10/+10
| | | | llvm-svn: 220402
* test: Make this test runnable in directories with @ in their namesJustin Bogner2014-10-221-1/+1
| | | | | | | | Jenkins likes to use directories with names involving the '@' character, which breaks the sed expression in this test. Switch to use '|' on the assumption that it's less likely to show up in a path. llvm-svn: 220401
* Reland r219810 "Fix late template parsing leak with incremental processing"Reid Kleckner2014-10-225-6/+67
| | | | | | | | | | | | | | Original message: Add a second late template parser callback meant to cleanup any resources allocated by late template parsing. Call it from the Sema::ActOnEndOfTranslationUnit method after all pending template instantiations have been completed. Teach Parser::ParseTopLevelDecl to install the cleanup callback when incremental processing is enabled so that Parser::TemplateIds can be freed. Patch by Brad King! llvm-svn: 220400
* Fix VS2012 build; C++11 type aliases are not supported.Hans Wennborg2014-10-221-1/+2
| | | | llvm-svn: 220399
* MS ABI: Emit more canonical vbptr stores and loadsReid Kleckner2014-10-229-110/+100
| | | | | | | | This eliminates some i8* GEPs and makes the IR that clang emits a bit more canonical. More work is needed for vftables, but that isn't a clear win so I plan to send it for review. llvm-svn: 220398
* Ammending 220393 - Removing unused decoding tables.Colin LeMahieu2014-10-221-18/+0
| | | | llvm-svn: 220397
* Ammending 220393 - Removing unused functions.Colin LeMahieu2014-10-221-33/+0
| | | | llvm-svn: 220396
* [PATCH] Support select-cc for VSFRC when VSX is enabledBill Schmidt2014-10-224-5/+47
| | | | | | | | | | | | | | A previous patch enabled SELECT_VSRC and SELECT_CC_VSRC for VSX to handle <2 x double> cases. This patch adds SELECT_VSFRC and SELECT_CC_VSFRC to allow use of all 64 vector-scalar registers for the f64 type when VSX is enabled. The changes are analogous to those in the previous patch. I've added a new variant to vsx.ll to test the code generation. (I also cleaned up a little formatting in PPCInstrVSX.td from the previous patch.) llvm-svn: 220395
* Use auto iteration in lib/Transforms/Scalar/SampleProfile.cpp. No functional ↵Diego Novillo2014-10-221-18/+15
| | | | | | changes. llvm-svn: 220394
* [Hexagon] Adding basic disassembler.Colin LeMahieu2014-10-2210-44/+238
| | | | | | | Marking all instructions as CodeGenOnly since encoding bits are not set yet. http://reviews.llvm.org/D5829?vs=on&id=15023&whitespace=ignore-all#toc llvm-svn: 220393
* Preserving 'nonnull' metadata in SimplifyCFGPhilip Reames2014-10-221-1/+4
| | | | | | | | | | When we hoist two loads above an if, we can preserve the nonnull metadata. We could also do the same for sinking them, but we appear to not handle metadata at all in that case. Thanks to Hal for the review. Differential Revision: http://reviews.llvm.org/D5910 llvm-svn: 220392
* Shrinkify libcalls: use float versions of double libm functions with ↵Sanjay Patel2014-10-224-114/+131
| | | | | | | | | | | | | | | | | | | | | | | | fast-math (bug 17850) When a call to a double-precision libm function has fast-math semantics (via function attribute for now because there is no IR-level FMF on calls), we can avoid fpext/fptrunc operations and use the float version of the call if the input and output are both float. We already do this optimization using a command-line option; this patch just adds the ability for fast-math to use the existing functionality. I moved the cl::opt from InstructionCombining into SimplifyLibCalls because it's only ever used internally to that class. Modified the existing test cases to use the unsafe-fp-math attribute rather than repeating all tests. This patch should solve: http://llvm.org/bugs/show_bug.cgi?id=17850 Differential Revision: http://reviews.llvm.org/D5893 llvm-svn: 220390
* Make two helper functions static.Rafael Espindola2014-10-221-2/+2
| | | | llvm-svn: 220389
* r600: Fix get_work_dim range metadataJan Vesely2014-10-221-1/+1
| | | | | | Reviewed-by: Matt Arsenault <Matthew.Arsenault@amd.com> Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 220388
* Remove unused StmtVector& parameters from declaration parsing functions.Rafael Espindola2014-10-224-22/+13
| | | | | | Patch by Eelis van der Weegen! llvm-svn: 220387
* Change error to warning when a profile cannot be found.Diego Novillo2014-10-222-3/+5
| | | | | | | | When the profile for a function cannot be applied, we use to emit an error. This seems extreme. The compiler can continue, it's just that the optimization opportunities won't include profile information. llvm-svn: 220386
* [PowerPC] Support select-cc for VSXBill Schmidt2014-10-223-3/+40
| | | | | | | | | | | | | | | | | | | | | | | | | The tests test/CodeGen/Generic/select-cc.ll and test/CodeGen/PowerPC/select-cc.ll both fail with VSX enabled. The problem is that the lowering logic for the SELECT and SELECT_CC operations doesn't currently support the VSX registers. This patch fixes that. In lib/Target/PowerPC/PPCInstrInfo.td, we have pseudos to handle this for other register classes. Similar pseudos are added in PPCInstrVSX.td (they must be there, because the "vsrc" register class definition appears there) for the VSRC register class. The SELECT_VSRC pseudo is then used in pattern matching for SELECT_CC. The rest of the patch just adds logic for SELECT_VSRC wherever similar logic appears for SELECT_VRRC. There are no new test cases because the existing tests above test this, along with a variant in test/CodeGen/PowerPC/vsx.ll. After discussion with Hal, a future patch will add similar _VSFRC variants to override f64 type handling (currently using F8RC). llvm-svn: 220385
* Fixing a -Wsign-compare warning; NFC.Aaron Ballman2014-10-221-1/+2
| | | | | | I think it might make sense to make COFF::MaxNumberOfSections16 be a uint32_t, however, that may have wider-reaching implications in other projects, which is why I did not change that declaration. llvm-svn: 220384
* Support using sample profiles with partial debug info (driver)Diego Novillo2014-10-223-2/+29
| | | | | | | | | | | | | | | | | | | | | | | Summary: When using a profile, we used to require the use -gmlt so that we could get access to the line locations. This is used to match line numbers in the input profile to the line numbers in the function's IR. But this is actually not necessary. The driver can provide source location tracking without the emission of debug information. In these cases, the annotation 'llvm.dbg.cu' is missing from the IR, but the actual line location annotations are still present. This patch tells the driver to only emit source location tracking when -fprofile-sample-use is present in the command line. Reviewers: echristo, dblaikie Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D5888 llvm-svn: 220383
* Support using sample profiles with partial debug info.Diego Novillo2014-10-222-14/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: When using a profile, we used to require the use -gmlt so that we could get access to the line locations. This is used to match line numbers in the input profile to the line numbers in the function's IR. But this is actually not necessary. The driver can provide source location tracking without the emission of debug information. In these cases, the annotation 'llvm.dbg.cu' is missing from the IR, but the actual line location annotations are still present. This patch adds a new way of looking for the start of the current function. Instead of looking through the compile units in llvm.dbg.cu, we can walk up the scope for the first instruction in the function with a debug loc. If that describes the function, we use it. Otherwise, we keep looking until we find one. If no such instruction is found, we then give up and produce an error. Reviewers: echristo, dblaikie Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D5887 llvm-svn: 220382
* [AArch64] Cleanup A57PBQPConstraintsArnaud A. de Grandmaison2014-10-224-48/+154
| | | | | | And add a long awaited testcase. llvm-svn: 220381
* [InstSimplify] Support constant folding to vector of pointersBruno Cardoso Lopes2014-10-222-2/+47
| | | | | | | | | | | | | | | | | | | ConstantFolding crashes when trying to InstSimplify the following load: @a = private unnamed_addr constant %mst { i8* inttoptr (i64 -1 to i8*), i8* inttoptr (i64 -1 to i8*) }, align 8 %x = load <2 x i8*>* bitcast (%mst* @a to <2 x i8*>*), align 8 This patch fix this by adding support to this type of folding: %x = load <2 x i8*>* bitcast (%mst* @a to <2 x i8*>*), align 8 ==> gets folded to: %x = <2 x i8*> <i8* inttoptr (i64 -1 to i8*), i8* inttoptr (i64 -1 to i8*)> llvm-svn: 220380
* [Thumb/Thumb2] Implement restrictions on SP in register list on LDM, STM ↵Jyoti Allur2014-10-222-2/+69
| | | | | | variants in thumb mode llvm-svn: 220379
* [OCaml] Fix a typo in documentation.Peter Zotov2014-10-221-1/+1
| | | | llvm-svn: 220377
* clang-format: Fix tests after recent change to ObjC block formatting.Daniel Jasper2014-10-222-2/+2
| | | | llvm-svn: 220376
* clang-format: Use AllowShortBlocksOnASingleLine for ObjC blocks, too.Daniel Jasper2014-10-222-17/+31
| | | | llvm-svn: 220375
* clang-format: Fix broken test.Daniel Jasper2014-10-221-1/+1
| | | | llvm-svn: 220374
* clang-format: Fix incorrect trailing return arrow detection.Daniel Jasper2014-10-222-1/+2
| | | | | | | | | | Before: auto doSomething(Aaaaaa* aaaaaa) -> decltype(aaaaaa -> f()) {} After: auto doSomething(Aaaaaa* aaaaaa) -> decltype(aaaaaa->f()) {} llvm-svn: 220373
OpenPOWER on IntegriCloud