| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
| |
the program.
Starting r155461 we are able to select patterns for vbroadcast even when the load op is used by other users.
Fix PR11900.
llvm-svn: 156539
|
|
|
|
|
|
| |
Patch by Yury Mikhaylov <yury.mikhaylov@gmail.com>.
llvm-svn: 156523
|
|
|
|
|
|
| |
end of a basic block if there's no store.
llvm-svn: 156520
|
|
|
|
|
|
|
| |
refactor code a bit to enable future changes to support run-time information
add support to compute allocation sizes at run-time if penalty > 1 (e.g., malloc(x), calloc(x, y), and VLAs)
llvm-svn: 156515
|
|
|
|
| |
llvm-svn: 156494
|
|
|
|
| |
llvm-svn: 156492
|
|
|
|
|
|
|
|
|
|
|
| |
For the Family 6 switch in sys::getHostCPUName, an unrecognized model was
reported as "i686". That's a really bad default since it means that new
CPUs will be treated as if they can only use 32-bit code. This just looks
at the cpuid extended feature flag for 64 bit support, and if that is set,
it uses a default x86-64 cpu. Similar logic is already used for the Family
15 code. <rdar://problem/11314502>
llvm-svn: 156486
|
|
|
|
| |
llvm-svn: 156484
|
|
|
|
|
|
|
| |
This new function provides a way to get the iOS version number from ios triples.
Part of rdar://11409204
llvm-svn: 156483
|
|
|
|
|
|
|
|
|
| |
This lets you save the textual representation of the LLVM IR to a file.
Before this patch it could only be printed to STDERR from llvm-c.
Patch by Carlo Kok!
llvm-svn: 156479
|
|
|
|
|
|
|
|
| |
maximum runtime performance penalty that the user is willing to accept.
This commit only adds the parameter. Code taking advantage of it will follow.
llvm-svn: 156473
|
|
|
|
|
|
| |
Patch by Andrew Wilkins!
llvm-svn: 156469
|
|
|
|
| |
llvm-svn: 156466
|
|
|
|
| |
llvm-svn: 156460
|
|
|
|
|
|
|
|
|
| |
The getPointerRegClass() hook will return GR32_TC, or whatever is
appropriate for the current function.
Patch by Yiannis Tsiouris!
llvm-svn: 156459
|
|
|
|
|
|
| |
allocas.
llvm-svn: 156458
|
|
|
|
| |
llvm-svn: 156457
|
|
|
|
| |
llvm-svn: 156456
|
|
|
|
| |
llvm-svn: 156445
|
|
|
|
|
|
| |
PR12731. Patch by Meador Inge!
llvm-svn: 156444
|
|
|
|
|
|
|
| |
old value after the store but before it is released.
This fixes rdar:/11116986.
llvm-svn: 156442
|
|
|
|
| |
llvm-svn: 156441
|
|
|
|
|
|
| |
Part of rdar://11352000 and should bring the buildbots back.
llvm-svn: 156421
|
|
|
|
|
|
|
|
|
|
| |
When a combine twiddles an extract_vector, care should be take to preserve
the type of the index operand. No luck extracting a reasonable testcase,
unfortunately.
rdar://11391009
llvm-svn: 156419
|
|
|
|
| |
llvm-svn: 156416
|
|
|
|
| |
llvm-svn: 156414
|
|
|
|
| |
llvm-svn: 156411
|
|
|
|
|
|
| |
Patch by Jack Carter.
llvm-svn: 156409
|
|
|
|
|
|
| |
Patch by Reed Kotler.
llvm-svn: 156408
|
|
|
|
|
|
| |
Part of rdar://11352000
llvm-svn: 156405
|
|
|
|
|
|
| |
I still left another fixme regarding alignment, because I'm unsure how to remove that code without breaking things
llvm-svn: 156387
|
|
|
|
|
|
| |
marked for removal in 3.0
llvm-svn: 156383
|
|
|
|
|
|
|
|
|
| |
Share the CalleeSavedRegs defs between all calling conventions having no
callee-saved registers.
Patch by Yiannis Tsiouris!
llvm-svn: 156382
|
|
|
|
|
|
| |
Files might be opend by system scanners (eg. file indexer, virus scanner, &c).
llvm-svn: 156380
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
replace the operands of expressions with only one use with undef and generate
a new expression for the original without using RAUW to update the original.
Thus any copies of the original expression held in a vector may end up
referring to some bogus value - and using a ValueHandle won't help since there
is no RAUW. There is already a mechanism for getting the effect of recursion
non-recursively: adding the value to be recursed on to RedoInsts. But it wasn't
being used systematically. Have various places where recursion had snuck in at
some point use the RedoInsts mechanism instead. Fixes PR12169.
llvm-svn: 156379
|
|
|
|
|
|
| |
buildbot failure.
llvm-svn: 156377
|
|
|
|
|
|
| |
done for 128-bit.
llvm-svn: 156375
|
|
|
|
|
|
|
| |
Added new case-ranges orientated methods for adding/removing cases in SwitchInst. After this patch cases will internally representated as ConstantArray-s instead of ConstantInt, externally cases wrapped within the ConstantRangesSet object.
Old methods of SwitchInst are also works well, but marked as deprecated. So on this stage we have no side effects except that I added support for case ranges in BitcodeReader/Writer, of course test for Bitcode is also added. Old "switch" format is also supported.
llvm-svn: 156374
|
|
|
|
| |
llvm-svn: 156358
|
|
|
|
|
|
| |
No functional change.
llvm-svn: 156345
|
|
|
|
| |
llvm-svn: 156342
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
At least some of them:
%vreg1:sub_16bit = COPY %vreg2:sub_16bit; GR64:%vreg1, GR32: %vreg2
Previously, we couldn't figure out that the above copy could be
eliminated by coalescing %vreg2 with %vreg1:sub_32bit.
The new getCommonSuperRegClass() hook makes it possible.
This is not very useful yet since the unmodified part of the destination
register usually interferes with the source register. The coalescer
needs to understand sub-register interference checking first.
llvm-svn: 156334
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The getPointerRegClass() hook can return register classes that depend on
the calling convention of the current function (ptr_rc_tailcall).
So far, we have been able to infer the calling convention from the
subtarget alone, but as we add support for multiple calling conventions
per target, that no longer works.
Patch by Yiannis Tsiouris!
llvm-svn: 156328
|
|
|
|
|
|
| |
Test cases for this code are coming. It is not used for anything yet.
llvm-svn: 156327
|
|
|
|
| |
llvm-svn: 156324
|
|
|
|
|
|
| |
order of their operands across instructions. This allows for greater CSE opportunities.
llvm-svn: 156323
|
|
|
|
|
|
|
|
|
|
|
|
| |
optional library support to the llvm-build tool:
- Add new command line parameter to llvm-build: “--enable-optional-libraries”
- Add handing of new llvm-build library type “OptionalLibrary”
- Update Cmake and automake build systems to pass correct flags to llvm-build
based on configuration
Patch by Dan Malea!
llvm-svn: 156319
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This function is a generalization of getMatchingSuperRegClass() to the
symmetric case where both sides are using a sub-register index. It will
find a super-register class and sub-register indexes that make this
diagram commute:
PreA
SuperRC ----------> RCA
| |
| |
PreB | | SubA
| |
| |
V V
RCB ----------> SubRC
SubB
This can be used to coalesce copies like:
%vreg1:sub16 = COPY %vreg2:sub16; GR64:%vreg1, GR32: %vreg2
llvm-svn: 156317
|
|
|
|
|
|
|
| |
single use.
rdar://11360370
llvm-svn: 156316
|
|
|
|
|
|
| |
Fixes a -Woverflow warning from gcc when building for 32-bit platforms.
llvm-svn: 156313
|