summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Use a more direct check for finding out the file type.Rafael Espindola2013-12-094-16/+28
| | | | | | No functionality change. llvm-svn: 196811
* Unbreak build by adding an implementation of PopStackFrames function.Richard Smith2013-12-092-0/+9
| | | | llvm-svn: 196809
* Handle endianness in the Opcode classEd Maste2013-12-095-65/+116
| | | | | | | | | Previously, an opcode set via SetOpcode32 (for example) was later extracted via GetData() as a byte sequence in host order rather than target order. Review: http://llvm-reviews.chandlerc.com/D1838 llvm-svn: 196808
* Don't set a variable to its default value.Rafael Espindola2013-12-091-1/+0
| | | | llvm-svn: 196807
* Fix pattern match for movi with 0D resultAna Pazos2013-12-093-3/+24
| | | | | | | | | | | Patch by Jiangning Liu. With some test case changes: - intrinsic test added to the existing /test/CodeGen/AArch64/neon-aba-abd.ll. - New test cases to cover movi 1D scenario without using the intrinsic in test/CodeGen/AArch64/neon-mov.ll. llvm-svn: 196806
* [CMake] clang-tools-extra may not depend on LLVM CodeGen.NAKAMURA Takumi2013-12-096-27/+6
| | | | llvm-svn: 196805
* check-clang-tools: Prune 'clang' stuff. Clang is not used here.NAKAMURA Takumi2013-12-092-60/+1
| | | | llvm-svn: 196804
* [CMake] clangSema doesn't depend on LLVM CodeGen any more.NAKAMURA Takumi2013-12-091-4/+1
| | | | llvm-svn: 196803
* Revert three patches which were committed without explicit contributionChandler Carruth2013-12-097-60/+15
| | | | | | | | | | | | | | | by their authors. This may break builds where others added code relying on these patches, but please *do not* revert this commit. Instead, we will prepare patches which fix the failures. Reverts the following commits: r168306: "[asan] support x32 mode in the fast stack unwinder. Patch by H.J. Lu" r168356: "[asan] more support for powerpc, patch by Peter Bergner" r196489: "[sanitizer] fix the ppc32 build (patch by Jakub Jelinek)" llvm-svn: 196802
* Replace 'mkdir' shell invocation by native function call.Jean-Daniel Dupas2013-12-092-17/+5
| | | | | | | | | | Summary: Now that Host provide a MakeDirectory function, we can use it instead of relying on command line tool to create a directory. CC: lldb-commits Differential Revision: http://llvm-reviews.chandlerc.com/D2356 llvm-svn: 196801
* [CMake] clang/lib: Satisfy dependencies to add *actually used* libraries on ↵NAKAMURA Takumi2013-12-0918-26/+114
| | | | | | | | target_link_libraries() and LLVM_LINK_COMPONENTS. I will prune redundant dependencies later. llvm-svn: 196800
* ubsan: Fix typo in 'TypeCheck/vptr.cpp' test to resolve 32bit failure.Will Dietz2013-12-091-1/+1
| | | | llvm-svn: 196799
* [CMake] clangDriver: Move LLVM stuff in target_link_library to ↵NAKAMURA Takumi2013-12-091-2/+6
| | | | | | LLVM_LINK_COMPONENTS. llvm-svn: 196798
* clang/test/lit.cfg: Remove get_llc_props. check-clang itself no longer ↵NAKAMURA Takumi2013-12-091-32/+0
| | | | | | | | invokes llc. Only a few tests depend on llc yet. llvm-svn: 196797
* Update cmake build instruction to compile LLVM in C++11 modeJean-Daniel Dupas2013-12-091-2/+2
| | | | | | Thanks to Xavier de Gaye for the pointer. llvm-svn: 196794
* DwarfDebug/Unit: Remove another case of label recreation by storing the ↵David Blaikie2013-12-092-6/+14
| | | | | | gnu_ranges label in the unit. llvm-svn: 196793
* test: Update decorators for FreeBSD failures with threaded inferior supportEd Maste2013-12-099-16/+14
| | | | | | | llvm.org/pr18190 llvm.org/pr18191 llvm-svn: 196792
* Improve the detection of the pathSylvestre Ledru2013-12-091-11/+12
| | | | | | | | | | | | | | | | | | | | | | | | | Summary: When clang is used under GNU/Linux in a chroot without /proc mount, it falls back on the BSD method. However, since the buf variable is used twice and fails with snprintf to produce the correct path. When called as relatived (ie ./clang), it was failing with: "" -cc1 [...] -x c++ x.cc error: unable to execute command: Executable "" doesn't exist! I also took the opportunity to simply the code (the first arg of test_dir was useless). Reviewers: rafael Reviewed By: rafael CC: cfe-commits Differential Revision: http://llvm-reviews.chandlerc.com/D2361 llvm-svn: 196791
* FreeBSD and NetBSD have sa_len in struct sockaddrEd Maste2013-12-091-2/+2
| | | | llvm-svn: 196790
* Save another call to GetAddrOfFunction.Rafael Espindola2013-12-092-8/+10
| | | | | | | Thread an optional GV down to EmitGlobalFunctionDefinition so that it can avoid the lookup when we already know the corresponding llvm global value. llvm-svn: 196789
* Refactor some of the operations in <string> so that they can be reused; no ↵Marshall Clow2013-12-091-80/+130
| | | | | | functionality change llvm-svn: 196788
* Threaded inferior support for FreeBSDEd Maste2013-12-0915-206/+512
| | | | | | | Modelled in part on GDBRemoteCommunicationClient. Review: http://llvm-reviews.chandlerc.com/D2267 llvm-svn: 196787
* test: Add annotation for FreeBSD failures w/ threaded inferiorsEd Maste2013-12-092-0/+2
| | | | | | | llvm.org/pr17944 llvm.org/pr17946 llvm-svn: 196786
* When we decide to output a deferred decl, remember the llvm GlobalValue.Rafael Espindola2013-12-093-24/+37
| | | | | | | | | We can reuse it to avoid a DenseMap+StringMap lookup to find if it was already emitted or not. This fixes a 2010 TODO. llvm-svn: 196785
* Output destructors and constructors in a more natural order.Rafael Espindola2013-12-0918-95/+95
| | | | | | | | | | | | | | | | With this patch we output the in the order C2 C1 D2 D1 D0 Which means that a destructor or constructor that call another is output after the callee. This is a bit easier to read IHMO and a tiny bit more efficient as we don't put a decl in DeferredDeclsToEmit. llvm-svn: 196784
* clang-format: Be more conservative about braced list column layout.Daniel Jasper2013-12-094-7/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | Specifically disable it for nested braced lists as it commonly can look really weird. Eventually, we'll want to become smarter and format some of the nested lists better. Before: SomeStruct my_struct_array = { { aaaaaa, aaaaaaaa, aaaaaaaaaa, aaaaaaaaa, aaaaaaaaa, aaaaaaaaaa, aaaaaaaaaa, aaaaaaa, aaa }, { aaaa, aaaa, aaaa, aaaa, aaaa, aaaa, aaaa, aaa }, { aaaaaaaaaaaaaaaaa, aaaaaaaaaaaaaaaaa, aaaaaaaaaaaaaaaaaaaaaaaa, aaaaaaaaaaaa, a, aaaaaaaaaa, aaaaaaaaa, aaa }, }; After: SomeStruct my_struct_array = { { aaaaaa, aaaaaaaa, aaaaaaaaaa, aaaaaaaaa, aaaaaaaaa, aaaaaaaaaa, aaaaaaaaaaaa, aaaaaaa, aaa }, { aaaa, aaaa, aaaa, aaaa, aaaa, aaaa, aaaa, aaa }, { aaaaaaaaaaaaaaaaa, aaaaaaaaaaaaaaaaa, aaaaaaaaaaaaaaaaaaaaaaaa, aaaaaaaaaaaa, a, aaaaaaaaaa, aaaaaaaaa, aaa }, }; llvm-svn: 196783
* Remove old -fdiagnostics-show-name optionAlp Toker2013-12-092-8/+0
| | | | | | | | This had no effect since the feature was removed in r150612. I actually miss this option, maybe we can bring it back some day. llvm-svn: 196782
* Add decorator for FreeBSD watchpoint failureEd Maste2013-12-091-0/+1
| | | | | | llvm.org/pr16706 llvm-svn: 196781
* Fix Windows build.Sergey Matveev2013-12-091-1/+1
| | | | llvm-svn: 196780
* PR17977: don't assume EOWNERDEAD is always definedAlexey Samsonov2013-12-091-0/+5
| | | | | | | | | | | | | | Summary: See details in http://llvm.org/bugs/show_bug.cgi?id=17977 Reviewers: dvyukov Reviewed By: dvyukov CC: glider, llvm-commits Differential Revision: http://llvm-reviews.chandlerc.com/D2340 llvm-svn: 196779
* [lsan] Make LSan ignore memory poisoned by ASan.Sergey Matveev2013-12-096-0/+57
| | | | | | | | | | | | | | | | Summary: No more (potenital) false negatives due to red zones or fake stack frames. Reviewers: kcc, samsonov Reviewed By: samsonov CC: llvm-commits, samsonov Differential Revision: http://llvm-reviews.chandlerc.com/D2359 llvm-svn: 196778
* [mips][msa] Fix invalid generated code when lowering FrameIndex involving ↵Daniel Sanders2013-12-092-2/+81
| | | | | | | | | | | | | | | | | | | | | | | | unaligned offsets. Summary: The MSA ld.[bhwd] and st.[bhwd] instructions scale the immediate by the element size before use as an offset. The offset must therefore be a multiple of the element size to be valid in these instructions. However, an unaligned base address is valid in MSA. This commit causes the compiler to emit valid code when the calculated offset is not a multiple of the element size by accounting for the offset using addiu and using a zero offset in the load/store. Depends on D2338 Reviewers: matheusalmeida Reviewed By: matheusalmeida Differential Revision: http://llvm-reviews.chandlerc.com/D2339 llvm-svn: 196777
* Make the -Wkeyword-compat diag message more accurateAlp Toker2013-12-094-5/+6
| | | | | | | | | | | | | | | | Changed from: keyword '__is_empty' will be treated as an identifier for the remainder of the translation unit To: keyword '__is_empty' will be made available as an identifier for the remainder of the translation unit This is a more accurate description of clang's keyword compatibility feature, given that some of the keywords are turned into context-sensitive keywords (e.g. REVERTIBLE_TYPE_TRAIT) rather than being fully disabled. llvm-svn: 196776
* [mips][msa] Fix suboptimal FrameIndex lowering for ld.[hwd] and st.[hwd]Daniel Sanders2013-12-092-15/+269
| | | | | | | | | | | | | | Summary: The immediate in these instructions is scaled before use as an offset. They therefore have a wider reach than ld.b/st.b. Reviewers: matheusalmeida Reviewed By: matheusalmeida Differential Revision: http://llvm-reviews.chandlerc.com/D2338 llvm-svn: 196775
* Method parseSetAssignment treats every operand with '$' sign as register and ↵Vladimir Medic2013-12-092-19/+6
| | | | | | | | | the parsing is directed to set alias for register. This will result in errors reported when expressions containing label references are parsed(for example long jumps) As we can't make a complete solution now it has been decided to enable .set directive to handle long jump expressions. This will cause parser to report errors when parsing integer based register assignments, for example: .set r3, will be reported as error. Still, the need for expressions is higher priority as the integer based register assignments are Mips specific and can be avoided using register names. llvm-svn: 196773
* [-cxx-abi microsoft] Mangle large integral constants correctlyDavid Majnemer2013-12-094-47/+83
| | | | | | | | | | | | | | | | | | | Testing has revealed that large integral constants (i.e. > INT64_MAX) are always mangled as-if they are negative, even in places where it would not make sense for them to be negative (like non-type template parameters of type unsigned long long). To address this, we change the way we model number mangling: always mangle as-if our number is an int64_t. This should result in correct results when we have large unsigned numbers. N.B. Bizarrely, things that are 32-bit displacements like vbptr offsets are mangled as-if they are unsigned 32-bit numbers. This is a pretty egregious waste of space, it would be a 4x savings if we could mangle it like a signed 32-bit number. Instead, we explicitly cast these displacements to uint32_t and let the mangler proceed. llvm-svn: 196771
* Fix a copy/paste error.Joey Gouly2013-12-091-1/+1
| | | | llvm-svn: 196770
* ADT: Implement MutableArrayRef::reverse_iteratorDavid Majnemer2013-12-091-0/+5
| | | | | | | This adds rbegin/rend methods to MutableArrayRef, they will be used by a follow-on commit in clang. llvm-svn: 196768
* [PECOFF] Simplify PE/COFF header writer.Rui Ueyama2013-12-091-18/+12
| | | | llvm-svn: 196767
* Versions of GCC newer than 4.8 exist these days =)Richard Smith2013-12-091-1/+1
| | | | llvm-svn: 196765
* Minor cleanup and reorg of C++ status page.Richard Smith2013-12-091-7/+8
| | | | llvm-svn: 196763
* [PECOFF] Simplify WriterPECOFF.Rui Ueyama2013-12-091-5/+1
| | | | llvm-svn: 196762
* Update compatibility page to list some GCC language extensions that Clang doesRichard Smith2013-12-091-4/+15
| | | | | | | | not support as a possible reason for choosing GCC instead of Clang (and vice versa). Weaken some of the claimed advantages of Clang in light of GCC improvements. llvm-svn: 196758
* Avoid extra error messages if method definition is inside function.Serge Pavlov2013-12-092-1/+12
| | | | llvm-svn: 196757
* Fix broken test.Rui Ueyama2013-12-091-1/+3
| | | | llvm-svn: 196756
* [SPARCV9]: Adjust the resultant pointer of DYNAMIC_STACKALLOC with the stack ↵Venkatraman Govindaraju2013-12-092-4/+6
| | | | | | BIAS on sparcV9. llvm-svn: 196755
* [PECOFF] Implement /alternatename weak symbols.Rui Ueyama2013-12-094-4/+80
| | | | llvm-svn: 196754
* Avoid adding some decls to DeferredDeclsToEmit.Rafael Espindola2013-12-094-77/+92
| | | | | | | | Before this patch GetOrCreateLLVMFunction would add a decl to DeferredDeclsToEmit even when it was being called by the function trying to emit that decl. llvm-svn: 196753
* [-cxx-abi microsoft] Properly mangle enumsDavid Majnemer2013-12-092-4/+83
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While testing our ability to mangle large constants (PR18175), I incidentally discovered that we did not properly mangle enums correctly. Previously, we would append the width of the enum in bytes after the type-tag differentiator. This would mean "enum : short" would be mangled as 'W2' while "enum : char" would be mangled as 'W1'. Upon testing this with several versions of MSVC, I found that this did not match their behavior: they always use 'W4'. N.B. Quick testing uncovered that undname allows different numbers to follow the 'W' in the following way: 'W0' -> "enum char" 'W1' -> "enum unsigned char" 'W2' -> "enum short" 'W3' -> "enum unsigned short" 'W4' -> "enum" 'W5' -> "enum unsigned int" 'W6' -> "enum long" 'W7' -> "enum unsigned long" However this scheme appears abandoned, I cannot get MSVC to trigger it. Furthermore, it's incomplete: it doesn't handle "bool" or "long long". llvm-svn: 196752
* [Sparc]: Implement getSetCCResultType() in SparcTargetLowering so that ↵Venkatraman Govindaraju2013-12-093-0/+23
| | | | | | umulo/smulo can be lowered on sparcv9 without an assertion error. llvm-svn: 196751
OpenPOWER on IntegriCloud