summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add support for a few Objective-C matchers.Manuel Klimek2015-03-125-4/+193
| | | | | | | | | | | Add some matchers for Objective-C selectors and messages to ASTMatchers.h. Minor mods to ASTMatchersTest.h to allow test files with ".m" extension in addition to ".cpp". New tests added to ASTMatchersTest.c. Patch by Dean Sutherland. llvm-svn: 232051
* Also enable the default rune table on CloudABI.Ed Schouten2015-03-121-1/+1
| | | | | | CloudABI does not expose a table on its own. llvm-svn: 232050
* Add option to disable access to the global filesystem namespace.Ed Schouten2015-03-1215-0/+104
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Systems like FreeBSD's Capsicum and Nuxi CloudABI apply the concept of capability-based security on the way processes can interact with the filesystem API. It is no longer possible to interact with the VFS through calls like open(), unlink(), rename(), etc. Instead, processes are only allowed to interact with files and directories to which they have been granted access. The *at() functions can be used for this purpose. This change adds a new config switch called _LIBCPP_HAS_NO_GLOBAL_FILESYSTEM_NAMESPACE. If set, all functionality that requires the global filesystem namespace will be disabled. More concretely: - fstream's open() function will be removed. - cstdio will no longer pull in fopen(), rename(), etc. - The test suite's get_temp_file_name() will be removed. This will cause all tests that use the global filesystem namespace to break, but will at least make all the other tests run (as get_temp_file_name will not build anyway). It is important to mention that this change will make fstream rather useless on those systems for now. Still, I'd rather not have fstream disabled entirely, as it is of course possible to come up with an extension for fstream that would allow access to local filesystem namespaces (e.g., by adding an openat() member function). Differential revision: http://reviews.llvm.org/D8194 Reviewed by: jroelofs (thanks!) llvm-svn: 232049
* Add low-frame/high-frame options to -stack-list-arguments (MI)Ilia K2015-03-123-11/+68
| | | | | | | | | | | | | | | | | Summary: Add low-frame/high-frame options to -stack-list-arguments All tests pass on OS X. Reviewers: clayborg, abidh Reviewed By: abidh Subscribers: lldb-commits, clayborg, abidh Differential Revision: http://reviews.llvm.org/D8282 llvm-svn: 232048
* IRBuilder: add a CreateShuffleVector function that takes an ArrayRef of intSanjay Patel2015-03-122-4/+12
| | | | | | | | | This is a convenience function to ease mask creation of ShuffleVectors in AutoUpgrade and other places. Differential Revision: http://reviews.llvm.org/D8184 llvm-svn: 232047
* [X86] Fix wrong target specific combine on SETCC nodes.Andrea Di Biagio2015-03-122-26/+198
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Part of the folding logic implemented by function 'PerformISDSETCCCombine' only worked under the assumption that the condition code in input could have been either SETNE or SETEQ. Unfortunately that assumption was incorrect, and in some cases the algorithm ended up incorrectly folding SETCC nodes. The incorrect folding only affected SETCC dag nodes where: - one of the operands was a build_vector of all zeroes; - the other operand was a SIGN_EXTEND from a vector of MVT:i1 elements; - the condition code was neither SETNE nor SETEQ. Example: (setcc (v4i32 (sign_extend v4i1:%A)), (v4i32 VectorOfAllZeroes), setge) Before this patch, the entire dag node sequence from the example was incorrectly folded to node %A. With this patch, the dag node sequence is folded to a (xor %A, (v4i1 VectorOfAllOnes)). Added test setcc-combine.ll. Thanks to Greg Bedwell for spotting this issue. llvm-svn: 232046
* [X86, AVX] replace vextractf128 intrinsics with generic shufflesSanjay Patel2015-03-125-40/+60
| | | | | | | | | | | | | | | | | Now that we've replaced the vinsertf128 intrinsics, do the same for their extract twins. This is very much like D8086 (checked in at r231794): We want to replace as much custom x86 shuffling via intrinsics as possible because pushing the code down the generic shuffle optimization path allows for better codegen and less complexity in LLVM. This is also the LLVM sibling to the cfe D8275 patch. Differential Revision: http://reviews.llvm.org/D8276 llvm-svn: 232045
* clang-format: When putting */& next to types, also wrap before them.Daniel Jasper2015-03-123-12/+23
| | | | | | | | | | | | Before: LoooooooooooongType * loooooooooooongVariable; After: LoooooooooooongType *loooooooooooongVariable; llvm-svn: 232044
* Removed an unused global variable.Hafiz Abid Qadeer2015-03-122-10/+0
| | | | | | | | | | This variable "g_debugger_name" is not used anywhere. It also causes a warning. I was first going to change its type to fix the warning then noticed that it is not being used. So removing it. Committed as Obvious. llvm-svn: 232043
* clang-format: [Java] Support anonymous classes after = and return.Daniel Jasper2015-03-123-0/+42
| | | | | | | | | | | | | | | | | | | Before: A a = new A(){public String toString(){return "NotReallyA"; } } ; After: A a = return new A() { public String toString() { return "NotReallyA"; } }; This fixes llvm.org/PR22878. llvm-svn: 232042
* Remove unused variablePavel Labath2015-03-121-2/+0
| | | | llvm-svn: 232041
* Sema: Don't emit a missing prototype warning for deleted functions.Benjamin Kramer2015-03-123-28/+35
| | | | | | | | | | | | | This is a bit more involved than I anticipated, so here's a breakdown of the changes: 1. Call ActOnFinishFunctionBody _after_ we parsed =default and =delete specifiers. Saying that we finished the body before parsing =default is just wrong. Changing this allows us to use isDefaulted and isDeleted on a decl in ActOnFinishFunctionBody. 2. Check for -Wmissing-prototypes after we parsed the function body. 3. Disable -Wmissing-prototypes when the Decl isDeleted. llvm-svn: 232040
* Use Sema's PrintingPolicy when diagnosing DeclSpecs.Benjamin Kramer2015-03-122-2/+3
| | | | | | | | | | | | | Sema overrides ASTContext's policy on the first emitted diagnostic (doesn't matter if it's ignored or not). This means changing the order of diagnostic emission in Sema suddenly changes the text of diagnostic emitted from the parser. In the test case -Wmissing-prototypes (ignored) was the culprit, use 'int main' to suppress that warning so we see when this regresses. Also move it into Sema/ as it's not testing any C++. llvm-svn: 232039
* Reverting r232034, as it broke one of the bots with link errors. Details at: ↵Aaron Ballman2015-03-125-193/+4
| | | | | | http://bb.pgr.jp/builders/ninja-clang-x64-mingw64-RA/builds/6352/steps/build/logs/stdio llvm-svn: 232038
* Instead of dereferencing std::vector::end() (which is UB and causes failed ↵Aaron Ballman2015-03-121-1/+2
| | | | | | assertions in debug builds with Visual Studio), use data() + size() to calculate the end iterator. Amends r231952. llvm-svn: 232037
* [OPENMP] CodeGen - 'omp for' with dynamic schedule kinds.Alexander Musman2015-03-124-47/+385
| | | | | | Differential Revision: http://reviews.llvm.org/D7138 llvm-svn: 232036
* Silencing an "enumeral and non-enumeral type in conditional expression" ↵Aaron Ballman2015-03-121-1/+1
| | | | | | warning; NFC. llvm-svn: 232035
* Added some matchers for objective c selectors and messages to ASTMatchers.h. ↵Aaron Ballman2015-03-125-4/+193
| | | | | | | | Minor mods to ASTMatchersTest.h to allow test files with ".m" extension in addition to ".cpp". New tests added to ASTMatchersTest.c. Patch by Dean Sutherland, reviewed by Manuel Klimek. From http://reviews.llvm.org/D7710 llvm-svn: 232034
* [X86][AVX2] Added missing palignr stack folding testSimon Pilgrim2015-03-121-2/+7
| | | | llvm-svn: 232033
* tsan: fix a bug in MetaMap::ResetRangeDmitry Vyukov2015-03-122-2/+51
| | | | | | | The bug was uncovered by NegativeTests.MmapTest from data-race-test suite, so port it as well. llvm-svn: 232032
* [clang-tidy] Remove an empty destructor.Alexander Kornienko2015-03-121-2/+0
| | | | llvm-svn: 232031
* Fix configure & make build by adding support for the ExampleSubTarget.Iain Sandoe2015-03-124-4/+21
| | | | llvm-svn: 232030
* tsan: fix crash during __tsan_java_moveDmitry Vyukov2015-03-124-2/+90
| | | | | | | | Munmap interceptor did not reset meta shadow for the range, and __tsan_java_move crashed because it encountered non-zero meta shadow for the destination. llvm-svn: 232029
* Add infrastructure for support of multiple memory constraints.Daniel Sanders2015-03-1218-44/+107
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: The operand flag word for ISD::INLINEASM nodes now contains a 15-bit memory constraint ID when the operand kind is Kind_Mem. This constraint ID is a numeric equivalent to the constraint code string and is converted with a target specific hook in TargetLowering. This patch maps all memory constraints to InlineAsm::Constraint_m so there is no functional change at this point. It just proves that using these previously unused bits in the encoding of the flag word doesn't break anything. The next patch will make each target preserve the current mapping of everything to Constraint_m for itself while changing the target independent implementation of the hook to return Constraint_Unknown appropriately. Each target will then be adapted in separate patches to use appropriate Constraint_* values. Reviewers: hfinkel Reviewed By: hfinkel Subscribers: hfinkel, jholewinski, llvm-commits Differential Revision: http://reviews.llvm.org/D8171 llvm-svn: 232027
* Adding the implementation of atos and dladdr symbolizers for OS X.Kuba Brecka2015-03-127-60/+313
| | | | | | | | They are currently still *not* used, "llvm-symbolizer" is still the default symbolizer on OS X. Reviewed at http://reviews.llvm.org/D6588 llvm-svn: 232026
* Make the UBSan coverage-levels.cc test be Linux specificKuba Brecka2015-03-122-2/+9
| | | | | | Reviewed at http://reviews.llvm.org/D8278 llvm-svn: 232025
* Limit the lenght of the file name of the log file for testsTamas Berghammer2015-03-121-2/+5
| | | | | | | | | | | If a test have very long name and the compiler specified with (a long) full path then the name of the log file name can exceed 255 characters. This change replace the full compiler path with just the compiler name if the prior would cause a too long file name. Differential revision: http://reviews.llvm.org/D8252 llvm-svn: 232024
* Fix ProcessIO test failuresPavel Labath2015-03-127-10/+77
| | | | | | | | | | | | | | | | | | | | | | | | | Summary: There was a race condition regarding the output of the inferior process. The reading of the output is performed on a separate thread, and there was no guarantee that the output will get eventually consumed. Because of that, it was happening that calling Process::GetSTDOUT was not returning anything even though the process was terminated and would definitely not produce any further output. This was usually happening only under very heavy system load, but it can be reproduced by placing an usleep in the stdio thread (Process::STDIOReadThreadBytesReceived). This patch addresses this by adding synchronization capabilities to the Communication thread. After calling Communication::SynchronizeWithReadThread one can be sure that all pending input has been processed by the read thread. This function is then called after every public event which stops the process to obtain the entire process output. Test Plan: TestProcessIO.py should now succeed every time instead of flaking in and out. Reviewers: clayborg, jingham Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D8246 llvm-svn: 232023
* Test Commit: Spell correctionBhushan D. Attarde2015-03-121-2/+2
| | | | llvm-svn: 232022
* [OPENMP] Initial codegen for 'omp sections' and 'omp section' directives.Alexey Bataev2015-03-123-23/+231
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If only one section is found in the sections region, it is emitted just like single region. Otherwise it is emitted as a static non-chunked loop. #pragma omp sections { #pragma omp section {1} ... #pragma omp section {n} } is translated to something like i32 <iter_var> i32 <last_iter> = 0 i32 <lower_bound> = 0 i32 <upper_bound> = n-1 i32 <stride> = 1 call void @__kmpc_for_static_init_4(<loc>, i32 <gtid>, i32 34/*static non-chunked*/, i32* <last_iter>, i32* <lower_bound>, i32* <upper_bound>, i32* <stride>, i32 1/*increment always 1*/, i32 1/*chunk always 1*/) <upper_bound> = min(<upper_bound>, n-1) <iter_var> = <lb> check: br <iter_var> <= <upper_bound>, label cont, label exit continue: switch (IV) { case 0: {1}; break; ... case <NumSection> - 1: {n}; break; } ++<iter_var> br label check exit: call void @__kmpc_for_static_fini(<loc>, i32 <gtid>) Differential Revision: http://reviews.llvm.org/D8244 llvm-svn: 232021
* [Object/ELF] Add support for setVisibility()Davide Italiano2015-03-121-0/+8
| | | | | | | | | This is a prerequisite to implement symbol visibility for ELF in lld. Differential Revision: http://reviews.llvm.org/D8279 llvm-svn: 232020
* Add lldb-mi/lldb-server test folders to PATH before in dotest.pyIlia K2015-03-1216-71/+7
| | | | | | | | | | | | | | | | | Summary: This patch allows not specify search path in each lldb-mi test. It makes tests easier. This fix was requested by vharron. All test pass on OS X. Reviewers: vharron, clayborg Subscribers: lldb-commits, vharron Differential Revision: http://reviews.llvm.org/D8207 llvm-svn: 232019
* AVX-512: Added encoding tests for VPROR, VPROL instructions,Elena Demikhovsky2015-03-122-2/+930
| | | | | | fixed opcode. llvm-svn: 232018
* Fix SDK selection using "platform select" when --sysroot/--version/--build ↵Ilia K2015-03-122-1/+44
| | | | | | | | | | | | | | | | | | | | | | | | | options were specified Summary: This patch fixes SDK selection in the following case: ``` platform select remote-ios --sysroot "/Users/IliaK/Library/Developer/Xcode/iOS DeviceSupport/8.1.2 (12B440)" --build 12B440 --version 8.1.2 target create --arch arm64 "~/Project1.app" ``` Currently the lldb selects a first SDK version (in name order) in directory and then updates it after the device is connected. This approach ignores user's arguments and actually "platform select" command doesn't make sense. After this patch, lldb takes a SDK which matches to user's arguments. Reviewers: jasonmolenda, clayborg Reviewed By: clayborg Subscribers: lldb-commits, clayborg, jasonmolenda, aemerson Differential Revision: http://reviews.llvm.org/D8249 llvm-svn: 232017
* Skip AsanTestCase and AsanTestReportDataCase on DarwinIlia K2015-03-123-8/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This patch skips tests which cause the following error: ``` 1: test_with_dsym (TestMemoryHistory.AsanTestCase) ... os command: make clean ; make MAKE_DSYM=YES ARCH=x86_64 CC="/Users/IliaK/p/llvm/build_ninja/bin/clang" with pid: 9475 stdout: rm -f "a.out" main.o main.d main.d.tmp rm -f -r "a.out.dSYM" /Users/IliaK/p/llvm/build_ninja/bin/clang -fsanitize=address -fsanitize-address-field-padding=1 -g -arch x86_64 -I/Users/IliaK/p/llvm/tools/lldb/test/make/../../include -c -o main.o main.c /Users/IliaK/p/llvm/build_ninja/bin/clang main.o -fsanitize=address -fsanitize-address-field-padding=1 -g -arch x86_64 -I/Users/IliaK/p/llvm/tools/lldb/test/make/../../include -o "a.out" stderr: clang: error: unknown argument: '-fsanitize-address-field-padding=1' clang: error: unsupported argument 'address' to option 'fsanitize=' ld: file not found: /Users/IliaK/p/llvm/build_ninja/bin/../lib/clang/3.7.0/lib/darwin/libclang_rt.asan_osx_dynamic.dylib clang-3.7: error: linker command failed with exit code 1 (use -v to see invocation) make: *** [a.out] Error 1 retcode: 2 ERROR os command: make clean with pid: 9521 stdout: rm -f "a.out" main.o main.d main.d.tmp rm -f -r "a.out.dSYM" stderr: retcode: 0 Restore dir to: /Users/IliaK/p/llvm/tools/lldb ====================================================================== ERROR: test_with_dsym (TestMemoryHistory.AsanTestCase) ---------------------------------------------------------------------- Traceback (most recent call last): File "/Users/IliaK/p/llvm/tools/lldb/test/lldbtest.py", line 612, in wrapper func(*args, **kwargs) File "/Users/IliaK/p/llvm/tools/lldb/test/lldbtest.py", line 456, in wrapper return func(self, *args, **kwargs) File "/Users/IliaK/p/llvm/tools/lldb/test/functionalities/asan/TestMemoryHistory.py", line 24, in test_with_dsym self.buildDsym (None, compiler) File "/Users/IliaK/p/llvm/tools/lldb/test/lldbtest.py", line 1496, in buildDsym if not module.buildDsym(self, architecture, compiler, dictionary, clean): File "/Users/IliaK/p/llvm/tools/lldb/test/plugins/builder_darwin.py", line 16, in buildDsym lldbtest.system(commands, sender=sender) File "/Users/IliaK/p/llvm/tools/lldb/test/lldbtest.py", line 370, in system raise CalledProcessError(retcode, cmd) CalledProcessError: Command 'make clean ; make MAKE_DSYM=YES ARCH=x86_64 CC="/Users/IliaK/p/llvm/build_ninja/bin/clang" ' returned non-zero exit status 2 Config=x86_64-clang ---------------------------------------------------------------------- ``` Also this patch fixes findBuiltClang() by looking a clang in the build folder. BTW, another patch was made in October 2014, but it wasn't committed: http://reviews.llvm.org/D6272. Reviewers: abidh, zturner, emaste, jingham, jasonmolenda, granata.enrico, DougSnyder, clayborg Reviewed By: clayborg Subscribers: lldb-commits, DougSnyder, granata.enrico, jasonmolenda, jingham, emaste, zturner, abidh, clayborg Differential Revision: http://reviews.llvm.org/D7958 llvm-svn: 232016
* Avoid an unused variable warning when assertions are offJustin Bogner2015-03-121-0/+1
| | | | | | Patch by Mike Edwards. Thanks! llvm-svn: 232015
* Remove some unnecessary forward declarations and put a couple moreEric Christopher2015-03-128-24/+3
| | | | | | where they're supposed to reside. llvm-svn: 232014
* Remove the need to cache the subtarget in the Sparc TargetRegisterInfoEric Christopher2015-03-124-12/+11
| | | | | | classes. llvm-svn: 232013
* Remove the need to cache the subtarget in the Mips TargetRegisterInfoEric Christopher2015-03-1210-26/+26
| | | | | | classes. llvm-svn: 232012
* Reapply 'Run LICM pass after loop unrolling pass.'Kevin Qin2015-03-122-1/+55
| | | | | | | | | It's firstly committed at r231630, and reverted at r231635. Function pass InstructionSimplifier is inserted as barrier to make sure loop unroll pass won't affect on LICM pass. llvm-svn: 232011
* Remove the need to cache the subtarget in the ARM TargetRegisterInfoEric Christopher2015-03-1211-44/+39
| | | | | | | classes. Replace the frame pointer initialization with a static function that'll look it up via the subtarget on the MachineFunction. llvm-svn: 232010
* docs: Fix a typo in my previous commitJustin Bogner2015-03-121-1/+1
| | | | llvm-svn: 232009
* Fix PATH_MAX definition after remarks in r231917 (MI)Ilia K2015-03-123-4/+3
| | | | llvm-svn: 232008
* docs: Document the llvm-cov show and report commandsJustin Bogner2015-03-121-21/+191
| | | | | | | Add a basic synopsis of how to work with instrprof based coverage using the llvm-cov tools. llvm-svn: 232007
* Remove the need to cache the subtarget in the AArch64 TargetRegisterInfoEric Christopher2015-03-124-21/+26
| | | | | | | classes. Replace it with a cache to the Triple and use that where applicable at the moment. llvm-svn: 232005
* [NVPTXAsmPrinter] do not print .align on function headersJingyue Wu2015-03-125-1/+17
| | | | | | | | | | | | | | | | | | | Summary: PTX does not allow .align directives on function headers. Fixes PR21551. Test Plan: test/Codegen/NVPTX/function-align.ll Reviewers: eliben, jholewinski Reviewed By: eliben, jholewinski Subscribers: llvm-commits, eliben, jpienaar, jholewinski Differential Revision: http://reviews.llvm.org/D8274 llvm-svn: 232004
* Make llvm.eh.actions an intrinsic and add docs for itReid Kleckner2015-03-123-5/+47
| | | | | | | | These docs *don't* match the way WinEHPrepare uses them yet, and verifier support isn't implemented either. The implementation will come after the documentation text is reviewed and agreed upon. llvm-svn: 232003
* Remove the need to cache the subtarget in the PowerPC TargetRegisterInfoEric Christopher2015-03-123-55/+68
| | | | | | | classes. Replace it with a cache to the TargetMachine and use that where applicable at the moment. llvm-svn: 232002
* docs: Try to fix a couple of internal links in the llvm-profdata manualJustin Bogner2015-03-121-4/+4
| | | | | | | These links seem broken on llvm.org/docs. Change them to use the sphinx-recommended style to see if that helps. llvm-svn: 232001
* Remove some CHECK-NOT lines in favor of CHECK-NEXTReid Kleckner2015-03-127-61/+32
| | | | | | NFC, this is just shorter. llvm-svn: 232000
OpenPOWER on IntegriCloud