summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Remove dead code.Rui Ueyama2015-04-101-20/+0
| | | | llvm-svn: 234548
* Add Clang support for remaining integer divide and permute instructions from ↵Nemanja Ivanovic2015-04-096-1/+144
| | | | | | | | | | | ISA 2.06 This patch corresponds to review: http://reviews.llvm.org/D8398 It adds some builtin functions to access the extended divide and bit permute instructions. llvm-svn: 234547
* Add LLVM support for remaining integer divide and permute instructions from ↵Nemanja Ivanovic2015-04-0911-61/+291
| | | | | | | | | | | ISA 2.06 This is the patch corresponding to review: http://reviews.llvm.org/D8406 It adds some missing instructions from ISA 2.06 to the PPC back end. llvm-svn: 234546
* [Objective-C Sema] It is permissable to bridge cast to 'id'Fariborz Jahanian2015-04-092-5/+15
| | | | | | | of a CFType bridged to some unknown Objective-C type. rdar://20113785 llvm-svn: 234545
* Update test case for r234543.Benjamin Kramer2015-04-091-1/+1
| | | | llvm-svn: 234544
* [CodeGen] Do a more principled fix for PR231653, always use the inner type.Benjamin Kramer2015-04-093-14/+22
| | | | | | | We were still using the MaterializeTemporaryExpr's type to check if the transform is legal. Always use the inner Expr type. llvm-svn: 234543
* Revert r234477, "Differential Revision: http://reviews.llvm.org/D7249"Peter Collingbourne2015-04-094-208/+214
| | | | | | Should unbreak fuzzer buildbot. llvm-svn: 234542
* Fix undefined behavior.Rui Ueyama2015-04-091-10/+9
| | | | | | | Having std:move(mb) and mb->getBuffer() in the same argument list is not safe because the order of evaluation is not defined. llvm-svn: 234541
* ELF: Move CreateELF() from its own file to ELFReader.h.Rui Ueyama2015-04-092-72/+33
| | | | | | | | CreateELF.h was included only by ELFReader.h, and it was used only by ELFReader class. By making the function a member of the class, we can remove template parameters. llvm-svn: 234540
* Don't hardcode the name of the plugin - or it will get out of date, and this ↵Enrico Granata2015-04-091-3/+3
| | | | | | | | code will be broken Thanks Greg! llvm-svn: 234539
* Propagate usage of std:unique_ptr a bit. NFC.Rafael Espindola2015-04-091-5/+5
| | | | llvm-svn: 234538
* The dyld shared cache class table is not present in the iOS simulator, so do ↵Enrico Granata2015-04-091-0/+13
| | | | | | | | not actually warn to people when running under the simulator rdar://20403987 llvm-svn: 234537
* Update for LLVM api changes.Rafael Espindola2015-04-092-19/+13
| | | | llvm-svn: 234536
* Simplify use of formatted_raw_ostream.Rafael Espindola2015-04-0913-98/+78
| | | | | | | | | | | | | | | formatted_raw_ostream is a wrapper over another stream to add column and line number tracking. It is used only for asm printing. This patch moves the its creation down to where we know we are printing assembly. This has the following advantages: * Simpler lifetime management: std::unique_ptr * We don't compute column and line number of object files :-) llvm-svn: 234535
* Update design.rst to remove a mention about round-trip tests.Rui Ueyama2015-04-091-5/+1
| | | | llvm-svn: 234534
* Use Linux sysroot in Driver test case from r234521Reid Kleckner2015-04-091-0/+1
| | | | | | | | We don't actually need a real Mac sysroot to make the test pass, just a linker. This makes the test pass in environments where no ld is on PATH. llvm-svn: 234533
* [SEH] Outline finally blocks using the new variable capture supportReid Kleckner2015-04-0910-369/+360
| | | | | | | | | | | | | | | WinEHPrepare was going to have to pattern match the control flow merge and split that the old lowering used, and that wasn't really feasible. Now we can teach WinEHPrepare to pattern match this, which is much simpler: %fp = call i8* @llvm.frameaddress(i32 0) call void @func(iN [01], i8* %fp) This prototype happens to match the prototype used by the Win64 SEH personality function, so this is really simple. llvm-svn: 234532
* Fix printf format specifier to silence warning.Chaoren Lin2015-04-091-2/+2
| | | | llvm-svn: 234531
* [CodeGen] Combine concat_vector of trunc'd scalar to scalar_to_vector.Ahmed Bougacha2015-04-093-3/+33
| | | | | | | | | | | | | | We already do: concat_vectors(scalar, undef) -> scalar_to_vector(scalar) When the scalar is legal. When it's not, but is a truncated legal scalar, we can also do: concat_vectors(trunc(scalar), undef) -> scalar_to_vector(scalar) Which is equivalent, since the upper lanes are undef anyway. While there, teach the combine to look at more than 2 operands. Differential Revision: http://reviews.llvm.org/D8883 llvm-svn: 234530
* [AArch64][FastISel] Fix integer extend optimization.Juergen Ributzka2015-04-092-5/+25
| | | | | | | | | | | | | | The integer extend optimization tries to fold the extend into the load instruction. This requires us to identify if the extend has already been emitted or not and act accordingly on it. The check that was originally performed for this was not sufficient. Besides checking the ValueMap for a mapped register we also need to check if the virtual register has already an associated machine instruction that defines it. This fixes rdar://problem/20470788. llvm-svn: 234529
* [Sema] Diagnose references to unbound arrays in function definitionsDavid Majnemer2015-04-092-0/+7
| | | | | | | | A [*] is only allowed in a declaration for a function, not in its definition. We didn't correctly recurse on reference types while looking for it, causing us to crash in CodeGen instead of rejecting it. llvm-svn: 234528
* [ItaniumABILanguageRuntime] Remove an unneccesary 'typename' keyword.Siva Chandra2015-04-091-1/+1
| | | | | | | | | | | | | | Summary: This will get the windows bots going. Test Plan: Build LLDB on Windows. Reviewers: zturner Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D8934 llvm-svn: 234527
* Properly implement warn_unused_result checking for classes/structs.Kaelyn Takata2015-04-096-18/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | The previous implementation would copy the attribute from the class to functions that have the class as their return type when the functions are first declared. This proved to have two flaws: 1) if the class is forward-declared without the attribute and a function or method with the class as a its return type is declared, and afterward the class is defined with warn_unused_result, the function or method would never inherit the attribute, and 2) the check simply failed for functions and methods that are part of a template instantiation, regardless of whether the class with warn_unused_result is part of a specific instantiation or part of the template itself (presumably because those function/method declaration does not hit the same code path as a non-template one and so never inherits the attribute). The new approach is to instead modify the two places where a function or method call is checked for the warn_unused_result attribute on the decl by extending the checks to also look for the attribute on the decl's return type. Additionally, the check for return types that have the warn_unused_result now excludes pointers and references to such types, as such return types do not necessarily imply a transfer of ownership for the underlying object being referred to by the return value. This does not change the behavior of functions that are directly given the warn_unused_result attribute. llvm-svn: 234526
* Remove duplicated code and consolidate initializers.Eric Christopher2015-04-092-15/+5
| | | | llvm-svn: 234525
* [RenderScriptRuntime] Fix build after r234522.Siva Chandra2015-04-091-0/+4
| | | | | | | | | | | | Test Plan: Build LLDB Reviewers: domipheus Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D8933 llvm-svn: 234524
* [TestBitfields] Correct the attribute name to "aligned" in the testcase.Siva Chandra2015-04-092-7/+2
| | | | | | | | | | | | | | | | | | Summary: This makes all parts of the test pass with Clang and GCC. They are enabled with this patch. Test Plan: dotest.py -C <clang|gcc> -p TestBitfields Reviewers: vharron, clayborg Reviewed By: clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D8874 llvm-svn: 234523
* [IRForTarget] Strenghten handling of alternate mangling.Siva Chandra2015-04-094-26/+79
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This fixes an issue with GCC generated binaries wherein an expression with method invocations on std::string variables was failing. Such use cases are tested in TestSTL (albeit, in a test marked with @unittest2.expectedFailure because of other reasons). The reason for this particular failure with GCC is that the generated DWARF for std::basic_string<...> is incomplete, which makes clang not to use the alternate mangling scheme. GCC correctly generates the name of basic_string<...>: DW_AT_name "basic_string<char, std::char_traits<char>, std::allocator<char> >" It also lists the template parameters of basic_string correctly: DW_TAG_template_type_parameter DW_AT_name "_CharT" DW_AT_type <0x0000009c> DW_TAG_template_type_parameter DW_AT_name "_Traits" DW_AT_type <0x00000609> DW_TAG_template_type_parameter DW_AT_name "_Alloc" DW_AT_type <0x000007fb> However, it does not list the template parameters of std::char_traits<>. This makes Clang feel (while parsing the expression) that the string variable is not actually a basic_string instance, and consequently does not use the alternate mangling scheme. Test Plan: dotest.py -C gcc -p TestSTL -- See it go past the "for" loop expression successfully. Reviewers: clayborg, spyffe Reviewed By: clayborg, spyffe Subscribers: tberghammer, zturner, lldb-commits Differential Revision: http://reviews.llvm.org/D8846 llvm-svn: 234522
* [ASan] Don't link against libc++abi when not using libc++Hans Wennborg2015-04-092-3/+14
| | | | | | | This is a follow-up to r233860 which added -lc++abi when using ASan on Mac, and broke Chromium's ASan build which doesn't use libc++. llvm-svn: 234521
* [Objective-C modern translation]. Patch to fix type ofFariborz Jahanian2015-04-095-119/+119
| | | | | | | objc_msgSend's first argument to "Class" because objc_getClass is passed. rdar://20477025 llvm-svn: 234520
* clang-format bits of code to make a followup patch easy to read.Rafael Espindola2015-04-0911-26/+16
| | | | llvm-svn: 234519
* Revert "Refactoring and enhancement to FMA combine."Rafael Espindola2015-04-093-522/+181
| | | | | | This reverts commit r234513. It was failing on the bots. llvm-svn: 234518
* Fix Debugger::HandleProcessEvent in case when ProcessIOHandler doesn't existIlia K2015-04-092-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Previously the Debugger::HandleProcessEvent hid a top IOHandler if the process's IOHandler was inactive and later refreshed it. Usually the IOHandler.Refresh() prints the (lldb) prompt. The problem was in case of iOS remote platform when trying to execute 'command source' command. On this platform the process's IOHandler is empty, therefore the Debugger::HandleProcessEvent hid a top IOHandler and later refreshed it. So that the (lldb) prompt was printed with a program output in mixed order: was: ``` longlonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglong longlonglonglonglonglonglonglonglonglonglonglonglonglonglon(lldb) glonglonglonglonglonglonglonglonglonglonglonglong string ``` now: ``` longlonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglong longlonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglonglong longlonglonglonglonglonglonglonglong string ``` Reviewers: zturner, jingham, clayborg Reviewed By: clayborg Subscribers: lldb-commits, jingham, zturner, clayborg Differential Revision: http://reviews.llvm.org/D8929 llvm-svn: 234517
* [Python] Fix issue configuring sys.path during startup.Zachary Turner2015-04-095-40/+69
| | | | | | | | | | Previously, users on Windows had to manually specify PYTHONPATH to point to the site-packages directory before running LLDB. The reason for this was because sys.path was being initialized with a path containing unescaped backslashes, causing escape sequences to end up in the paths. llvm-svn: 234516
* Define a function with "... llvm::func...".Rafael Espindola2015-04-091-6/+5
| | | | | | | | | | | | Using this instead of namespace llvm { func... } Has the advantage that the build fails with a compiler error if it gets out of sync with the .h file. llvm-svn: 234515
* Fix @skipUnlessPlatform and @skipIfPlatform decorators to work on classes.Robert Flack2015-04-092-36/+21
| | | | | | | | | | | | | | | | The decorators to skip if or unless certain platforms relied on calling skipTest, which only worked if they were decorating individual test cases. However for decorating entire classes it needs different behavior. This behavior is already encapsulated in unittest2.skipIf and unittest2.skipUnless so this modifies the platform decorators to use these unittest skip decorators. Test Plan: ./dotest.py -t -p TestObjCMethods2.py See skipped tests on linux, and see tests run on macosx. Differential Revision: http://reviews.llvm.org/D8903 llvm-svn: 234514
* Refactoring and enhancement to FMA combine.Olivier Sallenave2015-04-093-181/+522
| | | | llvm-svn: 234513
* [clang-tidy] Ignore expressions with incompatible deleters.Samuel Benzaquen2015-04-092-7/+87
| | | | | | | | | | | | | | | Summary: Do not warn on .reset(.release()) expressions if the deleters are not compatible. Using plain assignment will probably not work. Reviewers: klimek Subscribers: curdeius, cfe-commits Differential Revision: http://reviews.llvm.org/D8422 llvm-svn: 234512
* Install a diagnostic consumer into each new ASTSean Callanan2015-04-091-2/+3
| | | | | | | | | | context as the first thing we do. This prevents crashes if some of the initial setup produces messages or errors. <rdar://problem/20457882> llvm-svn: 234511
* IR: Preserve use-list order by default in bitcodeDuncan P. N. Exon Smith2015-04-091-3/+3
| | | | | | | Pull the `-preserve-*-use-list-order` flags out of "experimental" mode, and preserve use-list order by default when serializing to bitcode. llvm-svn: 234510
* Added flag to disable isel instruction on PPC target. Using regular branches ↵Olivier Sallenave2015-04-092-0/+8
| | | | | | instead of isel is more efficient in some cases. llvm-svn: 234509
* Added the RenderScript language runtime pluginSean Callanan2015-04-091-0/+16
| | | | | | to the .xcodeproj. llvm-svn: 234508
* Use a raw_svector_ostream instead of a raw_string_ostream.Rafael Espindola2015-04-091-6/+8
| | | | | | It saves a bit of copying. llvm-svn: 234507
* Don't repeat name in comment. NFC.Rafael Espindola2015-04-094-24/+22
| | | | llvm-svn: 234506
* [NFC] add more comments for SLSRJingyue Wu2015-04-091-0/+5
| | | | llvm-svn: 234505
* Misc cleanup. NFC.Rafael Espindola2015-04-092-7/+7
| | | | | | These were lost when I reverted the raw_ostream changes. llvm-svn: 234504
* Initial language runtime support for RenderScript. Colin Riley2015-04-0910-0/+510
| | | | | | | | Plan is to have this initialized on a per-process basis somewhat the same as the ObjC library on module loading, but this commit is simply the foundation work and will be incrementally built upon to add that detection functionality. Differential Revision: http://reviews.llvm.org/D8896 llvm-svn: 234503
* clang-format. NFC.Rafael Espindola2015-04-091-2/+2
| | | | llvm-svn: 234502
* clang-format this constructor.Rafael Espindola2015-04-091-8/+4
| | | | llvm-svn: 234501
* Fix Xcode build after MipsLinuxSignals.cpp was added.Greg Clayton2015-04-091-0/+8
| | | | llvm-svn: 234500
* [CodeGen] When promoting a reference temporary to a global use the inner ↵Benjamin Kramer2015-04-092-3/+25
| | | | | | | | | type to fold it. The MaterializeTemporaryExpr can have a different type than the inner expression, miscompiling the constant. PR23165. llvm-svn: 234499
OpenPOWER on IntegriCloud