| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
| |
llvm-svn: 238789
|
| |
|
|
|
|
|
| |
This appears to be masked most of the time, but the problem
was exposed on some bots by r238051.
llvm-svn: 238788
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
If a dead instruction we may not only have a last-use in the main live
range but also in a subregister range if subregisters are tracked. We
need to partially rebuild live ranges in both cases.
The testcase only broke when subregister liveness was enabled. I
commited it in the current form because there is currently no flag to
enable/disable subregister liveness.
This fixes PR23720.
llvm-svn: 238785
|
| |
|
|
| |
llvm-svn: 238784
|
| |
|
|
|
|
|
|
|
|
|
| |
Start using C++ types such as StringRef and MemoryBuffer in the C++ LTO
API. In doing so, clarify the ownership of the native object file: the caller
now owns it, not the LTOCodeGenerator. The C libLTO library has been modified
to use a derived class of LTOCodeGenerator that owns the object file.
Differential Revision: http://reviews.llvm.org/D10114
llvm-svn: 238776
|
| |
|
|
|
|
|
|
|
|
|
|
| |
advanced relaxation codepath."
This reverts commit r238748.
It broke the msan bot:
http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-fast/builds/4372/steps/check-llvm%20msan/logs/stdio
llvm-svn: 238772
|
| |
|
|
|
|
|
| |
restricted. No test because no in-tree target currently has convergent
MachineInstr's.
llvm-svn: 238763
|
| |
|
|
| |
llvm-svn: 238762
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: Implement bswap intrinsic for MIPS FastISel. It's very different for misp32 r1/r2 .
Based on a patch by Reed Kotler.
Test Plan:
bswap1.ll
test-suite
Reviewers: dsanders, rkotler
Subscribers: llvm-commits, rfuhler
Differential Revision: http://reviews.llvm.org/D7219
llvm-svn: 238760
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Implement the intrinsics memset, memcopy and memmove in MIPS FastISel.
Make some needed infrastructure fixes so that this can work.
Based on a patch by Reed Kotler.
Test Plan:
memtest1.ll
The patch passes test-suite for mips32 r1/r2 and at O0/O2
Reviewers: rkotler, dsanders
Subscribers: llvm-commits, rfuhler
Differential Revision: http://reviews.llvm.org/D7158
llvm-svn: 238759
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: Implement the LLVM assembly urem/srem and sdiv/udiv instructions in MIPS FastISel.
Based on a patch by Reed Kotler.
Test Plan:
srem1.ll
div1.ll
test-suite at O0/O2 for mips32 r1/r2
Reviewers: dsanders, rkotler
Subscribers: llvm-commits, rfuhler
Differential Revision: http://reviews.llvm.org/D7028
llvm-svn: 238757
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: Implement the LLVM IR select statement for MIPS FastISelsel.
Based on a patch by Reed Kotler.
Test Plan:
"Make check" test included now.
Passes test-suite at O2/O0 mips32 r1/r2.
Reviewers: dsanders, rkotler
Subscribers: llvm-commits, rfuhler
Differential Revision: http://reviews.llvm.org/D6774
llvm-svn: 238756
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
The contents of the HI/LO registers are unpredictable after the execution of
the MUL instruction. In addition to implicitly defining these registers in the
MUL instruction definition, we have to mark those registers as dead too.
Without this the fast register allocator is running out of registers when the
MUL instruction is followed by another one that tries to allocate the AC0
register.
Based on a patch by Reed Kotler.
Reviewers: dsanders, rkotler
Subscribers: llvm-commits, rfuhler
Differential Revision: http://reviews.llvm.org/D9825
llvm-svn: 238755
|
| |
|
|
|
|
| |
This handles only the 32 bit case.
llvm-svn: 238751
|
| |
|
|
| |
llvm-svn: 238750
|
| |
|
|
|
|
|
|
|
|
| |
According to the TBAA description struct-path tag node can have an optional IsConstant field. Add corresponding argument to MDBuilder::createTBAAStructTagNode.
Reviewed By: hfinkel
Differential Revision: http://reviews.llvm.org/D10160
llvm-svn: 238749
|
| |
|
|
|
|
| |
relaxation codepath.
llvm-svn: 238748
|
| |
|
|
|
|
| |
This reduces MCSymbol from 64 to 56 bytes on x86_64.
llvm-svn: 238747
|
| |
|
|
| |
llvm-svn: 238743
|
| |
|
|
| |
llvm-svn: 238739
|
| |
|
|
|
|
|
|
|
| |
Implemented DAG lowering for all these forms.
Added tests for encoding.
By Igor Breger (igor.breger@intel.com)
llvm-svn: 238738
|
| |
|
|
|
|
| |
I removed the vector-shuffle-512-v8.ll, it is auto-generated test, not valid any more.
llvm-svn: 238735
|
| |
|
|
|
|
|
| |
We don't want to bother with creating .sxdata sections on Win64; all the
relevant information is already in the .pdata section.
llvm-svn: 238730
|
| |
|
|
|
|
| |
including encodings.
llvm-svn: 238729
|
| |
|
|
|
|
|
|
|
| |
Implemented DAG lowering for all these forms.
Added tests for encoding.
by Igor Breger (igor.breger@intel.com)
llvm-svn: 238728
|
| |
|
|
|
|
| |
be removed. NFC
llvm-svn: 238727
|
| |
|
|
|
|
| |
By Igor Breger (igor.breger@intel.com)
llvm-svn: 238724
|
| |
|
|
|
|
|
|
|
|
| |
This is important because of different addressing modes
depending on the address space for GPU targets.
This only adds the argument, and does not update
any of the uses to provide the correct address space.
llvm-svn: 238723
|
| |
|
|
|
|
|
|
| |
Alternatively, this type could be derived on-demand whenever
getResultElementType is called - if someone thinks that's the better
choice (simple time/space tradeoff), I'm happy to give it a go.
llvm-svn: 238716
|
| |
|
|
| |
llvm-svn: 238709
|
| |
|
|
|
|
|
|
|
| |
There is no MCSectionData, so the old name is now meaningless.
Also remove some asserts/checks that were there just because the information
they used was in MCSectionData.
llvm-svn: 238708
|
| |
|
|
| |
llvm-svn: 238707
|
| |
|
|
|
|
| |
With this we can replace a SetVector with a plain std::vector.
llvm-svn: 238706
|
| |
|
|
| |
llvm-svn: 238705
|
| |
|
|
| |
llvm-svn: 238703
|
| |
|
|
|
|
|
|
|
|
|
| |
Unreachable values may use themselves in strange ways due to their
dominance property. Attempting to translate through them can lead to
infinite recursion, crashing LLVM. Instead, claim that we weren't able
to translate the value.
This fixes PR23096.
llvm-svn: 238702
|
| |
|
|
|
|
|
| |
There is no need to visit all the elements if we are merely performing a
membership check. NFCI.
llvm-svn: 238701
|
| |
|
|
| |
llvm-svn: 238700
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes a bug in the line info handling in the dwarf code, based on a
problem I when implementing RelocVisitor support for MachO.
Since addr+size will give the first address past the end of the function,
we need to back up one line table entry. Fix this by looking up the
end_addr-1, which is the last address in the range. Note that this also
removes a duplicate output from the llvm-rtdyld line table dump. The
relevant line is the end_sequence one in the line table and has an offset
of the first address part the end of the range and hence should not be
included.
Also factor out the common functionality into a separate function.
This comes up on MachO much more than on ELF, since MachO
doesn't store the symbol size separately, hence making
said situation always occur.
Differential Revision: http://reviews.llvm.org/D9925
llvm-svn: 238699
|
| |
|
|
| |
llvm-svn: 238697
|
| |
|
|
| |
llvm-svn: 238695
|
| |
|
|
| |
llvm-svn: 238694
|
| |
|
|
| |
llvm-svn: 238692
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The original version didn't properly account for the base register
being modified before the final jump, so caused miscompilations in
Chromium and LLVM. I've fixed this and tested with an LLVM self-host
(I don't have the means to build & test Chromium).
The general idea remains the same: in pathological cases jump tables
can be too far away from the instructions referencing them (like other
constants) so they need to be movable.
Should fix PR23627.
llvm-svn: 238680
|
| |
|
|
| |
llvm-svn: 238676
|
| |
|
|
| |
llvm-svn: 238664
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This commit adds partial support for MachO relocations to RelocVisitor.
A simple test case is added to show that relocations are indeed being
applied and that using llvm-dwarfdump on MachO files no longer errors.
Correctness is not yet tested, due to an unrelated bug in DebugInfo,
which will be fixed with appropriate testcase in a followup commit.
Differential Revision: http://reviews.llvm.org/D8148
llvm-svn: 238663
|
| |
|
|
| |
llvm-svn: 238660
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D8217
llvm-svn: 238659
|
| |
|
|
|
|
| |
user-supplied mutator
llvm-svn: 238658
|