summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* AMDGPU/SI: Don't try to move scratch wave offset when there are no free SGPRsTom Stellard2016-03-031-3/+15
| | | | | | | | | | | | | | Summary: When there were no free SGPRs, we were trying to move this value into some of the reserved registers which was causing a segmentation fault. Reviewers: arsenm Subscribers: arsenm, llvm-commits Differential Revision: http://reviews.llvm.org/D17590 llvm-svn: 262577
* Caught and fixed a typo in r262572.Sean Callanan2016-03-031-1/+1
| | | | | | | | | | I should have checked and imported D's in-class initializer. Instead I accidentally used ToField's in-class initializer, which is always NULL so ToField will never get one. <rdar://problem/24943405> llvm-svn: 262576
* [X86] Enable forwarding bool arguments in tail calls (PR26305)Hans Wennborg2016-03-032-0/+47
| | | | | | | | | The code was previously not able to track a boolean argument at a call site back to the formal argument of the caller. Differential Revision: http://reviews.llvm.org/D17786 llvm-svn: 262575
* Inline a trivial CMakeLists.txt.Rui Ueyama2016-03-032-2/+1
| | | | llvm-svn: 262574
* [PPCVSXFMAMutate] Temporarily disable this passTim Shen2016-03-035-11/+17
| | | | llvm-svn: 262573
* Fixed a problem where the ASTImporter mishandled in-class initializers.Sean Callanan2016-03-031-2/+7
| | | | | | | | | | | | | | Previously, the ASTImporter, when copying a FieldDecl, would make the new FieldDecl use the exact same in-class initializer as the original FieldDecl, which is a problem since the initializer is in the wrong AST. The initializer must be imported, just like all the other parts of the field. Doug Gregor reviewed this fix. <rdar://problem/24943405> llvm-svn: 262572
* [MBP] Renaming a confusing variable and add clarifying commentsPhilip Reames2016-03-031-19/+24
| | | | | | Was discussed as part of http://reviews.llvm.org/D17830 llvm-svn: 262571
* Fix Clang-tidy modernize-use-nullptr warnings in some files in source/Core; ↵Eugene Zelenko2016-03-036-312/+237
| | | | | | other minor fixes. llvm-svn: 262570
* Simplify string operations. NFC.Rui Ueyama2016-03-031-16/+9
| | | | llvm-svn: 262569
* Use StringRef member function instead of including StringExtras.hRui Ueyama2016-03-031-2/+1
| | | | llvm-svn: 262568
* [lanai] Fixing file path used in testJacques Pienaar2016-03-031-1/+1
| | | | llvm-svn: 262567
* Don't build source/Plugins/Process/Linux in the Xcode project file.Jason Molenda2016-03-031-38/+0
| | | | | | | | | | These files won't build for ios etc arm builds of lldb and aren't used for macosx native lldb's. http://reviews.llvm.org/D17750 <rdar://problem/24287153> llvm-svn: 262566
* This patch adds doxygen comments for all the intrinsincs in the header file ↵Ekaterina Romanova2016-03-031-0/+552
| | | | | | | | | | tmmintrin.h. The doxygen comments are automatically generated based on Sony's intrinsics document. I got an OK from Eric Christopher to commit doxygen comments without prior code review upstream. llvm-svn: 262565
* Serialize `pragma pointers_to_members` state.Nico Weber2016-03-036-1/+70
| | | | | | Like r262539, but for pointers_to_members. llvm-svn: 262552
* Improve some infrastructure for extended parameter infos andJohn McCall2016-03-0310-35/+129
| | | | | | | fix a bug with the instantiation of ns_consumed parameter attributes in ARC. llvm-svn: 262551
* Allow joined options to fix http://llvm.org/pr26730.Rui Ueyama2016-03-032-9/+10
| | | | llvm-svn: 262550
* TargetSchedule: Allow explicit Unsupported markers in InstRWMatthias Braun2016-03-031-0/+2
| | | | llvm-svn: 262549
* TableGen: Accept itinerary data when checking for schedmodel completenessMatthias Braun2016-03-031-4/+4
| | | | llvm-svn: 262548
* [MBP] Avoid placing random blocks between loop preheader and headerPhilip Reames2016-03-032-1/+41
| | | | | | | | | | If we have a loop with a rarely taken path, we will prune that from the blocks which get added as part of the loop chain. The problem is that we weren't then recognizing the loop chain as schedulable when considering the preheader when forming the function chain. We'd then fall to various non-predecessors before finally scheduling the loop chain (as if the CFG was unnatural.) The net result was that there could be lots of garbage between a loop preheader and the loop, even though we could have directly fallen into the loop. It also meant we separated hot code with regions of colder code. The particular reason for the rejection of the loop chain was that we were scanning predecessor of the header, seeing the backedge, believing that was a globally more important predecessor (true), but forgetting to account for the fact the backedge precessor was already part of the existing loop chain (oops!. Differential Revision: http://reviews.llvm.org/D17830 llvm-svn: 262547
* [X86] Don't give catch objects a displacement of zeroDavid Majnemer2016-03-039-40/+154
| | | | | | | | | | | | | | | | | | Catch objects with a displacement of zero do not initialize a catch object. The displacement is relative to %rsp at the end of the function's prologue for x86_64 targets. If we place an object at the top-of-stack, we will end up wit a displacement of zero resulting in our catch object remaining uninitialized. Address this by creating our catch objects as fixed objects. We will ensure that the UnwindHelp object is created after the catch objects so that no catch object will have a displacement of zero. Differential Revision: http://reviews.llvm.org/D17823 llvm-svn: 262546
* Add SymbolFilePDB to xcode project file to keep itJason Molenda2016-03-021-6/+22
| | | | | | up to date after 4262528. llvm-svn: 262543
* clang-cl pch test: Instead of copying the input, use /Fp to not write into ↵Nico Weber2016-03-022-3/+2
| | | | | | | | | the test directory. Also fix a bug with /Fp and absolute paths uncovered by this. Follow-up to r262487. llvm-svn: 262541
* [AArch64] add tests to demonstrate existing codegen for PR26819Sanjay Patel2016-03-021-0/+65
| | | | llvm-svn: 262540
* Serialize `pragma ms_struct` state.Nico Weber2016-03-029-15/+83
| | | | | | | | | | | pragma ms_struct has an effect on struct decls, and the effect is serialized correctly already. But the "is ms_struct currently on" state wasn't before this change. This uses the same approach as `pragma clang optimize`: When writing a module, the state isn't serialized, only when writing a pch file. llvm-svn: 262539
* AMDGPU: Simplify boolean conditional return statementsMatt Arsenault2016-03-027-44/+19
| | | | | | Patch by Richard Thomson llvm-svn: 262536
* Add new OpenMP 4.5 taskloop construct featureJonathan Peyton2016-03-024-6/+391
| | | | | | | | | | | | | | | | | | From the standard: The taskloop construct specifies that the iterations of one or more associated loops will be executed in parallel using OpenMP tasks. The iterations are distributed across tasks created by the construct and scheduled to be executed. This initial implementation uses a simple linear tasks distribution algorithm. Later we can add other algorithms to speedup generation of huge number of tasks (i.e., tree-like tasks generation should be faster). This needs to be put into the OpenMP runtime library in order for the compiler team to develop the compiler side of the implementation. Differential Revision: http://reviews.llvm.org/D17404 llvm-svn: 262535
* clang-format: [JS] Optionally re-quote string literals.Daniel Jasper2016-03-025-12/+146
| | | | | | | | | | | | | | | | | | | | | Turns "foo" into 'foo' (or vice versa, depending on configuration). This makes it more convenient to follow the Google JavaScript style guide: https://google.github.io/styleguide/javascriptguide.xml?showone=Strings#Strings This functionality is behind the option "JavaScriptQuotes", which can be: * "leave" (no re-quoting) * "single" (change to single quotes) * "double" (change to double quotes) This also changes single quoted JavaScript string literals to be treated as tok::string_literal, not tok::char_literal, which fixes two unrelated tests. Patch by Martin Probst. Thank you. llvm-svn: 262534
* Forgot to add test files for doacross and task priority.Jonathan Peyton2016-03-022-0/+78
| | | | llvm-svn: 262533
* Add new OpenMP 4.5 doacross loop nest featureJonathan Peyton2016-03-025-8/+341
| | | | | | | | | | | | | | | | | | | | | | From the standard: A doacross loop nest is a loop nest that has cross-iteration dependence. An iteration is dependent on one or more lexicographically earlier iterations. The ordered clause parameter on a loop directive identifies the loop(s) associated with the doacross loop nest. The init/fini routines allocate/free doacross buffer(s) for each loop for each thread. The wait routine waits for a flag designated by the dependence vector. The post routine sets the flag designated by current iteration vector. We use a similar technique of shared buffer indices that covers up to 7 nowait loops executed simultaneously by different threads (number 7 has no real meaning, just heuristic value). Also, the size of structures are kept intact via reducing dummy arrays. This needs to be put into the OpenMP runtime library in order for the compiler team to develop the compiler side of the implementation. Differential Revision: http://reviews.llvm.org/D17399 llvm-svn: 262532
* [MBP] Remove overly verbose debug outputPhilip Reames2016-03-021-5/+2
| | | | llvm-svn: 262531
* Explode store of arrays in instcombineAmaury Sechet2016-03-022-1/+54
| | | | | | | | | | | | Summary: This is the last step toward supporting aggregate memory access in instcombine. This explodes stores of arrays into a serie of stores for each element, allowing them to be optimized. Reviewers: joker.eph, reames, hfinkel, majnemer, mgrang Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D17828 llvm-svn: 262530
* [llvm-nm] Restore the previous behaviour (pre r262525).Davide Italiano2016-03-021-2/+1
| | | | | | | | It broke some buildbots. Pointy-hat to: me llvm-svn: 262529
* Add support for reading line tables from PDB files.Zachary Turner2016-03-0224-25/+1250
| | | | | | | | | | | | | | | | | | | | | | | | | | PDB is Microsoft's debug information format, and although we cannot yet generate it, we still must be able to consume it. Reason for this is that debug information for system libraries (e.g. kernel32, C Runtime Library, etc) only have debug info in PDB format, so in order to be able to support debugging of system code, we must support it. Currently this code should compile on every platform, but on non-Windows platforms the PDB plugin will return 0 capabilities, meaning that for now PDB is only supported on Windows. This may change in the future, but the API is designed in such a way that this will require few (if any) changes on the LLDB side. In the future we can just flip a switch and everything will work. This patch only adds support for line tables. It does not return information about functions, types, global variables, or anything else. This functionality will be added in a followup patch. Differential Revision: http://reviews.llvm.org/D17363 Reviewed by: Greg Clayton llvm-svn: 262528
* Add some minimal portability code paths for PS4.Sean Silva2016-03-022-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Hi David, SCE folks, What is implemented in this patch is enough for the upstream libprofile to work for PGO with the PS4 game codebase I tested ("game7" for you SCE folks; this is with a standalone build of compiler-rt). The first change, which is simple, is to stub out gethostname. PS4 doesn't have a simple analog for this that doesn't bring in extra OS libraries, so for now we do not support `%h` expansion. This is consistent with internal B#136272. The second change implies future work, but is a simple change at present. PS4 does not have `getenv`, so for now we will introduce a shim. This obviously makes it impossible for many of the tests to be run since they require setting `LLVM_PROFILE_FILE=`. I see two paths forward: 1. In the tests we are already wrapping execution with `%run` and so by setting a PS4-specific expansion for `%run` we can pass the information in another way We can adapt the getenv shim as appropriate. We will need to experiment with this internally. Maggie, Phillip, Filipe? Any ideas? Maybe ping me internally since we may need to get into some PS4 vagaries. I'm thinking a fake getenv library that uses some side channel for communication. 2. Another possibility which is more verbose is to use a separate clang invocation with `-profile-generate=<filename>` to set the filename in each test. This might require redundant clang invocations though which may be undesirable for upstream. David, thoughts? Also, this is a fairly libprofile-specific workaround, so it e.g. doesn't help Filipe's ASan work. Overall, this approach sounds like a bit of a hack to me. Small detail: InstrProfilingPort.h seems like the natural place for the getenv shim, but GCDAProfiling.c needs it as well. InstrProfilingUtil.h is currently the only header common between InstrProfilingFile.c and GCDAProfiling.c. I can move the shim to InstrProfilingPort.h and add an include to GCDAProfiling.c as per your preference David. Reviewers: davidxl, MaggieYi, phillip.power, filcab Subscribers: simon.f.whittaker, slingn, probinson, llvm-commits Differential Revision: http://reviews.llvm.org/D17676 llvm-svn: 262527
* [analyzer] Move ObjCSuperDeallocChecker out of the alpha package.Devin Coughlin2016-03-022-5/+5
| | | | | | | | It will now be on by default on Darwin. rdar://problem/6953275 llvm-svn: 262526
* [llvm-nm] Fix rendering of -s grouping with all the othe options.Davide Italiano2016-03-021-1/+2
| | | | llvm-svn: 262525
* [analyzer] Move ObjCDeallocChecker out of the alpha package.Devin Coughlin2016-03-025-11/+11
| | | | | | | | It will now be on by default on Darwin. rdar://problem/6927496 llvm-svn: 262524
* [MBP] Adjust debug output to be more focused and approachablePhilip Reames2016-03-021-18/+9
| | | | llvm-svn: 262522
* Unpack array of all sizes in InstCombineAmaury Sechet2016-03-022-5/+59
| | | | | | | | | | | | Summary: This is another step toward improving fca support. This unpack load of array in a series of load to array's elements. Reviewers: chandlerc, joker.eph, majnemer, reames, hfinkel Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D15890 llvm-svn: 262521
* [analyzer] Fix capitalization in ObjCSuperDeallocChecker diagnostic.Devin Coughlin2016-03-022-11/+11
| | | | llvm-svn: 262520
* Really fix ASAN leak/etc issues with MemorySSA unittestsDaniel Berlin2016-03-022-13/+13
| | | | llvm-svn: 262519
* Use ld.lld instead of "lld -flavor gnu".Rui Ueyama2016-03-022-2/+2
| | | | llvm-svn: 262518
* [libFuzzer] add -Werror for libFuzzer build ruleKostya Serebryany2016-03-021-1/+1
| | | | llvm-svn: 262517
* Fixed test failure platforms with name mangling different from Linux.Artem Belevich2016-03-021-3/+4
| | | | | | | | * Run cc with -triple x86_64-linux-gnu to make symbol mangling predictable. * Use temporary file as a fake GPU input so its content does not interfere with pattern matching. llvm-svn: 262516
* [PGO] Change profile use cc1 option to handle IR level profilesRong Xu2016-03-0224-50/+103
| | | | | | | | | | | | | | | | | | This patch changes cc1 option for PGO profile use from -fprofile-instr-use=<path> to -fprofile-instrument-use-path=<path>. -fprofile-instr-use=<path> is now a driver only option. In addition to decouple the cc1 option from the driver level option, this patch also enables IR level profile use. cc1 option handling now reads the profile header and sets CodeGenOpt ProfileUse (valid values are {None, Clang, LLVM} -- this is a common enum for -fprofile-instrument={}, for the profile instrumentation), and invoke the pipeline to enable the respective PGO use pass. Reviewers: silvas, davidxl Differential Revision: http://reviews.llvm.org/D17737 llvm-svn: 262515
* Fix minor bug in testXinliang David Li2016-03-021-1/+1
| | | | llvm-svn: 262514
* Use shallow clones in build-llvm.py.Stephane Sezer2016-03-021-1/+1
| | | | | | | | | | | | | | Summary: This makes cloning (and therefore the whole build) faster. The checkout step goes from ~4m to ~30s on my host. Reviewers: tfiala Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D17425 llvm-svn: 262513
* Revert "Fix ASAN detected errors in code and test" (it was not meant to be ↵Daniel Berlin2016-03-022-13/+13
| | | | | | | | committed yet) This reverts commit 890bbccd600ba1eb050353d06a29650ad0f2eb95. llvm-svn: 262512
* Fix ASAN detected errors in code and testDaniel Berlin2016-03-022-13/+13
| | | | llvm-svn: 262511
* Add another test for the GlobalOpt change in r212079.Bob Wilson2016-03-021-0/+19
| | | | | | | | | This is a test that Akira Hatanaka wrote to test GlobalOpt's handling of aliases with GEP operands. David Majnemer independently made the same change to GlobalOpt in r212079. Akira's test is a useful addition, so I'm pulling it over from the llvm repo for Swift on GitHub. llvm-svn: 262510
OpenPOWER on IntegriCloud