- Dec 12, 2013
-
-
Greg Clayton authored
llvm-svn: 197087
-
- Dec 11, 2013
-
-
Alp Toker authored
llvm-svn: 197086
-
Rui Ueyama authored
llvm-svn: 197085
-
Hal Finkel authored
This adds two additional functions to the hazard recognizer interface. These are optional (in the sense that the default implementations preserve the current behavior), and used by the post-RA scheduler. Upcoming commits will use this functionality in order to improve dispatch-group formation on the POWER7 and related cores. Dispatch groups are an odd construct: sometimes we need to insert nops to force a new one to start (for performance reasons), and some instructions need to appear in certain positions within a group, but the groups are not fundamentally cycle based (they can contain instructions with data dependencies with non-trivial latencies). Motivation: unsigned PreEmitNoops(SUnit *) - Used to force the post-RA scheduler to insert nops to force a new dispatch group to begin. We already have a NoopHazard, and this is also still needed. However, NoopHazard only causes a nop to be inserted if there are no other available instructions, and so is not always sufficient. The number of nops to insert depends on state that only the hazard recognizer has, so a general callback is necessary. bool ShouldPreferAnother(SUnit *) - Used to avoid scheduling instructions that would start a new dispatch group when others are available that could be part of the current dispatch group. In this case, we don't want to issue nops, because the non-preferred instruction will implicitly start a new dispatch group regardless. Although the motivation for these functions is driven by the PowerPC backend, they are completely general. llvm-svn: 197084
-
Warren Hunt authored
After r196549 there is no need to separate FinalizeCXXLayout and FinalizeLayout so they were merged and FinalizeCXXLayout was eliminated. llvm-svn: 197083
-
Aaron Ballman authored
No longer accepting attribute spellings with prefix and suffix underscores except for GNU attributes, or C++11-style attributes in the GNU namespace. This prevents attributes such as __declspec(__dllexport__) or [[__noreturn__]] from being treated as known attributes. llvm-svn: 197082
-
Roman Divacky authored
exec) and one for PIC codegen (local and general dynamic). llvm-svn: 197081
-
Rafael Espindola authored
The linkers on these systems don't have anything special to do with these symbols. Since the intent is for them to be absent from the final object, just treat them as private. llvm-svn: 197080
-
David Blaikie authored
Revert "DebugInfo: Move type units into the debug_types section with appropriate comdat grouping and type unit headers" This reverts commit r197073. The test seems to be failing on some buildbots for unknown reasons. Reverting until I can figure that out. If anyone's got a reproduction (.s and .o together would be great) - I'd really appreciate it. llvm-svn: 197079
-
Sylvestre Ledru authored
Patch by Todd Fiala llvm-svn: 197078
-
Renato Golin authored
llvm-svn: 197077
-
Argyrios Kyrtzidis authored
[objcmt] When emitting a remap file, use a json format with the edit entries, instead of applying the changes to a temp file directly. This allows to combine the edits when they can be different based on whether you saw the implementation or not, e.g. with the designated initializer migration. llvm-svn: 197076
-
Argyrios Kyrtzidis authored
the ObjC implementation declarations, just don't change implementations for classes that are not in the whitelisted headers. For example, if we change a method to return 'instancetype' we should also update the method definition in the implementation. llvm-svn: 197075
-
Roman Divacky authored
llvm-svn: 197074
-
David Blaikie authored
DebugInfo: Move type units into the debug_types section with appropriate comdat grouping and type unit headers This commit does not complete the type units feature - there are issues around fission support (skeletal type units, pubtypes/pubnames) and hashing of some types including those containing references to types in other type units. llvm-svn: 197073
-
David Blaikie authored
llvm-svn: 197072
-
Chad Rosier authored
use f32/f64 types, rather than their vector equivalents. llvm-svn: 197071
-
Chad Rosier authored
floating-point reciprocal square root step LLVM AArch64 intrinsics to use f32/f64 types, rather than their vector equivalents. llvm-svn: 197070
-
Chad Rosier authored
point reciprocal exponent, and floating-point reciprocal square root estimate LLVM AArch64 intrinsics to use f32/f64 types, rather than their vector equivalents. llvm-svn: 197069
-
Chad Rosier authored
use f32/f64 types, rather than their vector equivalents. llvm-svn: 197068
-
Chad Rosier authored
floating-point reciprocal square root step LLVM AArch64 intrinsics to use f32/f64 types, rather than their vector equivalents. llvm-svn: 197067
-
Chad Rosier authored
point reciprocal exponent, and floating-point reciprocal square root estimate LLVM AArch64 intrinsics to use f32/f64 types, rather than their vector equivalents. llvm-svn: 197066
-
Ed Maste authored
llvm-svn: 197065
-
Rafael Espindola authored
llvm-svn: 197064
-
Howard Hinnant authored
Fix demangling crasher. The crasher involved nested <encoding> involving parameter packs, which exposed a logic bug causing an empty vector<string> to be accessed with back(). In addition to fixing the bug, I've inserted numerous preemptive checks for similar bugs in the hopes that if another bug is uncovered, the bug results in an invalid mangled string instead of a demangler crash. Test suite updated with string that was causing the crash. llvm-svn: 197063
-
Logan Chien authored
Replace -arch with -triple so that we can guarantee that ELF object files can be generated. llvm-svn: 197062
-
Marshall Clow authored
Move std::begin(array) and std::end(array) out from under an #ifdef that was preventing people from building libc++ using gcc. This corrects a mistake that I introduced in r196058 llvm-svn: 197061
-
Reid Kleckner authored
We were mistakengly giving linkonce_odr linkage instead of internal linkage to the deleting and complete destructor thunks for classes in anonymous namespaces. Fixes PR17273. llvm-svn: 197060
-
Jordan Rose authored
Found by Arthur Yoo! llvm-svn: 197059
-
Tom Stellard authored
This makes it a little easier to read. Reviewed-by: Vincent Lejeune <vljn at ovi.com> llvm-svn: 197058
-
Tom Stellard authored
This enables -print-before-all to dump MachineInstrs after it is run. Reviewed-by: Vincent Lejeune <vljn at ovi.com> llvm-svn: 197057
-
Tom Stellard authored
This enables -print-before-all to dump MachineInstrs after it is run. Reviewed-by: Vincent Lejeune <vljn at ovi.com> llvm-svn: 197056
-
Hans Wennborg authored
Methods are thiscall by default in the MS ABI, and also in MinGW targetting GCC 4.7 or later. This changes the diagnostic from the technically correct but hard to understand: virtual function 'foo' has different calling convention attributes ('void ()') than the function it overrides (which has calling convention 'void () __attribute__((thiscall))') to the more intuitive and also correct: 'static' member function 'foo' overrides a virtual function We already have a test for this. Let's just run it in both ABI modes. Differential Revision: http://llvm-reviews.chandlerc.com/D2375 llvm-svn: 197055
-
Logan Chien authored
llvm-svn: 197052
-
Benjamin Kramer authored
Found by "cppcheck". PR18208. llvm-svn: 197047
-
Tim Northover authored
The tests were no longer using fast-isel at all (MachO needs an "ios" rather than "darwin" triple at the moment and Linux needs ARM mode). Once that was corrected, the verifier complained about a t2ADDri created for the alloca. llvm-svn: 197046
-
Alp Toker authored
Based on a patch by Neil Henning! llvm-svn: 197045
-
Renato Golin authored
llvm-svn: 197043
-
Elena Demikhovsky authored
I moved a test from avx512-vbroadcast-crash.ll to avx512-vbroadcast.ll I defined HasAVX512 predicate as AssemblerPredicate. It means that you should invoke llvm-mc with "-mcpu=knl" to get encoding for AVX-512 instructions. I need this to let AsmMatcher to set different encoding for AVX and AVX-512 instructions that have the same mnemonic and operands (all scalar instructions). llvm-svn: 197041
-
Kostya Serebryany authored
llvm-svn: 197040
-