| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 210458
|
| |
|
|
| |
llvm-svn: 210457
|
| |
|
|
| |
llvm-svn: 210456
|
| |
|
|
| |
llvm-svn: 210455
|
| |
|
|
|
|
|
|
|
| |
This fixes a crash on MMX intrinsics, as well as a corner case in handling of
all unsigned pack intrinsics.
PR19953.
llvm-svn: 210454
|
| |
|
|
| |
llvm-svn: 210453
|
| |
|
|
| |
llvm-svn: 210452
|
| |
|
|
|
|
|
| |
This reverts commit r210425 because the test added in the commit
is broken.
llvm-svn: 210451
|
| |
|
|
| |
llvm-svn: 210450
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The PowerPC vsumsws instruction, accessed via vec_sums, is defined
architecturally with a big-endian bias, in that the second input vector
and the result always reference big-endian element 3 (little-endian
element 0). For ease of porting, the programmer wants elements 3 in
both cases.
To provide this semantics, for little endian we generate a permute for
the second input vector prior to the vsumsws instruction, and generate
a permute for the result vector following the vsumsws instruction.
The correctness of this code is tested by the new sums.c test added in
a previous patch, as well as the modifications to
builtins-ppc-altivec.c in the present patch.
llvm-svn: 210449
|
| |
|
|
| |
llvm-svn: 210448
|
| |
|
|
| |
llvm-svn: 210447
|
| |
|
|
|
|
|
| |
Patch by Dave Estes <cestes@codeaurora.org>
http://reviews.llvm.org/D4037
llvm-svn: 210446
|
| |
|
|
|
|
|
| |
plus add. The shift can be folded into the add. This only effects codegen
when the constant is 3.
llvm-svn: 210445
|
| |
|
|
|
|
|
|
|
|
| |
For each array index that is in the form of zext(a), convert it to sext(a)
if we can prove zext(a) <= max signed value of typeof(a). The conversion
helps to split zext(x + y) into sext(x) + sext(y).
Reviewed in http://reviews.llvm.org/D4060
llvm-svn: 210444
|
| |
|
|
| |
llvm-svn: 210443
|
| |
|
|
| |
llvm-svn: 210442
|
| |
|
|
|
|
|
| |
This uncovered something strange. Diagnostics for InlineAsm have source locations
that don't really map to where they are within the .c source file.
llvm-svn: 210440
|
| |
|
|
|
|
|
|
|
|
| |
zext(a + b) != zext(a) + zext(b) even if a + b >= 0 && b >= 0.
e.g., a = i4 0b1111, b = i4 0b0001
zext a + b to i8 = zext 0b0000 to i8 = 0b00000000
(zext a to i8) + (zext b to i8) = 0b00001111 + 0b00000001 = 0b00010000
llvm-svn: 210439
|
| |
|
|
|
|
| |
No functionality changes.
llvm-svn: 210438
|
| |
|
|
|
|
|
| |
inbounds are not necessary in these two tests. zext(a +nuw b) = zext(a) +
zext(b) should hold with or without inbounds.
llvm-svn: 210437
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
To test cases that involve actual repetition (> 1 elements), at least
one element before the insertion point, and some elements of the
original range that still fit in that range space after insertion.
Actually we need coverage for the inverse case too (where no elements
after the insertion point fit into the previously allocated space), but
this'll do for now, and I might end up rewriting bits of SmallVector to
avoid that special case anyway.
llvm-svn: 210436
|
| |
|
|
|
|
|
|
|
|
| |
Before, we where looking at the size of the pointer type that specifies the
location from which to load the element. This did not make any sense at all.
This change fixes a bug in the delinearization where we failed to delinerize
certain load instructions.
llvm-svn: 210435
|
| |
|
|
|
|
|
|
| |
when inserting repeated elements.
Also split and improve tests a bit.
llvm-svn: 210433
|
| |
|
|
| |
llvm-svn: 210432
|
| |
|
|
|
|
|
|
| |
X86Subtarget::isTargetCygMing || X86Subtarget::isTargetKnownWindowsMSVC is
equivalent to all Windows environments. Simplify the check to isOSWindows.
NFC.
llvm-svn: 210431
|
| |
|
|
|
|
|
|
|
|
|
| |
caught some bugs I haven't fixed yet.
Specifically this caused inserting an element from a SmallVector into
itself when such an insertion would cause a reallocation. We have code
to handle this for non-reallocating cases, but it's not robust against
reallocation.
llvm-svn: 210430
|
| |
|
|
|
|
|
|
| |
(& because it makes it easier to test, this also improves
correctness/performance slightly by moving the last element in an insert
operation, rather than copying it)
llvm-svn: 210429
|
| |
|
|
|
|
| |
Because we don't have a separate negate( ) function, 0 - NaN does double-duty as the IEEE-754 negate( ) operation, which (unlike most FP ops) *does* attach semantic meaning to the signbit of NaN.
llvm-svn: 210428
|
| |
|
|
|
|
|
|
|
|
|
|
| |
I saw at least a memory leak or two from inspection (on probably
untested error paths) and r206991, which was the original inspiration
for this change.
I ran this idea by Jim Grosbach a few weeks ago & he was OK with it.
Since it's a basically mechanical patch that seemed sufficient - usual
post-commit review, revert, etc, as needed.
llvm-svn: 210427
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
with the already-moved-from value
This would cause the last element in a range to be in a moved-from state
after an insert at a non-end position, losing that value entirely in the
process.
Side note: move_backward is subtle. It copies [A, B) to C-1 and down.
(the fact that it decrements both the second and third iterators before
the first movement is the subtle part... kind of surprising, anyway)
llvm-svn: 210426
|
| |
|
|
| |
llvm-svn: 210425
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1) The commit was made despite profound lack of understanding:
"I did not understand the comment about using dyn_cast instead of isa. I will
commit as is and make the update after. You can explain what you meant to me."
Commit first, understand later isn't OK.
2) Review comments were simply ignored:
"Can you edit the summary to describe what the patch is for? It appears to be
a list of commits at the moment."
3) The patch got LGTM'd off-list without any indication of readiness.
4) The public mailing list was excluded from patch review so all of this was
hidden from the community.
This reverts commit r210414.
llvm-svn: 210424
|
| |
|
|
| |
llvm-svn: 210423
|
| |
|
|
| |
llvm-svn: 210422
|
| |
|
|
| |
llvm-svn: 210421
|
| |
|
|
|
|
|
|
|
| |
This change isolates various llvm/MC headers from the rest of the parser and
better aligns with the existing SemaStmtAsm.cpp.
No change in functionality, code move only.
llvm-svn: 210420
|
| |
|
|
|
|
| |
The last use has been removed in clang r210418.
llvm-svn: 210419
|
| |
|
|
|
|
| |
Requires LLVM r210417.
llvm-svn: 210418
|
| |
|
|
|
|
| |
This helps localize header inclusion in the frontend.
llvm-svn: 210417
|
| |
|
|
|
|
|
|
|
|
|
| |
Use mangled template instantiation name as key for back references.
Templates have their own context for back references, so their mangling
is always the same regardless of context. This avoids mangling template
instantiations twice.
Patch by Agustín Bergé!
llvm-svn: 210416
|
| |
|
|
|
|
|
|
|
|
| |
link.exe requires that the text section has the IMAGE_SCN_MEM_16BIT flag set.
Otherwise, it will treat the function as ARM. If this occurs, then jumps to the
function will fail, switching from thumb to ARM mode execution.
With this change, it is possible to link using the MSVC linker as well.
llvm-svn: 210415
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
start to do simple constants
finish simplestore
add test case
format
Merge branch 'master' into 1756_8
Add basic functionality for assignment of ints. This creates a lot of core infrastructure in which to add, with little effort, quite a bit more to mips fast-isel
Merge branch 'master' into 1756_8
Add basic functionality for assignment of ints. This creates a lot of core infrastructure in which to add, with little effort, quite a bit more to mips fast-isel
in progress
finish integer materialize
test cases
test cases
in progress
Finish up fast-isel materialize for ints.
Finish materialize for ints
test cases
simplestorei.ll
Merge branch 'master' into 1756_8
fix fp constants for fast-isel
Merge branch '1758_1' of dmz-portal.mips.com:llvm into 1758_1
in progress
lastest for fp materialization
clean up
Merge branch 'master' into 1758_1
formatting
add test case
finish test case
Merge branch 'master' into 1758_2
Test Plan:
simplestore.ll
simplestore.ll
Reviewers: dsanders
Reviewed By: dsanders
Differential Revision: http://reviews.llvm.org/D3659
llvm-svn: 210414
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: Merge branch 'master' into 1758_6
Test Plan:
No functionality change. Run "make check" and run test-suite.
Because our servers are not yet running again I have not yet run test-suite.
I will further review myself before submission.
Reviewers: dsanders
Reviewed By: dsanders
Differential Revision: http://reviews.llvm.org/D3819
llvm-svn: 210413
|
| |
|
|
|
|
| |
r210408 inadvertently disabled them when X86 is not selected.
llvm-svn: 210412
|
| |
|
|
|
|
|
| |
The JITTests and MCJITTests unit test targets require a native arch with JIT
support, otherwise fail to link.
llvm-svn: 210411
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Included this file which is needed to enable tablegen generated functionality
for fast mips-isel
Test Plan:
This has no visible functionality by itself but just adding the include
file creates some issues so I have it as a separate patch.
Reviewers: dsanders
Reviewed By: dsanders
Differential Revision: http://reviews.llvm.org/D3812
llvm-svn: 210410
|
| |
|
|
|
|
| |
Add missing test case for constructor section selection. Thanks David Blaikie!
llvm-svn: 210409
|
| |
|
|
|
|
|
|
|
|
| |
Rather than requiring ARM support for the ELF tests (which is odd), move the
tests that require ARM into a subdirectory to use lit to disable them if the
support is not present. Play this game to prevent disabling the ELF tests on
the Windows build bots as they have caught issues in the past with interactions
between various platforms.
llvm-svn: 210408
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
GAS documents the .type directive as having an optional comma following the key
symbol name when using the STT_<TYPE_IN_UPPER_CASE> form. However, it treats
the comma as optional in all cases. This makes the IAS support both forms of
inputs. Furthermore, the prefixed forms take either the upper case name or the
lower case alias.
The tests are split into two separate sets as the hash character serves as a
comment character on x86, which is tested in the second set by using arm-elf
which uses the at symbol as a comment character.
llvm-svn: 210407
|