| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
| |
using external symbols
llvm-svn: 145946
|
| |
|
|
| |
llvm-svn: 145944
|
| |
|
|
| |
llvm-svn: 145943
|
| |
|
|
|
|
|
|
|
|
|
|
| |
- Walking over pred_begin/pred_end is an expensive operation.
- PHINodes contain a value for each predecessor anyway.
- While it may look like we used to save a few iterations with the set,
be aware that getIncomingValueForBlock does a linear search on
the values of the phi node.
- Another -5% on ARMDisassembler.cpp (Release build). This was the last
entry in the profile that was obviously wasting time.
llvm-svn: 145937
|
| |
|
|
| |
llvm-svn: 145934
|
| |
|
|
| |
llvm-svn: 145929
|
| |
|
|
|
|
| |
integer vector loads are promoted to those.
llvm-svn: 145927
|
| |
|
|
| |
llvm-svn: 145926
|
| |
|
|
|
|
| |
instruction commenting for AVX/AVX2 forms for integer UNPCKs.
llvm-svn: 145924
|
| |
|
|
|
|
| |
Same as r145922, just for ARM mode.
llvm-svn: 145923
|
| |
|
|
|
|
|
|
|
| |
Fix the alias to encode 'mul r5, r6' as if it were 'mul r5, r6, r5' so we
match gas.
rdar://10532439
llvm-svn: 145922
|
| |
|
|
|
|
| |
both. Do the same for the 256-bit version. Use loops to reduce size of isVSHUFPYMask. Fix test cases that were incorrectly passing due to isCommutedSHUFPMask not checking for the vector being 128-bit. This caused some 256-bit shuffles to be incorrectly commuted.
llvm-svn: 145921
|
| |
|
|
|
|
|
|
| |
Using encoding T1 for offset of #0 and encoding T2 for #-0.
rdar://10532413
llvm-svn: 145919
|
| |
|
|
|
|
| |
Patch by Jack Carter
llvm-svn: 145912
|
| |
|
|
| |
llvm-svn: 145911
|
| |
|
|
| |
llvm-svn: 145910
|
| |
|
|
|
|
|
|
|
| |
It's always good to prune early, but formulae that are unsatisfactory
in their own right need to be removed before running any other pruning
heuristics. We easily avoid generating such formulae, but we need them
as an intermediate basis for forming other good formulae.
llvm-svn: 145906
|
| |
|
|
| |
llvm-svn: 145903
|
| |
|
|
|
|
|
|
| |
The new register allocator is much more able to split back up ranges too constrained by register classes.
Fixes <rdar://problem/10466609>
llvm-svn: 145899
|
| |
|
|
| |
llvm-svn: 145897
|
| |
|
|
| |
llvm-svn: 145896
|
| |
|
|
| |
llvm-svn: 145895
|
| |
|
|
| |
llvm-svn: 145894
|
| |
|
|
| |
llvm-svn: 145893
|
| |
|
|
|
|
| |
rdar://10528060
llvm-svn: 145891
|
| |
|
|
|
|
|
|
|
|
|
| |
Previously, all ARM::CONSTPOOL_ENTRY instructions had a hardwired
alignment of 4 bytes emitted by ARMAsmPrinter. Now the same alignment
is set on the basic block.
This is in preparation of supporting ARM constant pool islands with
different alignments.
llvm-svn: 145890
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This was actually a bit of a mess. TLI.setPrefLoopAlignment was clearly
documented as taking log2(bytes) units, but the x86 target would still
set a preferred loop alignment of '16'.
CodePlacementOpt passed this number on to the basic block, and
AsmPrinter interpreted it as bytes.
Now both MachineFunction and MachineBasicBlock use logarithmic
alignments.
Obviously, MachineConstantPool still measures alignments in bytes, so we
can emulate the thrill of using as.
llvm-svn: 145889
|
| |
|
|
|
|
| |
value over that much.
llvm-svn: 145888
|
| |
|
|
|
|
| |
rdar://10069056
llvm-svn: 145885
|
| |
|
|
| |
llvm-svn: 145883
|
| |
|
|
|
|
|
|
| |
Whether a fixup needs relaxation for the associated instruction is a
target-specific function, as the FIXME indicated. Create a hook for that
and use it.
llvm-svn: 145881
|
| |
|
|
| |
llvm-svn: 145880
|
| |
|
|
|
|
|
|
| |
don't do this now, but add a test case to prevent this from happening in the
future.
Additional test for rdar://9892684
llvm-svn: 145879
|
| |
|
|
| |
llvm-svn: 145878
|
| |
|
|
|
|
| |
per http://llvm.org/docs/CodingStandards.html#ll_naming
llvm-svn: 145873
|
| |
|
|
|
|
|
| |
Not right yet, as the rules for when to relax in the MCAssembler aren't
(yet) correct for ARM. This is a step in the proper direction, though.
llvm-svn: 145871
|
| |
|
|
|
|
|
| |
memory fences) in statistics registration, which works the same way that
ManagedStatic registration does.
llvm-svn: 145869
|
| |
|
|
| |
llvm-svn: 145866
|
| |
|
|
|
|
|
|
| |
where this would be bad as the backend shouldn't have a problem inlining small
memcpys.
rdar://10510150
llvm-svn: 145865
|
| |
|
|
| |
llvm-svn: 145863
|
| |
|
|
|
|
| |
rdar://10529664
llvm-svn: 145860
|
| |
|
|
|
|
|
| |
PerformANDCombine and PerformOrCombine aware of them. Test cases are included
too.
llvm-svn: 145853
|
| |
|
|
|
|
| |
them.
llvm-svn: 145852
|
| |
|
|
|
|
| |
rdar://10529348
llvm-svn: 145851
|
| |
|
|
|
|
| |
O32 with relocation-model=pic too.
llvm-svn: 145850
|
| |
|
|
|
|
| |
Finish up rdar://10522016.
llvm-svn: 145846
|
| |
|
|
| |
llvm-svn: 145844
|
| |
|
|
| |
llvm-svn: 145843
|
| |
|
|
|
|
|
|
|
| |
Combined destination and first source operand for f32 variant of the VMUL
(by scalar) instruction.
rdar://10522016
llvm-svn: 145842
|
| |
|
|
| |
llvm-svn: 145819
|