- Oct 05, 2013
-
-
Aaron Ballman authored
llvm-svn: 192042
-
Benjamin Kramer authored
The most likely case where this error happens is when the user specifies too many register operands. Don't make it look like an internal LLVM bug when we can see that the error is coming from an inline asm instruction. For other instructions we keep the "ran out of registers" error. llvm-svn: 192041
-
Craig Topper authored
llvm-svn: 192040
-
Craig Topper authored
llvm-svn: 192039
-
Marshall Clow authored
llvm-svn: 192038
-
Craig Topper authored
llvm-svn: 192037
-
Craig Topper authored
Use logical/arithmetic operations instead of builtins in tbmintrin.h. This way we can remove the intrinsic support from the backend. llvm-svn: 192036
-
Rafael Espindola authored
When MC was first added, targets could use hasRawTextSupport to keep features working before they were added to the MC interface. The design goal of MC is to provide an uniform api for printing assembly and object files. Short of relaxations and other corner cases, a object file is just another representation of the assembly. It was never the intention that targets would keep doing things like if (hasRawTextSupport()) Set flags in one way. else Set flags in another way. When they do that they create two code paths and the object file is no longer just another representation of the assembly. This also then requires testing with llc -filetype=obj, which is extremelly brittle. This patch removes some of these hacks by replacing them with smaller ones. The ARM flag setting is trivial, so I just moved it to the constructor. For Mips, the patch adds two temporary hack directives that allow the assembly to represent the same things as the object file was already able to. The hope is that the mips developers will replace the hack directives with the same ones that gas uses and drop the -print-hack-directives flag. I will also try to implement a target streamer interface, so that we can move this out of the common code. In summary, for any new work, two rules of the thumb are * Don't use "llc -filetype=obj" in tests. * Don't add calls to hasRawTextSupport. llvm-svn: 192035
-
Simon Atanasyan authored
llvm-svn: 192034
-
Edwin Vane authored
The command-line for clang-apply-replacements was being mangled due to an uninitialized variable. gasp! Now fixed. llvm-svn: 192033
-
Edwin Vane authored
Summary: The clang-apply-replacements process is now invoked to apply replacements between applying transforms. This resulted in a massive simplification of the tool: - FileOverrides class no longer needed. - Change tracking and code formatting no longer needed. - No more dependency on libclangApplyReplacements. - Final syntax check is easier to do directly now than with a separate header/source pair. Replacement handling stuff abstracted into a new header/source pair to de-clutter ClangModernize.cpp somewhat. Tests updated. Differential Revision: http://llvm-reviews.chandlerc.com/D1836 llvm-svn: 192032
-
Benjamin Kramer authored
llvm-svn: 192031
-
Benjamin Kramer authored
Patch by Daniel Marjamäki! llvm-svn: 192030
-
Jiangning Liu authored
llvm-svn: 192029
-
Jiangning Liu authored
llvm-svn: 192028
-
Alp Toker authored
This was a leftover from r160847. llvm-svn: 192027
-
Craig Topper authored
Add OPC_CheckChildSame0-3 to the DAG isel matcher. This replaces sequences of MoveChild, CheckSame, MoveParent. Saves 846 bytes from the X86 DAG isel matcher, ~300 from ARM, ~840 from Hexagon. llvm-svn: 192026
-
Rafael Espindola authored
llvm-svn: 192025
-
Jason Molenda authored
<rdar://problem/15148224> llvm-svn: 192024
-
Venkatraman Govindaraju authored
llvm-svn: 192023
-
Andrew Kaylor authored
llvm-svn: 192022
-
Andrew Kaylor authored
llvm-svn: 192021
-
Andrew Kaylor authored
Patch by Ashok Thirumurthi llvm-svn: 192020
-
Manman Ren authored
DW_TAG_pointer_type is updated to use DITypeRef. Paired commit with r192018. llvm-svn: 192019
-
Manman Ren authored
is updated to use DITypeRef. Move isUnsignedDIType and getOriginalTypeSize from DebugInfo.h to be static helper functions in DwarfCompileUnit. We already have a static helper function "isTypeSigned" in DwarfCompileUnit, and a pointer to DwarfDebug is added to resolve the derived-from field. All three functions need to go across link for derived-from fields, so we need to get hold of a type identifier map. A pointer to DwarfDebug is also added to DbgVariable in order to resolve the derived-from field. Debug info verifier is updated to check a derived-from field is a TypeRef. Verifier will not go across link for derived-from fields, in debug info finder, we go across the link to add derived-from fields to types. Function getDICompositeType is only used by dragonegg and since dragonegg does not generate identifier for types, we use an empty map to resolve the derived-from field. When printing a derived-from field, we use DITypeRef::getName to either return the type identifier or getName of the DIType. A paired commit at clang is required due to changes to DIBuilder. llvm-svn: 192018
-
Eric Christopher authored
llvm-svn: 192017
-
Eric Christopher authored
llvm-svn: 192016
-
Venkatraman Govindaraju authored
llvm-svn: 192015
-
Eric Christopher authored
llvm-svn: 192014
-
Enrico Granata authored
llvm-svn: 192013
-
Howard Hinnant authored
llvm-svn: 192012
-
Adrian Prantl authored
pointed to by a dbg_value belonging to a function argument is eliminated during instruction selection. rdar://problem/15094721. llvm-svn: 192011
-
Howard Hinnant authored
I've changed it so we don't set highest level warnings (all) for MSVC when building projects using cmake and instead leave the default. That's /W4 on my machine and seems to be ok. With all warnings on for msvc, we see literally thousands of warnings. 99.99% aren't relevant and just obscure the ones that are. I think the user can still override things if they want something different from the command line when using cmake. llvm-svn: 192010
-
Eric Christopher authored
llvm-svn: 192009
-
rdar://problem/15154623Enrico Granata authored
Several CF* data formatters were in the AppKit category This puts them back where they belong, i.e. in category CoreFoundation llvm-svn: 192008
-
Howard Hinnant authored
G M: The attached patch is for libcxx's new.cpp and __config files. The patch's intent is to make new.cpp compile using MS's cl.exe compiler without changing the meaning of anything for any other compiler. The issue this patch seeks to address is that MS's compiler (cl.exe) doesn't support the __attribute__((__weak__)) or __atribute__((__visibility__("default")) syntax; so a solution must be found where cl.exe doesn't see this syntax. This patch seeks to solve this problem by changing code patterned like this: __attribute__((__weak__, __visibility__("default"))) void* operator new(size_t size, const std::nothrow_t&) _NOEXCEPT { /*snip*/; return p; } to code like this: _LIBCPP_WEAK void* operator new(size_t size, const std::nothrow_t&) _NOEXCEPT { return p; } Howard: Thanks for all the comments regarding the default visibility tag on the definition. I agree it isn't needed, and that there are lots of other places where it is missing. That being said, I'm not wanting to rock the boat on that issue right now. So I've added it back to the definition via _LIBCPP_FUNC_VIS. A later pass dedicated just to this issue can bring things in to a consistent state one way or the other. Note that we do not want to have the exact same attributes on the declaration and defintion in this case. The declaration should not be marked weak, whereas the definition should (which is what G M's patch did). I've fully tested on OS X to ensure that the resultant attribute syntax actually works. llvm-svn: 192007
-
Venkatraman Govindaraju authored
llvm-svn: 192006
-
David Blaikie authored
llvm-svn: 192005
-
Eric Christopher authored
llvm-svn: 192004
-
Eric Christopher authored
llvm-svn: 192003
-