- Sep 20, 2013
-
-
Andrew Trick authored
This was an experimental scheduler a year ago. It's now used by several subtargets, both in-order and out-of-order, and it is about to be enabled by default for x86 and armv7. It will be the new GenericScheduler for subtargets that don't provide their own SchedulingStrategy. llvm-svn: 191051
-
David Blaikie authored
llvm-svn: 191050
-
Kai Nacke authored
C-like languages promote types like unsigned short to unsigned int before performing an arithmetic operation. Currently the rotate matcher in the DAGCombiner does not consider this situation. This commit extends the DAGCombiner in the way that the pattern (or (shl ([az]ext x), (*ext y)), (srl ([az]ext x), (*ext (sub 32, y)))) is folded into ([az]ext (rotl x, y)) The matching is restricted to aext and zext because in this cases the upper bits are either undefined or known. Test case is included. This fixes PR16726. llvm-svn: 191049
-
Kai Nacke authored
There is a buildbot failure. Need to investigate this. llvm-svn: 191048
-
Daniel Malea authored
- last remaining failure on the clang buildbot llvm-svn: 191047
-
Kaelyn Uhrain authored
When -fms-extensions is enabled, the typo correction was being called here on non-error paths (as in test/SemaTemplate/lookup-dependent-bases.cpp) and correct compilation depended on Sema::CorrectTypo not finding a viable candidate. llvm-svn: 191046
-
Kai Nacke authored
C-like languages promote types like unsigned short to unsigned int before performing an arithmetic operation. Currently the rotate matcher in the DAGCombiner does not consider this situation. This commit extends the DAGCombiner in the way that the pattern (or (shl ([az]ext x), (*ext y)), (srl ([az]ext x), (*ext (sub 32, y)))) is folded into ([az]ext (rotl x, y)) The matching is restricted to aext and zext because in this cases the upper bits are either undefined or known. Test case is included. This fixes PR16726. llvm-svn: 191045
-
Rui Ueyama authored
/errorReport is a command line option to let the linker to report internal linker error information to Microsoft. For LLD that option doesn't make any sense, so it just ignores the option. llvm-svn: 191044
-
David Blaikie authored
llvm-svn: 191043
-
Peter Collingbourne authored
Patch by Tom Roeder! llvm-svn: 191042
-
Daniel Malea authored
- tests are now anostic to the currently selected thread, as that is a frontend (i.e. driver) decision - this is in preparation to a fix to POSIXThread::BreakNotify that will be committed shortly Reviewed by: Matt Kopec llvm-svn: 191041
-
- Sep 19, 2013
-
-
Bill Wendling authored
<rdar://problem/7859988> llvm-svn: 191040
-
Benjamin Kramer authored
llvm-svn: 191039
-
Shankar Easwaran authored
Cleanup structure members that are not being used. Also clang-format it. llvm-svn: 191038
-
Shuxin Yang authored
If "C1/X" were having multiple uses, the only benefit of this transformation is to potentially shorten critical path. But it is at the cost of instroducing additional div. The additional div may or may not incur cost depending on how div is implemented. If it is implemented using Newton–Raphson iteration, it dosen't seem to incur any cost (FIXME). However, if the div blocks the entire pipeline, that sounds to be pretty expensive. Let CodeGen to take care this transformation. This patch sees 6% on a benchmark. rdar://15032743 llvm-svn: 191037
-
Benjamin Kramer authored
The code below can't handle any pointers. PR17293. llvm-svn: 191036
-
David Blaikie authored
Based on code review feedback from Eric Christopher, unshifting these constants as they can appear in the gdb_index itself, shifted a further 24 bits. This means that keeping them preshifted is a bit inflexible, so let's not do that. Given the motivation, wrap up some nicer enums, more type safety, and some utility functions. llvm-svn: 191035
-
Hans Wennborg authored
When this flag is enabled, clang-cl falls back to cl.exe if it cannot compile the code itself for some reason. The idea is to use this to help build projects that almost compile with clang-cl, except for some files that can then be built with the fallback mechanism. Differential Revision: http://llvm-reviews.chandlerc.com/D1711 llvm-svn: 191034
-
Shankar Easwaran authored
llvm-svn: 191033
-
Shankar Easwaran authored
This also makes it support debugging executables built with lld. Initial patch done by Bigcheese. This is only a revised patch to have the functionality in the Writer. llvm-svn: 191032
-
Anders Waldenborg authored
Differential Revision: http://llvm-reviews.chandlerc.com/D1715 llvm-svn: 191030
-
Anders Waldenborg authored
This avoids warnings when included in a application that uses -Wstrict-prototypes. Differential Revision: http://llvm-reviews.chandlerc.com/D1713 llvm-svn: 191029
-
Sylvestre Ledru authored
llvm-svn: 191027
-
Eric Christopher authored
in normally. llvm-svn: 191026
-
David Blaikie authored
Names open to bikeshedding. Could switch back to the constants being unshifted, but this way seems a bit easier to work with. llvm-svn: 191025
-
Fariborz Jahanian authored
type in template instantiation). llvm-svn: 191022
-
Yi Jiang authored
llvm-svn: 191021
-
David Blaikie authored
llvm-svn: 191020
-
David Blaikie authored
llvm-svn: 191018
-
Shuxin Yang authored
This is how it ignores the dead code: 1) When a dead branch target, say block B, is identified, all the blocks dominated by B is dead as well. 2) The PHIs of those blocks in dominance-frontier(B) is updated such that the operands corresponding to dead predecessors are replaced by "UndefVal". Using lattice's jargon, the "UndefVal" is the "Top" in essence. Phi node like this "phi(v1 bb1, undef xx)" will be optimized into "v1" if v1 is constant, or v1 is an instruction which dominate this PHI node. 3) When analyzing the availability of a load L, all dead mem-ops which L depends on disguise as a load which evaluate exactly same value as L. 4) The dead mem-ops will be materialized as "UndefVal" during code motion. llvm-svn: 191017
-
Fariborz Jahanian authored
objc_returns_inner_pointer on properties. // rdar://14990439 llvm-svn: 191016
-
Reid Kleckner authored
Various Windows SDK headers use _MSC_VER values to figure out what version of the VC++ headers they're using, in particular for SAL macros. Patch by Paul Hampson! llvm-svn: 191015
-
Shuxin Yang authored
As its name suggests, this function will return all basic blocks dominated by a given block. llvm-svn: 191014
-
Alexander Potapenko authored
[ASan] Fix init-order-dlopen.cc test to not depend on the -Wl,-undefined,dynamic_lookup being passed to the linker. llvm-svn: 191012
-
Reid Kleckner authored
llvm-svn: 191011
-
Reid Kleckner authored
Patch by Paul Hampson! llvm-svn: 191010
-
Fariborz Jahanian authored
of ObjectiveC properties to mean annotation of NS_RETURNS_INNER_POINTER on its synthesized getter. This also facilitates more migration to properties when methods are annotated with NS_RETURNS_INNER_POINTER. // rdar://14990439 llvm-svn: 191009
-
Evgeniy Stepanov authored
Adds a flag to the MemorySanitizer pass that enables runtime rewriting of indirect calls. This is part of MSanDR implementation and is needed to return control to the DynamiRio-based helper tool on transition between instrumented and non-instrumented modules. Disabled by default. llvm-svn: 191006
-
Ed Maste authored
Targets and hosts today are little-endian (arm, x86), so this change should be a no-op as they will not encounter the byte swapping cases. Byte swapping will happen when cross debugging of big endian-targets (e.g. MIPS, PPC) on a little-endian host (x86). Register- or word- sized data copies need to be swapped, but calls to ExtractBytes or CopyByteOrderedData that would invoke the swapping case are presumably in error. llvm-svn: 191005
-
Kostya Serebryany authored
llvm-svn: 191004
-