summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix indentationMatthias Braun2013-10-041-1/+1
| | | | llvm-svn: 191965
* Fix typoMatthias Braun2013-10-042-2/+2
| | | | llvm-svn: 191964
* ARM: optimizeSelect has to consider the previous register classMatthias Braun2013-10-042-4/+32
| | | | | | | | optimizeSelect folds (predicated) copy instructions, it must not ignore the original register class of the operand when replacing the register with the copies dest register. llvm-svn: 191963
* ARM: do not add a regmask for TAILJUMPsMatthias Braun2013-10-042-16/+53
| | | | | | | | | The jump doesn't really kill the registers, the following call does but we never get back anyway. This avoids some verify-machineinstrs problems when TAILJUMPs are if-converted. llvm-svn: 191962
* ARM: preserve undef flag in pseudo instruction expandersMatthias Braun2013-10-042-19/+21
| | | | | | | Copy over the whole register machine operand instead of creating a new one with an incomplete set of flags. llvm-svn: 191961
* Remove EOL whitespace and redundant break statementEd Maste2013-10-042-19/+18
| | | | llvm-svn: 191960
* fix class/struct mismatch warningMichael Sartain2013-10-041-1/+1
| | | | llvm-svn: 191959
* Fix this test.Rafael Espindola2013-10-041-1/+1
| | | | llvm-svn: 191958
* Don't assume instruction names in the output.Rafael Espindola2013-10-042-12/+12
| | | | llvm-svn: 191957
* Add test from pr17476.Rafael Espindola2013-10-042-17/+35
| | | | llvm-svn: 191956
* Revert "Teach TreeTransform and family how to transform generic lambdas ↵Rafael Espindola2013-10-045-630/+48
| | | | | | | | within templates and nested within themselves." This reverts commit r191879. It caused llvm.org/pr17476. llvm-svn: 191955
* [TSan] Automatically pick up llvm-symbolizer from PATH, as we do in another ↵Alexey Samsonov2013-10-043-16/+7
| | | | | | sanitizers llvm-svn: 191954
* Do not emit undefined lsrh/ashr for NEON shiftsAmaury de la Vieuville2013-10-044-12/+125
| | | | | | | | These IR instructions are undefined when the amount is equal to operand size, but NEON right shifts support such shifts. Work around that by emitting a different IR in these cases. llvm-svn: 191953
* [TSan] Add ValgrindSlowdown to the list of exported symbolsAlexey Samsonov2013-10-041-0/+1
| | | | llvm-svn: 191952
* Revert r191947. The problem is not MIPS-specific and requires moreSimon Atanasyan2013-10-042-17/+1
| | | | | | general solution. llvm-svn: 191951
* Simplify MicrosoftCXXNameMangler::mangleFunctionTypeTimur Iskhodzhanov2013-10-041-19/+17
| | | | llvm-svn: 191950
* Revert "Test commit to check e-mail address. Please discard this."Alp Toker2013-10-041-1/+0
| | | | | | This reverts commit r191942. llvm-svn: 191949
* Restore LLVM_BUILD_RUNTIME option that was deleted in r191835, but is still ↵Alexey Samsonov2013-10-041-0/+2
| | | | | | used to control building of compiler-rt and libcxx llvm-svn: 191948
* [Mips] For MIPS '-fPIC -static' means to compile as -fPIC but link withSimon Atanasyan2013-10-042-1/+17
| | | | | | | | | -static. So do not turn off the PIC flag if -static passed to the driver in case of MIPS target. http://llvm.org/bugs/show_bug.cgi?id=14693 llvm-svn: 191947
* tsan: fix a bug in pthread_once when called from an ignored libraryDmitry Vyukov2013-10-041-3/+7
| | | | | | It must set thr->in_rtl = 0 before executing user callback. llvm-svn: 191946
* Implement aarch64 neon instruction set AdvSIMD (3V elem).Jiangning Liu2013-10-044-17/+1004
| | | | llvm-svn: 191945
* Implement aarch64 neon instruction set AdvSIMD (3V elem).Jiangning Liu2013-10-0410-53/+3314
| | | | llvm-svn: 191944
* Refactor the usage of strip_path_prefix option and make it more consistent ↵Alexey Samsonov2013-10-0412-68/+76
| | | | | | across sanitizers llvm-svn: 191943
* Test commit to check e-mail address. Please discard this.Jin-Gu Kang2013-10-041-0/+1
| | | | llvm-svn: 191942
* Revert r191940 to see if it fixes the build bots.Craig Topper2013-10-046-75/+1
| | | | llvm-svn: 191941
* Add OPC_CheckChildSame0-3 to the DAG isel matcher. This replaces sequences ↵Craig Topper2013-10-046-1/+75
| | | | | | of MoveChild, CheckSame, MoveParent. Saves 846 bytes from the X86 DAG isel matcher, ~300 from ARM, ~840 from Hexagon. llvm-svn: 191940
* DebugInfo: Fix ordering of members after r191928David Blaikie2013-10-045-6/+78
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the case (shown in the attached test) where a member function definition was emitted into debug info the following could occur: 1) build the debug info for the member function definition 2) in (1), build the debug info for the member function declaration 3) construct and add the member function declaration DIE 4) add it to its context 5) build its context (the type it is a member of) 6) construct the members and add them to the type 7) except don't add member functions because "getOrCreateSubprogram" adds the function to its parent anyway 8) except we're only partway through building this subprogram declaration so it hasn't been added yet - but we returned the partially constructed DIE (since it's already in the MDNode->DIE mapping to avoid infinitely recursing trying to create the member function DIE) 9) once the type is constructed, add the member function to it 10) now the members are out of order (the member function being defined is listed as the last member, even though it was declared as the first) To avoid this, construct the context of the subprogram DIE before we query to see if it exists. That way we never end up creating it before creating its context and ending up in this situation. Alternatively, the type construction that visits/builds all the members could call something like getOrCreateSubprogram, but that doesn't ever do the "add to context" step. Then the type building code would always be responsible for adding members (and the subprogram "addToContextDIE" would no-op because the context building would have added the subprogram declaration to the type/context DIE already). (the test cases updated were overly-sensitive to offsets or abbreviation numbers. We don't have a nice way to make these tests more robust as yet - multiline FileCheck matches would be required) llvm-svn: 191939
* Adding support and tests for multiple module handling in lliAndrew Kaylor2013-10-0418-229/+408
| | | | llvm-svn: 191938
* [analyzer] Replace bug category magic strings with shared constants, take 2.Jordan Rose2013-10-049-21/+27
| | | | | | | Re-commit r191910 (reverted in r191936) with layering violation fixed, by moving the bug categories to StaticAnalyzerCore instead of ...Checkers. llvm-svn: 191937
* Temporarily revert r191910 until the layering violation can be fixed.Richard Smith2013-10-035-10/+7
| | | | llvm-svn: 191936
* libc++abi no longer has a cxa_demangle.h header.Peter Collingbourne2013-10-031-1/+1
| | | | llvm-svn: 191935
* Changed the bool conversion operator on ConstStringSean Callanan2013-10-0313-23/+23
| | | | | | | | | | | | | | | to be explicit, to prevent horrid things like std::string a = ConstString("foo") from taking the path ConstString -> bool -> char -> std::string. This fixes, among other things, ClangFunction. <rdar://problem/15137989> llvm-svn: 191934
* Add missing GetBroadcasterClassName and event types enum to SBThread.iDaniel Malea2013-10-031-0/+16
| | | | llvm-svn: 191933
* Fixed a bug with section names containing special characters.Richard Mitton2013-10-033-44/+51
| | | | | | | | | | Changed the dwarf aranges code to not use getLabelEndName, as it turns out it's not reliable to call that given user-defined section names. Section names can have characters in that aren't representable as symbol names. The dwarf-aranges test case has been updated to include a special character, to check this. This fixes pr17416. llvm-svn: 191932
* Re-add bad_cast and bad_typeid default ctor definitions under libsupc++.Peter Collingbourne2013-10-031-6/+9
| | | | | | | libsupc++ declares these constructors inline, so we won't necessarily get a definition for them in the library. llvm-svn: 191931
* Make it possible to run the test suite when built as part of LLVM.Peter Collingbourne2013-10-032-3/+12
| | | | llvm-svn: 191930
* Pull fptrunc's upwards through selects when one of the select's selectands ↵Owen Anderson2013-10-032-0/+25
| | | | | | was a constant. This has a number of benefits, including producing small immediates (easier to materialize, smaller constant pools) as well as being more likely to allow the fptrunc to fuse with a preceding instruction (truncating selects are unusual). llvm-svn: 191929
* DebugInfo: Avoid redundantly adding child DIEs to parents.David Blaikie2013-10-033-15/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | DIE::addChild had a shortcircuit that silently no-op'd when a child was readded to the same parent. This hid some quirky/redundant code in DwarfDebug/CompileUnit. By removing that functionality and replacing it with an assert I was able to find and cleanup those cases, mostly centering around adding members to types in various circumstances. 1) The original oddity I noticed while working on type units (which actually was helping me in the short term, by accident) was the addToContextOwner call in constructTypeDIE. This call was completely bogus (why was it only done for non-virtual types? what relevance does that have at all) and redundant with the more uniform addToContextOwner made in getOrCreateTypeDIE. 2) If a member function definition was visited (createSubprogramDIE), it would attempt to build the member function declaration. The declaration DIE would then be added to its context, but in building the context (the type for which this function is a member) the members of the type would be added to the type automatically, so by the time the context was constructed, the member function was already associated with it. 3) The same as (2) but without the member function being constructed first. Whenever a type was constructed, the members would be created and member functions would be created by getOrCreateSubprogramDIE - this would lead to the subprogram being added to the (incomplete) type already, then the general member-construction code would add it again. llvm-svn: 191928
* Rename DataLayout variables TD -> DLMatt Arsenault2013-10-033-67/+66
| | | | llvm-svn: 191927
* Don't complain about -fuse-ld=gold (cf r191429).Nico Weber2013-10-032-2/+4
| | | | | | (There's a real implementation for this flag in review.) llvm-svn: 191926
* Fix the test in clang_f_opts.c to fail on unknown options.Rafael Espindola2013-10-033-3/+5
| | | | | | Also fix options that were broken in the previous refactorings. llvm-svn: 191925
* [ELF] Fix uninitalized value.Michael J. Spencer2013-10-035-9/+12
| | | | llvm-svn: 191924
* Fix test.Rafael Espindola2013-10-031-1/+2
| | | | | | | With -### clang return 0, so we have to use FileCheck to see if there was an error. llvm-svn: 191923
* Optimize linkonce_odr unnamed_addr functions during LTO.Rafael Espindola2013-10-0312-23/+124
| | | | | | | | | | | Generalize the API so we can distinguish symbols that are needed just for a DSO symbol table from those that are used from some native .o. The symbols that are only wanted for the dso symbol table can be dropped if llvm can prove every other dso has a copy (linkonce_odr) and the address is not important (unnamed_addr). llvm-svn: 191922
* Make this use -### instead of a temporary output.Eric Christopher2013-10-031-1/+1
| | | | llvm-svn: 191921
* Make gep i8* X, -(ptrtoint Y) transform work with address spacesMatt Arsenault2013-10-032-8/+23
| | | | llvm-svn: 191920
* A more thorough fix for the newlines issueEnrico Granata2013-10-031-0/+2
| | | | llvm-svn: 191919
* Test commit. Fixed a copy-paste error in the Makefile for lib/LTO.Tom Roeder2013-10-031-1/+1
| | | | llvm-svn: 191918
* Give this a temporary output so it is cleaned up.Eric Christopher2013-10-031-1/+1
| | | | llvm-svn: 191917
* [llvm-c][Disassembler] When printing latency information, fall back to theQuentin Colombet2013-10-032-1/+34
| | | | | | | | | | | itinerary model in case the target does not supply a scheduling model. By doing this, targets like cortex-a8 can benefit from the latency printing feature added in r191859. This part of <rdar://problem/14687488>. llvm-svn: 191916
OpenPOWER on IntegriCloud