summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fixed a bug where diassembling an instruction that had a prefix would cause ↵Richard Mitton2013-08-302-7/+68
| | | | | | LLVM to identify a 1-byte instruction, but then upon querying it for that 1-byte instruction would cause an undefined opcode. llvm-svn: 189698
* Compulsive reformatting.Bill Wendling2013-08-301-2/+5
| | | | llvm-svn: 189697
* Conditionalise inclusion of link.h on !SANITIZER_ANDROID.Peter Collingbourne2013-08-301-0/+2
| | | | | | | | Hopefully fixes the Android build. Differential Revision: http://llvm-reviews.chandlerc.com/D1551 llvm-svn: 189696
* Clean up warnings in ProcessFreeBSD::UpdateThreadListEd Maste2013-08-301-3/+2
| | | | llvm-svn: 189695
* [conf] Add config variable to disable crash related overrides.Daniel Dunbar2013-08-306-35/+80
| | | | | | | | | | | | | | | | | | | | | - We do some nasty things w.r.t. installing or overriding signal handlers in order to improve our crash recovery support or interaction with crash reporting software, and those things are not necessarily appropriate when LLVM is being linked into a client application that has its own ideas about how to do things. This gives those clients a way to disable that handling at build time. - Currently, the code this guards is all Apple specific, but other platforms might have the same concerns so I went for a more generic configure name. Someone who is more familiar with library embedding on Windows can handle choosing which of the Windows/Signals.inc behaviors might make sense to go under this flag. - This also fixes the proper autoconf'ing of ENABLE_BACKTRACES. The code expects it to be undefined when disabled, but the autoconf check was just defining it to 0. llvm-svn: 189694
* Avoid compiler-generated memset by using internal_memset.Will Dietz2013-08-301-2/+1
| | | | | | Fixes PR17025. llvm-svn: 189693
* [tests] Change with_system_lib feature to match what XFAIL lines expect.Daniel Dunbar2013-08-301-6/+10
| | | | | | | - The lit builtin XFAIL handling is more restrictive than what we were previously using, and for now I'd rather keep the lit one restrictive. llvm-svn: 189692
* cpp11-migrate: Fixing autoconf build after adding libclangReplace dependencyEdwin Vane2013-08-303-5/+5
| | | | llvm-svn: 189691
* Fix a problem with dual mips16/mips32 mode. When the underlying processorReed Kotler2013-08-306-5/+68
| | | | | | | | | | | | | has hard float, when you compile the mips32 code you have to make sure that it knows to compile any mips32 routines as hard float. I need to clean up the way mips16 hard float is specified but I need to first think through all the details. Mips16 always has a form of soft float, the difference being whether the underlying hardware has floating point. So it's not really necessary to pass the -soft-float to llvm since soft-float is always true for mips16 by virtue of the fact that it will not register floating point registers. By using this fact, I can simplify the way this is all handled. llvm-svn: 189690
* cpp11-migrate: Refactor for driver model of operationEdwin Vane2013-08-3046-733/+701
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Massive simplification of how replacements and file overrides are handled by the migrator: * Sources and headers are all treated the same. * All replacements for a given translation unit are stored in the same TranslationUnitReplacements structure. * Change tracking is updated only from main file; no need for propagating "is tracking" flag around. * Transform base class no longer responsible for applying replacements. They are simply stored and main() looks after deduplication and application. * Renamed -yaml-only to -serialize-replacements. Same restrictions apply: Can only request one transform. New restriction: formatting cannot also be turned on since it's basically a transform. * If -serialize-replacements is requested, changes to files will not be applied on disk. * Changed behaviour of function generating names for serialized replacements: Only the main source file goes into the name of the file since a file may contain changes for multiple different files. * Updated HeaderReplacements LIT test for new serialization behaviour. * Replaced old test that ensures replacements are not serialized if -serialize-replacements is not provided. New version ensures changes are made directly to all files in the translation unit. * Updated unit tests. * Due to major simplification of structures in FileOverrides.h, the FileOverridesTest is quite a bit simpler now. Differential Revision: http://llvm-reviews.chandlerc.com/D1545 llvm-svn: 189689
* [analyzer] Treat the rvalue of a forward-declared struct as Unknown.Jordan Rose2013-08-302-2/+10
| | | | | | | | | | This will never happen in the analyzed code code, but can happen for checkers that over-eagerly dereference pointers without checking that it's safe. UnknownVal is a harmless enough value to get back. Fixes an issue added in r189590, caught by our internal buildbot. llvm-svn: 189688
* is_destructible for function types was mistakenly returning true instead of ↵Howard Hinnant2013-08-303-2/+6
| | | | | | false. This is true in both C++11 and C++1y, but has been clarified by the post C++11 LWG issue 2049. llvm-svn: 189687
* Don't hide errors in PlatformFreeBSD::ResolveExecutableEd Maste2013-08-301-8/+2
| | | | | | | If error is already set then there's no reason to replace it with a generic "<file> does not exist" message. llvm-svn: 189686
* Use LiveRangeQuery for instruction-level liveness queries.Andrew Trick2013-08-303-22/+9
| | | | | | Remove redundant or bug-prone LiveInterval APIs. llvm-svn: 189685
* Use /bin/sh on FreeBSDEd Maste2013-08-301-1/+6
| | | | llvm-svn: 189684
* Fix a bunch of compile time warnings and a build failure on ubuntu.Eric Christopher2013-08-308-15/+14
| | | | llvm-svn: 189683
* ObjectiveC migrator: infer NS_ENUM even when userFariborz Jahanian2013-08-303-10/+50
| | | | | | | | | | specified NSUInteger as the followup typedef. With this change, NS_OPTIONS is only inferred based on looking up how enumerators are speficied (if they her hexadecimal, power of 2, or have bitwise constant expressions). llvm-svn: 189682
* clang-replace: Fix autoconf build failuresEdwin Vane2013-08-301-1/+1
| | | | | | Updating autoconf files to reflect changes to directory structure llvm-svn: 189681
* Attach by name tests now pass on FreeBSDEd Maste2013-08-302-2/+0
| | | | | | | | | | A FreeBSD implementation of Host::FindProcesses was added in r189295. Contrary to my earlier report of failing tests it seems all attach by name tests now pass. http://www.llvm.org/pr16699 llvm-svn: 189680
* Skip two tests that hang the FreeBSD buildbotEd Maste2013-08-302-0/+2
| | | | | | llvm.org/pr16684 llvm-svn: 189679
* Skipping two tests that hang consistently on Linux while investigating the ↵Ashok Thirumurthi2013-08-302-1/+2
| | | | | | issue in more depth. llvm-svn: 189678
* [PowerPC] Add handling for conversions to fast-isel.Bill Schmidt2013-08-305-0/+593
| | | | | | | | | Yet another chunk of fast-isel code. This one handles various conversions involving floating-point. (It also includes some miscellaneous handling throughout the back end for LWA_32 and LWAX_32 that should have been part of the load-store patch.) llvm-svn: 189677
* Reduce the number of symbols by changing how templates are instantiated per ↵Samuel Benzaquen2013-08-304-69/+62
| | | | | | | | | | | | | | | | function bound in the registry. Summary: Reduce the number of symbols by changing how templates are instantiated per function bound in the registry. This change reduces the number of sections in Registry.cpp.o by a little over 10%. Reviewers: klimek CC: cfe-commits, revane Differential Revision: http://llvm-reviews.chandlerc.com/D1557 llvm-svn: 189676
* Moving "using namespace" statements out of header files.Ashok Thirumurthi2013-08-304-12/+12
| | | | llvm-svn: 189675
* Xing Xue: Fix type-o. Thanks to C. Bergström for spotting it.Howard Hinnant2013-08-301-1/+1
| | | | llvm-svn: 189674
* Checking commit access; removed one space added in previous test checkin by JimAndrey Churbanov2013-08-301-1/+1
| | | | llvm-svn: 189673
* InstCombine: Check for zero shift amounts before subtracting one causing ↵Benjamin Kramer2013-08-302-10/+51
| | | | | | | | | integer overflow. PR17026. Also avoid undefined shifts and shift amounts larger than 64 bits (those are always undef because we can't represent integer types that large). llvm-svn: 189672
* clang-replace: Re-org of file structureEdwin Vane2013-08-307-18/+36
| | | | | | | | | | | | | clang-replace is likely to move to clang proper one day soon. To facilitate that move, renaming files and directory structure layout to ease transition for users of clang-replace and libclangReplace. For now, functionality still exists in clang::replace namespace. Header guards and file comments updated. Differential Revision: http://llvm-reviews.chandlerc.com/D1548 llvm-svn: 189671
* Add support for -march=slm, aka Intel Atom Silvermont.Benjamin Kramer2013-08-302-0/+43
| | | | llvm-svn: 189670
* X86: Add a description of the Intel Atom Silvermont CPU.Benjamin Kramer2013-08-302-0/+14
| | | | | | Currently this is just the atom model with SSE4.2 enabled. llvm-svn: 189669
* Expression evaluation works on FreeBSD after switch to MCJITEd Maste2013-08-3011-11/+0
| | | | | | http://www.llvm.org/pr16697 llvm-svn: 189668
* Remove annotation for a test that now passes on FreeBSDEd Maste2013-08-301-1/+0
| | | | | | | | | | A FreeBSD implementation of Host::FindProcesses was added in r189295. Note that some tests still fail as the implementation returns a truncated name for processes with long names. http://www.llvm.org/pr16699 llvm-svn: 189667
* Move detach to FreeBSD- and Linux-specific classes.Ed Maste2013-08-306-29/+54
| | | | | | | | | On Linux there is no separate notion of a process (vs. a thread) for ptrace(); each thread needs to be individually detached. On FreeBSD we have a separate process context, and we detach just it. Review: http://llvm-reviews.chandlerc.com/D1418 llvm-svn: 189666
* Restore llvm-ranlib expansion in RUN-lines removed in r184019Alexey Samsonov2013-08-301-1/+2
| | | | llvm-svn: 189665
* clang-cl: Pass -incremental:no to linker when using ASanHans Wennborg2013-08-302-0/+2
| | | | llvm-svn: 189664
* clang-format: Enable formatting of protocol buffer definitions.Daniel Jasper2013-08-302-1/+11
| | | | | | | | | | | | | Almost by accident, clang-format seems to be able to format protocol buffer definitions (https://code.google.com/p/protobuf/). The only change is that a space is required between numeric constants and opening square brackets (for default values). While this might in theory be used for array subscripts (int val = 4[MyArray]), I have not seen this pattern in practice much. If this is wrong, we can make this smarter in the future. llvm-svn: 189663
* clang-format: Improve recovery from enums with errors.Daniel Jasper2013-08-302-0/+25
| | | | | | | | | | | | | | | | | | | | | | Before: namespace n { enum Type { One, Two, // missing }; int i; } void g() { } After: namespace n { enum Type { One, Two, // missing }; int i; } void g() {} llvm-svn: 189662
* Revert r188531: "Windows ToolChain: add VS bin dir to PogramPaths"Hans Wennborg2013-08-301-42/+37
| | | | | | | | | | | | | | | | | | | | | This never really worked. Even if we find and execute link.exe in the VS bin dir this way, link.exe wouldn't find the DLLs it needs, libraries, etc. It also causes trouble when the user has multiple versions of VS installed, one of them is in the path, but this code finds the other one (PR17041). Revert until we can fix this properly. > Windows ToolChain: add VS bin dir to PogramPaths > > We have a lot of fancy logic to find Visual Studio, which is currently used > to set the system header include paths. > > Use the same code to set the ProgramPaths, which is used for finding programs > such as link.exe. Previously, Clang would just search PATH for link.exe, > but now it should find it if it's able to find Visual Studio. llvm-svn: 189661
* Revert r189649 because it was breaking sanitizer bots.Yunzhong Gao2013-08-309-100/+49
| | | | llvm-svn: 189660
* Sema: avoid reuse of Exprs when synthesizing operator=Pavel Labath2013-08-302-95/+243
| | | | | | | | | | | | | | | | | | Summary: Previously, Sema was reusing parts of the AST when synthesizing an assignment operator, turning it into a AS-dag. This caused problems for the static analyzer, which assumed an expression appears in the tree only once. Here I make sure to always create a fresh Expr, when inserting something into the AST, fixing PR16745 in the process. Reviewers: doug.gregor CC: cfe-commits, jordan_rose Differential Revision: http://llvm-reviews.chandlerc.com/D1425 llvm-svn: 189659
* clang-format: Fix incorrect indentation.Daniel Jasper2013-08-302-7/+9
| | | | | | | | | | | | | | | | | | | Before: aaaaaaaaaa(bbbbbbbbbbbbbbbbbbbbbbbbb.ccccccccccccccccc( dddddddddddddddddddddddddddddd)); aaaaaaaaaaa(bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb( dddddddddddddddddddddddddddddd)); After: aaaaaaaaaaa(bbbbbbbbbbbbbbbbbbbbbbbbb.ccccccccccccccccc( dddddddddddddddddddddddddddddd)); aaaaaaaaaaa(bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb( dddddddddddddddddddddddddddddd)); This was overlooked when interducing the new builder-type call detection in r189337. Also, some minor reorganization of a test. llvm-svn: 189658
* clang-format: Don't indent builders relative to "return".Daniel Jasper2013-08-302-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | While this looks kind of nice, it wastes horizontal space and does not seem to be common in the LLVM codebase. Before: return llvm::StringSwitch<Reference::Kind>(name) .StartsWith(".eh_frame_hdr", ORDER_EH_FRAMEHDR) .StartsWith(".eh_frame", ORDER_EH_FRAME) .StartsWith(".init", ORDER_INIT) .StartsWith(".fini", ORDER_FINI) .StartsWith(".hash", ORDER_HASH) .Default(ORDER_TEXT); After: return llvm::StringSwitch<Reference::Kind>(name) .StartsWith(".eh_frame_hdr", ORDER_EH_FRAMEHDR) .StartsWith(".eh_frame", ORDER_EH_FRAME) .StartsWith(".init", ORDER_INIT) .StartsWith(".fini", ORDER_FINI) .StartsWith(".hash", ORDER_HASH) .Default(ORDER_TEXT); llvm-svn: 189657
* Fixup BZHI selection to remove an unneeded zero extension.Craig Topper2013-08-302-13/+15
| | | | llvm-svn: 189656
* clang-format: Fix corner case in builder-type calls.Daniel Jasper2013-08-302-1/+6
| | | | | | | | | | | | | Before: aaaaaaaaaaaaa->aaaaaaaaaaaaaaaaaaaaaaaa()->aaaaaaaaaaaaaae( 0)->aaaaaaaaaaaaaaa(); After: aaaaaaaaaaaaa->aaaaaaaaaaaaaaaaaaaaaaaa() ->aaaaaaaaaaaaaae(0) ->aaaaaaaaaaaaaaa(); llvm-svn: 189655
* Remove unused X86andn_flag node.Craig Topper2013-08-301-1/+0
| | | | llvm-svn: 189654
* Teach X86 backend to create BMI2 BZHI instructions from (and X, (add (shl 1, ↵Craig Topper2013-08-304-21/+109
| | | | | | Y), -1)). Fixes PR17038. llvm-svn: 189653
* Fixing a bug where debug info for a local variable gets emitted at file scope.Yunzhong Gao2013-08-309-49/+100
| | | | | | | The patch was discussed in Phabricator. See: http://llvm-reviews.chandlerc.com/D1281 llvm-svn: 189649
* Revert "ARM: Improve pattern for isel mul of vector by scalar."Michael Gottesman2013-08-302-29/+0
| | | | | | | | This reverts commit r189619. The commit was breaking the arm_neon_intrinsic test. llvm-svn: 189648
* Mention in AST dump whether a class declaration is a definition.Richard Smith2013-08-302-1/+3
| | | | llvm-svn: 189647
* Don't eagerly load all conversion operators when loading a class declarationRichard Smith2013-08-309-53/+119
| | | | | | from a PCH/module. llvm-svn: 189646
OpenPOWER on IntegriCloud