summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Revert accidentally-committed file.Richard Smith2014-03-081-1/+0
| | | | llvm-svn: 203318
* Module [extern_c] attribute: inherit to submodules, don't write 'extern "C"'Richard Smith2014-03-089-16/+41
| | | | | | blocks when building in C mode, and serialize and deserialize the attribute. llvm-svn: 203317
* [DAGCombiner] Distribute TRUNC through AND in rotation amountAdam Nemet2014-03-071-0/+16
| | | | | | | | | | | | | | | | This is already done for shifts. Allow it for rotations as well. E.g.: (rotl:i32 x, (trunc (and y, 31))) -> (rotl:i32 x, (and (trunc y), 31)) Use the newly factored-out distributeTruncateThroughAnd. With this patch and some X86.td tweaks we should be able to remove redundant masking of the rotation amount like in the example above. HW implicitly performs this masking. The testcase will be added as part of the X86 patch. llvm-svn: 203316
* [DAGCombiner] Recognize another rotation idiomAdam Nemet2014-03-072-0/+134
| | | | | | | | | | | | | | | | This is the new idiom: x<<(y&31) | x>>((0-y)&31) which is recognized as: x ROTL (y&31) The change refines matchRotateSub. In Neg & (OpSize - 1) == (OpSize - Pos) & (OpSize - 1), if Pos is Pos' & (OpSize - 1) we can just use Pos' instead of Pos. llvm-svn: 203315
* [DAGCombiner] Slightly improve readability of matchRotateSubAdam Nemet2014-03-071-8/+9
| | | | | | | | | | Slightly change the wording in the function comment. Originally, it can be misunderstood as we turned the input into two subsequent rotates. Better connect the comment which talks about Mask and the code which used LoBits. Renamed variable to MaskLoBits. llvm-svn: 203314
* [docs] Add missing features for the x86-64 ELF backend.Michael J. Spencer2014-03-072-0/+30
| | | | llvm-svn: 203313
* Fix a small inferior process memory leak in ↵Jason Molenda2014-03-071-0/+2
| | | | | | SystemRuntimeMacOSX::PopulatePendingItemsForQueue(). llvm-svn: 203312
* ISel: Make VSELECT selection terminate in cases where the condition type has toArnold Schwaighofer2014-03-072-0/+25
| | | | | | | | | | | | | | | be split and the result type widened. When the condition of a vselect has to be split it makes no sense widening the vselect and thereby widening the condition. We end up in an endless loop of widening (vselect result type) and splitting (condition mask type) doing this. Instead, split both the condition and the vselect and widen the result. I ran this over the test suite with i686 and mattr=+sse and saw no regressions. Fixes PR18036. llvm-svn: 203311
* Re-enable ProcessElfCore for non-FreeBSD/Linux builds; with Greg's fix in ↵Jason Molenda2014-03-071-4/+0
| | | | | | | | r203274 this is not installing itself for Mach-O binaries. llvm-svn: 203310
* Remove unnecessary test for Darwin and update testcase to be a little lessAdrian Prantl2014-03-073-11/+12
| | | | | | | horrible/fragile. rdar://problem/16264854 llvm-svn: 203309
* [PECOFF] Support a new type of weak symbol.Rui Ueyama2014-03-077-26/+107
| | | | | | | | | | | | | | | Summary: COMDAT_SELECT_SAME_SIZE is a COMDAT type that I presume exist only in COFF. The semantics of the type is that linker should merge such COMDAT sections if their sizes are the same. Otherwise it's an error. Reviewers: Bigcheese, shankarke, kledzik CC: llvm-commits Differential Revision: http://llvm-reviews.chandlerc.com/D2996 llvm-svn: 203308
* Add a virtual destructor to quiet a warning.Eric Christopher2014-03-071-0/+2
| | | | llvm-svn: 203307
* Range-ify some for loops.Owen Anderson2014-03-071-8/+4
| | | | llvm-svn: 203306
* Actually add the header file.Eric Christopher2014-03-071-0/+69
| | | | llvm-svn: 203305
* Two part patch:Eric Christopher2014-03-074-103/+106
| | | | | | | | | | | | | | | First: refactor out the emission of entries into the .debug_loc section into its own routine. Second: add a new class ByteStreamer that can be used to either emit using an AsmPrinter or hash using DIEHash the series of bytes that would be emitted. Use this in all of the location emission routines for the .debug_loc section. No functional change intended outside of a few additional comments in verbose assembly. llvm-svn: 203304
* Add include guards and make public a few routines that add valuesEric Christopher2014-03-071-1/+11
| | | | | | to the hash. llvm-svn: 203303
* Replace "can not" with "cannot" in diagnostics messages.Ismail Pazarbasi2014-03-0723-80/+80
| | | | llvm-svn: 203302
* Remove unused method declarationEli Bendersky2014-03-071-1/+0
| | | | llvm-svn: 203301
* Revert "Remove unnecessary check for Darwin. rdar://problem/16264854"Adrian Prantl2014-03-071-1/+1
| | | | | | This breaks linux buildbots. Go figure. llvm-svn: 203300
* In my tests, I'm finding that declaring iterators in terms of ranges can ↵Aaron Ballman2014-03-075-16/+41
| | | | | | | | sometimes have dangerous side-effects where the range temporary is destroyed, taking the underlying iterators out with it. This changes the iterators so that they are no longer implemented in terms of ranges (so it's a very partial revert of the existing rangification efforts). llvm-svn: 203299
* Moved test file from test/MC/Mips to test/CodeGen/Mips.Sasa Stankovic2014-03-071-0/+0
| | | | llvm-svn: 203298
* Remove unnecessary check for Darwin. rdar://problem/16264854Adrian Prantl2014-03-071-1/+1
| | | | llvm-svn: 203297
* DebugInfo: Use DW_FORM_data4 for DW_AT_high_pc in inlined functionsDavid Blaikie2014-03-072-4/+4
| | | | | | Suggested by Adrian Prantl in code review for r203187. llvm-svn: 203296
* DebugInfo: Update test to cover linux (with a FIXME...) tooDavid Blaikie2014-03-071-6/+10
| | | | llvm-svn: 203295
* [C++11] Revert uses of lambdas with array_pod_sort.Benjamin Kramer2014-03-072-9/+11
| | | | | | Looks like GCC implements the lambda->function pointer conversion differently. llvm-svn: 203294
* [C++11] Revert uses of lambdas with array_pod_sort.Benjamin Kramer2014-03-074-23/+31
| | | | | | Looks like GCC implements the lambda->function pointer conversion differently. llvm-svn: 203293
* Remove unused code.Greg Clayton2014-03-072-103/+0
| | | | llvm-svn: 203292
* Update status for LWG 2193 and 2344.Marshall Clow2014-03-071-3/+3
| | | | llvm-svn: 203291
* Implement LWG #2344: quoted()'s interaction with padding is unclear. I think ↵Marshall Clow2014-03-072-9/+25
| | | | | | that anyone using quoted with padding is really confused, but it should work the way the rest of iostreams works. llvm-svn: 203290
* [C++11] Convert sort predicates into lambdas.Benjamin Kramer2014-03-076-50/+35
| | | | | | No functionality change. llvm-svn: 203289
* [C++11] Convert sort predicates into lambdas.Benjamin Kramer2014-03-077-62/+33
| | | | | | No functionality change. llvm-svn: 203288
* Actually include the ArrayRef header rather than rely on the forwardEric Christopher2014-03-071-2/+1
| | | | | | declaration. llvm-svn: 203287
* Fix up formatting.Eric Christopher2014-03-071-9/+8
| | | | llvm-svn: 203286
* Fix EXPECT_* to not produce a compile warning.Eli Bendersky2014-03-071-2/+2
| | | | | | EXPECT_TRUE/FALSE is also more idiomatic for booleans than EXPECT_EQ llvm-svn: 203284
* [-Wunreachable-code] Treat constant globals as configuration values in ↵Ted Kremenek2014-03-072-2/+21
| | | | | | | | | unreachable code heuristics. This one could possibly be refined even further; e.g. looking at the initializer and see if it is truly a configuration value. llvm-svn: 203283
* Zap another dead 'break' statement.Ted Kremenek2014-03-071-1/+0
| | | | llvm-svn: 203282
* R600/SI: Using SGPRs is illegal for instructions that read carry-out from VCCTom Stellard2014-03-073-8/+25
| | | | | Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> llvm-svn: 203281
* R600/SI: Custom lower i1 storesTom Stellard2014-03-072-3/+26
| | | | | | | | These are sometimes created by the shrink to boolean optimization in the globalopt pass. Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> llvm-svn: 203280
* Replace OwningPtr with std::unique_ptr.Ahmed Charles2014-03-07154-537/+512
| | | | | | This compiles cleanly with lldb/lld/clang-tools-extra/llvm. llvm-svn: 203279
* [C++11] Replacing DeclBase iterators decls_begin() and decls_end() with ↵Aaron Ballman2014-03-0721-186/+129
| | | | | | iterator_range decls(). The same is true for the noload versions of these APIs. Updating all of the usages of the iterators with range-based for loops. llvm-svn: 203278
* Replace OwningPtr::isValid() with conversion to bool.Ahmed Charles2014-03-078-22/+16
| | | | | | This is a precursor to moving to std::unique_ptr. llvm-svn: 203277
* [C++11] DwarfDebug: Turn single-use functors into lambdas.Benjamin Kramer2014-03-071-25/+16
| | | | | | No functionality change. llvm-svn: 203276
* Change OwningPtr::take() to OwningPtr::release().Ahmed Charles2014-03-0741-111/+99
| | | | | | This is a precursor to moving to std::unique_ptr. llvm-svn: 203275
* Verify we have a correct ELF or Mach core file before we return a valid ↵Greg Clayton2014-03-073-6/+41
| | | | | | instace of ProcessElfCore or ProcessMachCore respectively. llvm-svn: 203274
* [ADT] Update PointerIntPair to handle pointer types with more than 31 bits free.Jordan Rose2014-03-073-5/+84
| | | | | | | | | | Previously, the assertions in PointerIntPair would try to calculate the value (1 << NumLowBitsAvailable); the inferred type here is 'int', so if there were more than 31 bits available we'd get a shift overflow. Also, add a rudimentary unit test file for PointerIntPair. llvm-svn: 203273
* [docs] Teach CMake docs build how to generate Qt Creator help/documentation ↵Michael Gottesman2014-03-073-31/+115
| | | | | | | | | | files. Patch by Konrad Kleine. Differential Revision: http://llvm-reviews.chandlerc.com/D2967 llvm-svn: 203272
* Use predefined $(RM) in clean rule, and -r only for (expected) directoriesEd Maste2014-03-071-3/+4
| | | | llvm-svn: 203271
* [C++11] DwarfDebug: Use range-based for loops.Benjamin Kramer2014-03-071-245/+116
| | | | | | It has a lot of them with complex types. C++11 really shines here. llvm-svn: 203270
* Don't avoid cfi instructions on the bg/p.Rafael Espindola2014-03-072-6/+0
| | | | | | | The integrated assembler now works for ppc. Since this was the last use of the bg/p predicate and Hal says that it is now dead, drop the predicate too. llvm-svn: 203269
* Fix malloc thread step-out test on FreeBSDEd Maste2014-03-071-1/+9
| | | | | | | | | | | | | | | | After hitting the malloc() breakpoint on FreeBSD our top frame is actually an inlined function malloc_init. * frame #0: 0x0000000800dcba19 libc.so.7`malloc [inlined] malloc_init at malloc.c:5397 frame #1: 0x0000000800dcba19 libc.so.7`malloc(size=1024) + 9 at malloc.c:5949 frame #2: 0x00000000004006e5 test_step_out_of_malloc_into_function_b_with_dwarf`b(val=1) + 37 at main2.cpp:29 Add a heuristic to keep stepping out until we come to a non-malloc caller, before checking if it is our desired caller from the test code. llvm.org/pr17944 llvm-svn: 203268
OpenPOWER on IntegriCloud