| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
| |
llvm-svn: 212329
|
| |
|
|
|
|
| |
the commit
llvm-svn: 212328
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Reviewers: rafael, rnk
Reviewed By: rnk
Subscribers: rnk, cfe-commits
Differential Revision: http://reviews.llvm.org/D4357
llvm-svn: 212327
|
| |
|
|
|
|
|
| |
I still don't love testing the comments, but its the only sane way to
check shuffle instructions...
llvm-svn: 212326
|
| |
|
|
|
|
| |
(meant to put this cleanup in the previous patch, sorry)
llvm-svn: 212325
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
any constant, constant FP, or undef splat and to tolerate any undef
lanes in a splat, then replace all uses of isSplatVector in X86's
lowering with it.
This fixes issues where undef lanes in an otherwise splat vector would
prevent the splat logic from firing. It is a touch more awkward to use
this interface, but it is much more accurate. Suggestions for better
interface structuring welcome.
With this fix, the code generated with the widening legalization
strategy for widen_cast-4.ll is *dramatically* improved as the special
lowering strategies for a v16i8 SRA kick in even though the high lanes
are undef.
We also get a slightly different choice for broadcasting an aligned
memory location, and use vpshufd instead of vbroadcastss. This looks
like a minor win for pipelining and domain crossing, but a minor loss
for the number of micro-ops. I suspect its a wash, but folks can easily
tweak the lowering if they want.
llvm-svn: 212324
|
| |
|
|
|
|
|
| |
a non-null node. In particular, this makes it easier to use condition
variables with SDValues, etc.
llvm-svn: 212323
|
| |
|
|
| |
llvm-svn: 212322
|
| |
|
|
|
|
|
|
|
|
|
| |
Silvermont can only decode one instruction per cycle if the instruction exceeds 8 bytes.
Also in Silvermont instructions with more than 3 prefixes will cause 3 cycle penalty.
Maximum nop length is limited to 7 bytes when used for padding on Silvermont.
For other x86 processors max nop length remains unchanged 15 bytes.
Differential Revision: http://reviews.llvm.org/D4374
llvm-svn: 212321
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This change removes the ScriptInterpreter::TerminateInterpreter() call which
ended up endlessly calling itself as things currently stand. It also cleans
up some other Windows-related cmake changes.
See http://lists.cs.uiuc.edu/pipermail/lldb-commits/Week-of-Mon-20140630/011544.html
for more details.
Change by Zachary Turner
llvm-svn: 212320
|
| |
|
|
|
|
|
|
|
|
|
| |
Currently Windows disables Python builds by default. This
change ensures we don't process the scripts dir when we're
on Windows unless we're explicitly enabling python, which
prevents a build error.
Change by Deepak Panickal
llvm-svn: 212319
|
| |
|
|
|
|
|
|
| |
Summary: This was causing the prologue_end to be incorrectly positioned.
Differential Revision: http://reviews.llvm.org/D4122
llvm-svn: 212318
|
| |
|
|
|
|
|
|
| |
Fixes some structure definitions in CommandObjectType
that needed to be adjusted for a new OptionDefinition
field.
llvm-svn: 212317
|
| |
|
|
|
|
|
|
| |
cygming.
This makes unittests run with BUILD_SHARED_LIBS on DLL platforms.
llvm-svn: 212316
|
| |
|
|
|
|
|
|
|
|
|
| |
BUILD_SHARED_LIBS may not control enable/disable plugins.
FIXME: Make this configurable.
FIXME: "ENABLE_SHARED" doesn't make sense, since it is used just for plugins. We may rename it.
I introduced config.enable_shared in r120273.
llvm-svn: 212315
|
| |
|
|
|
|
| |
For now, its user is configure_lit_site_cfg().
llvm-svn: 212314
|
| |
|
|
| |
llvm-svn: 212313
|
| |
|
|
| |
llvm-svn: 212312
|
| |
|
|
| |
llvm-svn: 212311
|
| |
|
|
| |
llvm-svn: 212310
|
| |
|
|
|
|
|
|
|
|
| |
subtarget. This involved having the movt predicate take the current
function - since we care about size in instruction selection for
whether or not to use movw/movt take the function so we can check
the attributes. This required adding the current MachineFunction to
FastISel and propagating through.
llvm-svn: 212309
|
| |
|
|
|
|
|
|
|
| |
We want to encourage users of the C++ LTO API to reuse memory buffers instead
of repeatedly opening and reading the same file contents.
This reverts commit r212305 and implements a tidier scheme.
llvm-svn: 212308
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
When INT_MIN is the numerator in a sdiv, we would not properly handle
overflow when calculating the bounds of possible values; abs(INT_MIN) is
not a meaningful number.
Instead, check and handle INT_MIN by reasoning that the largest value is
INT_MIN/-2 and the smallest value is INT_MIN.
This fixes PR20199.
llvm-svn: 212307
|
| |
|
|
|
|
|
|
|
|
| |
This converts the very complicated mach-o arm
relocations into the simple Reference Kinds in lld.
The next patch will use the internal Reference kinds
to fix up arm/thumb code.
llvm-svn: 212306
|
| |
|
|
| |
llvm-svn: 212305
|
| |
|
|
| |
llvm-svn: 212304
|
| |
|
|
|
|
|
|
|
|
| |
On at least my machine, ar does not register an all symbols read hook (which
previously triggered target initialization), but it does register a claim
files hook, which depends on the targets being initialized.
Differential Revision: http://reviews.llvm.org/D4372
llvm-svn: 212303
|
| |
|
|
|
|
|
|
|
| |
This rename makes it easier to identify the specific overload being called
in each particular case and makes future refactorings easier.
Differential Revision: http://reviews.llvm.org/D4370
llvm-svn: 212302
|
| |
|
|
| |
llvm-svn: 212301
|
| |
|
|
|
|
| |
used when we have SSE2.
llvm-svn: 212300
|
| |
|
|
| |
llvm-svn: 212299
|
| |
|
|
|
|
|
|
| |
functions that do not have top level debug information." as it appears to be breaking some LTO constructs.
This reverts commit r212203.
llvm-svn: 212298
|
| |
|
|
|
|
|
| |
subtarget from ARMISelDAGtoDAG. The former is unnecessary and the
latter is initialized on each runOnMachineFunction.
llvm-svn: 212297
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch:
1) Improves the cost model for x86 alternate shuffles (originally
added at revision 211339);
2) Teaches the Cost Model Analysis pass how to analyze alternate shuffles.
Alternate shuffles are a special kind of blend; on x86, we can often
easily lowered alternate shuffled into single blend
instruction (depending on the subtarget features).
The existing cost model didn't take into account subtarget features.
Also, it had a couple of "dead" entries for vector types that are never
legal (example: on x86 types v2i32 and v2f32 are not legal; those are
always either promoted or widened to 128-bit vector types).
The new x86 cost model takes into account what target features we have
before returning the shuffle cost (i.e. the number of instructions
after the blend is lowered/expanded).
This patch also teaches the Cost Model Analysis how to identify and analyze
alternate shuffles (i.e. 'SK_Alternate' shufflevector instructions):
- added function 'isAlternateVectorMask';
- added some logic to check if an instruction is a alternate shuffle and, in
case, call the target specific TTI to get the corresponding shuffle cost;
- added a test to verify the cost model analysis on alternate shuffles.
llvm-svn: 212296
|
| |
|
|
|
|
|
|
| |
symbol’s name. On darwin the -j flag is used (often in combinations
with other flags) to produce a complete list of symbol names which
than can then be reorder and used with ld(1)’s -order_file.
llvm-svn: 212294
|
| |
|
|
|
|
|
|
|
|
| |
This patch adds tablegen patterns to select F16C float-to-half-float
conversion instructions from 'f32_to_f16' and 'f16_to_f32' dag nodes.
If the target doesn't have F16C, then 'f32_to_f16' and 'f16_to_f32'
are expanded into library calls.
llvm-svn: 212293
|
| |
|
|
| |
llvm-svn: 212292
|
| |
|
|
| |
llvm-svn: 212291
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The purpose of the OptionValidator is to determine, based on some
arbitrary set of conditions, whether or not a command option is
valid for a given debugger state. An example of this might be
to selectively disable or enable certain command options that
don't apply to a particular platform.
This patch contains no functional change, and does not actually
make use of an OptionValidator for any purpose yet. A follow-up
patch will begin to add the logic and users of OptionValidator.
Reviewed by: Greg Clayton, Jim Ingham
Differential Revision: http://reviews.llvm.org/D4369
llvm-svn: 212290
|
| |
|
|
| |
llvm-svn: 212289
|
| |
|
|
|
|
|
| |
Fixes the build with only the ARM backend enabled. For some reason some
other backend was pulling Object and this went unnoticed.
llvm-svn: 212288
|
| |
|
|
|
|
|
| |
This should allow llvm-ar to be used instead of gnu ar + plugin in a LTO
build. I will add a release note about it once I finish a LTO bootstrap with it.
llvm-svn: 212287
|
| |
|
|
|
|
|
| |
Will add support for tests with lit in a later patch.
This does not yet support building the unwinder in src/Unwind.
llvm-svn: 212286
|
| |
|
|
| |
llvm-svn: 212285
|
| |
|
|
|
|
|
|
|
|
|
| |
Exposes more constant globals that can be removed by
the global optimizer. A specific example is the removal
of the static global block address array in
clang/test/CodeGen/indirect-goto.c. This change impacts only
lower optimization levels. With LTO interprocedural
const prop runs already before global opt.
llvm-svn: 212284
|
| |
|
|
| |
llvm-svn: 212283
|
| |
|
|
|
|
| |
This also enables it in llvm-nm so that it can be tested.
llvm-svn: 212282
|
| |
|
|
| |
llvm-svn: 212281
|
| |
|
|
|
|
| |
as darwin’s nm(1) uses -U for this functionality.
llvm-svn: 212280
|
| |
|
|
| |
llvm-svn: 212279
|