| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
|
| |
second output of SUB with first output of TEST.
PR13966
llvm-svn: 164835
|
| |
|
|
|
|
| |
Patch committed on behalf of Kirill Uhanov
llvm-svn: 164831
|
| |
|
|
|
|
| |
Patch by Martinez, Javier E.
llvm-svn: 164822
|
| |
|
|
|
|
|
|
| |
If the it's the condition of a SwitchInst, reload it.
Fixes PR13972.
llvm-svn: 164818
|
| |
|
|
| |
llvm-svn: 164817
|
| |
|
|
|
|
|
|
| |
is only stored once.
Fixes PR13968.
llvm-svn: 164815
|
| |
|
|
| |
llvm-svn: 164814
|
| |
|
|
|
|
|
|
|
| |
2. As part of this, added assembly format FEXT_RI16_SP_explicit_ins and
moved other lines for FEXT_RI16 formats to be in the right place in the code.
3. Added mayLoad and mayStore assignements for the load/store instructions added and for ones already there that did not have this assignment.
4. Another patch will deal with the problem of load/store byte/halfword to the stack. This is a particular Mips16 problem.
llvm-svn: 164811
|
| |
|
|
|
|
|
|
|
| |
The new coalescer can turn a full virtual register definition into a
partial redef by merging another value into an unused vector lane.
Make sure to clear the <read-undef> flag on such defs.
llvm-svn: 164807
|
| |
|
|
|
|
|
| |
The new coalescer is better at merging values into unused vector lanes,
improving NEON code.
llvm-svn: 164794
|
| |
|
|
|
|
|
|
| |
The fix is obvious and the only test case I have is horrible, so I am
not including it. The problem shows up when self-hosting clang on i386
with -new-coalescer enabled.
llvm-svn: 164793
|
| |
|
|
| |
llvm-svn: 164787
|
| |
|
|
| |
llvm-svn: 164786
|
| |
|
|
|
|
|
|
| |
If the width is very large it gets truncated from uint64_t to uint32_t when
passed to TD->fitsInLegalInteger. The truncated value can fit in a register.
This manifested in massive memory usage or crashes (PR13946).
llvm-svn: 164784
|
| |
|
|
|
|
| |
Fixes PR13943.
llvm-svn: 164778
|
| |
|
|
|
|
| |
See: http://en.wikipedia.org/wiki/If_and_only_if Commit 164767
llvm-svn: 164768
|
| |
|
|
| |
llvm-svn: 164767
|
| |
|
|
| |
llvm-svn: 164763
|
| |
|
|
|
|
|
| |
This is a preliminary step towards ELF support; currently ARMFastISel hasn't
been used for ELF object files yet.
llvm-svn: 164759
|
| |
|
|
| |
llvm-svn: 164756
|
| |
|
|
| |
llvm-svn: 164755
|
| |
|
|
| |
llvm-svn: 164754
|
| |
|
|
|
|
| |
Field instruction.
llvm-svn: 164751
|
| |
|
|
| |
llvm-svn: 164750
|
| |
|
|
| |
llvm-svn: 164749
|
| |
|
|
| |
llvm-svn: 164748
|
| |
|
|
| |
llvm-svn: 164747
|
| |
|
|
|
|
| |
No test cases. These patterns will get tested along with dsp intrinsics.
llvm-svn: 164746
|
| |
|
|
| |
llvm-svn: 164744
|
| |
|
|
|
|
| |
Committed on behalf of Kirill Uhanov
llvm-svn: 164736
|
| |
|
|
|
|
| |
have testcases for the current problems.
llvm-svn: 164731
|
| |
|
|
| |
llvm-svn: 164728
|
| |
|
|
| |
llvm-svn: 164727
|
| |
|
|
|
|
|
| |
The hasFnAttr method has been replaced by querying the Attributes explicitly. No
intended functionality change.
llvm-svn: 164725
|
| |
|
|
|
|
|
|
|
|
| |
If the offset is more than 24-bits, it won't fit in a scattered
relocation offset field, so we fall back to using a non-scattered
relocation.
rdar://12358909
llvm-svn: 164724
|
| |
|
|
|
|
|
|
| |
This opaque class will contain all of the attributes. All attribute queries will
go through this object. This object will also be uniqued in the LLVMContext.
Currently not used, so no implementation change.
llvm-svn: 164722
|
| |
|
|
|
|
| |
getMipsRegisterNumbering.
llvm-svn: 164720
|
| |
|
|
| |
llvm-svn: 164719
|
| |
|
|
| |
llvm-svn: 164718
|
| |
|
|
| |
llvm-svn: 164714
|
| |
|
|
|
|
|
| |
teach the callgraph logic to not create callgraph edges to intrinsics for invoke
instructions; it already skips this for call instructions. Fixes PR13903.
llvm-svn: 164707
|
| |
|
|
|
|
| |
Fixes PR12632.
llvm-svn: 164701
|
| |
|
|
|
|
|
|
| |
date, don't rely on it.
Add a couple of unit tests for special floats. Fixes 13929, found by MemorySanitizer.
llvm-svn: 164698
|
| |
|
|
|
|
|
|
| |
- Put statistics in alphabetical order
- Don't use getZextValue when building TableInt, just use APInts
- Introduce Create{Z,S}ExtOrTrunc in IRBuilder.
llvm-svn: 164696
|
| |
|
|
|
|
|
| |
- Finish assert messages with exclamation mark
- Move overflow checking into ShouldBuildLookupTable.
llvm-svn: 164692
|
| |
|
|
|
|
|
| |
contrived for these yet, as I spotted them by inspection and the test
cases are a bit more tricky to phrase.
llvm-svn: 164691
|
| |
|
|
|
|
|
| |
alignment guarantees attached, re-compute the alignment so that we
consider offsets which impact alignment.
llvm-svn: 164690
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
rewriter in SROA to carry a proper alignment. This involves
interrogating various sources of alignment, etc. This is a more complete
and principled fix to PR13920 as well as related bugs pointed out by Eli
in review and by inspection in the area.
Also by inspection fix the integer and vector promotion paths to create
aligned loads and stores. I still need to work up test cases for
these... Sorry for the delay, they were found purely by inspection.
llvm-svn: 164689
|
| |
|
|
| |
llvm-svn: 164685
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
tables in bitmaps when they fit in a target-legal register.
This saves some space, and it also allows for building tables that would
otherwise be deemed too sparse.
One interesting case that this hits is example 7 from
http://blog.regehr.org/archives/320. We currently generate good code
for this when lowering the switch to the selection DAG: we build a
bitmask to decide whether to jump to one block or the other. My patch
will result in the same bitmask, but it removes the need for the jump,
as the return value can just be retrieved from the mask.
llvm-svn: 164684
|