| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
integers by default, and remove the controlling flag, now
that LICM will hoist such vdup's. 8003375.
llvm-svn: 116852
|
| |
|
|
|
|
|
| |
erased the instruction during LICM so UpdateRegPressureAfter() should not
reference it afterwards.
llvm-svn: 116845
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The failures in r116753 r116756 were caused by a python issue -
Python likes to append 'L' suffix to stringified numbers if the number
is larger than a machine int. Unfortunately, this causes a divergence of
behavior between 32 and 64 bit python versions.
I re-crafted elf-dump/common_dump to take care of these issues by:
1. always printing 0x (makes for easy sed/regex)
2. always print fixed length (exactly 2 + numBits/4 digits long)
by mod ((2^numBits) - 1)
3. left-padded with '0'
There is a residual common routine that is also used by
macho-dump (dataToHex) , so I left the 'section_data' test values alone.
llvm-svn: 116823
|
| |
|
|
|
|
| |
is", which breaks some nightly tests.
llvm-svn: 116816
|
| |
|
|
|
|
| |
Fixes PR8389.
llvm-svn: 116812
|
| |
|
|
| |
llvm-svn: 116806
|
| |
|
|
| |
llvm-svn: 116788
|
| |
|
|
|
|
|
|
|
|
|
| |
"long latency" enough to hoist even if it may increase spilling. Reloading
a value from spill slot is often cheaper than performing an expensive
computation in the loop. For X86, that means machine LICM will hoist
SQRT, DIV, etc. ARM will be somewhat aggressive with VFP and NEON
instructions.
- Enable register pressure aware machine LICM by default.
llvm-svn: 116781
|
| |
|
|
| |
llvm-svn: 116777
|
| |
|
|
| |
llvm-svn: 116776
|
| |
|
|
|
|
|
| |
word forms and suffixed versions to match the darwin assembler in 32-bit and
64-bit modes. This is again for use just with assembly source for llvm-mc .
llvm-svn: 116773
|
| |
|
|
| |
llvm-svn: 116762
|
| |
|
|
| |
llvm-svn: 116756
|
| |
|
|
|
|
| |
Also updated tests.
llvm-svn: 116753
|
| |
|
|
|
|
| |
TBAA information to AliasAnalysis.
llvm-svn: 116751
|
| |
|
|
| |
llvm-svn: 116745
|
| |
|
|
| |
llvm-svn: 116744
|
| |
|
|
| |
llvm-svn: 116741
|
| |
|
|
| |
llvm-svn: 116731
|
| |
|
|
| |
llvm-svn: 116728
|
| |
|
|
|
|
| |
option to enable it.
llvm-svn: 116722
|
| |
|
|
|
|
|
|
|
|
|
|
| |
does normal initialization and normal chaining. Change the default
AliasAnalysis implementation to NoAlias.
Update StandardCompileOpts.h and friends to explicitly request
BasicAliasAnalysis.
Update tests to explicitly request -basicaa.
llvm-svn: 116720
|
| |
|
|
|
|
|
|
|
|
| |
be more complete. These are only expected to be used by llvm-mc with assembly
source so there is no pattern, [], in the .td files. Most are being added to
X86InstrInfo.td as Chris suggested and only comments about register uses are
added. Suggestions welcome on the .td changes as I'm not sure on every detail
of the x86 records. More missing instructions will be coming.
llvm-svn: 116716
|
| |
|
|
|
|
| |
start for consistency.
llvm-svn: 116715
|
| |
|
|
| |
llvm-svn: 116711
|
| |
|
|
|
|
|
|
| |
The old algorithm inserted a 'rotqmbyi' instruction which was
both redundant and wrong - it made shufb select bytes from the
wrong end of the input quad.
llvm-svn: 116701
|
| |
|
|
|
|
|
|
|
|
|
|
| |
single object format can be shared.
This also adds support for
mov zed+(bar-foo), %eax
on ELF and COFF targets.
llvm-svn: 116675
|
| |
|
|
| |
llvm-svn: 116669
|
| |
|
|
| |
llvm-svn: 116666
|
| |
|
|
|
|
| |
if any floating point arguments are passed to an external function.
llvm-svn: 116665
|
| |
|
|
|
|
|
|
| |
when the call slot
forwarding is implemented with a load/store pair rather than a memcpy.
llvm-svn: 116637
|
| |
|
|
| |
llvm-svn: 116611
|
| |
|
|
| |
llvm-svn: 116588
|
| |
|
|
| |
llvm-svn: 116581
|
| |
|
|
|
|
| |
map.
llvm-svn: 116579
|
| |
|
|
|
|
|
|
|
|
| |
have been printed with the "S" modifier after the predicate. With ARM's
unified syntax, they are supposed to go in the other order. We fixed this
for Thumb when we switched to unified syntax but missed changing it for
ARM. Apparently we don't generate these instructions often because no one
noticed until now. Thanks to Bill Wendling for the testcase!
llvm-svn: 116563
|
| |
|
|
| |
llvm-svn: 116540
|
| |
|
|
|
|
| |
are just forms of that instruction).
llvm-svn: 116538
|
| |
|
|
|
|
|
| |
and let the ARMExpandPseudoInsts pass fix them up into the real (MOVs)
instruction form.
llvm-svn: 116534
|
| |
|
|
|
|
| |
pseudonym.
llvm-svn: 116512
|
| |
|
|
| |
llvm-svn: 116498
|
| |
|
|
| |
llvm-svn: 116484
|
| |
|
|
| |
llvm-svn: 116476
|
| |
|
|
|
|
|
|
|
| |
here. The f32 in FCONSTS is handled as a double instead of a float in the
code. So the encoding of the immediate into the instruction isn't exactly in
line with the documentation in that regard. But given that we know it's handled
as a double, it doesn't cause any harm.
llvm-svn: 116471
|
| |
|
|
| |
llvm-svn: 116466
|
| |
|
|
|
|
|
| |
- Add missing patterns for some multiply add/subtract instructions.
- Add encodings for VMRS and VMSR.
llvm-svn: 116464
|
| |
|
|
| |
llvm-svn: 116462
|
| |
|
|
| |
llvm-svn: 116461
|
| |
|
|
|
|
|
|
|
| |
logic to use the new APInt methods. Among other things this
implements rdar://8501501 - llvm.smul.with.overflow.i32 should constant fold
which comes from "clang -ftrapv", originally brought to my attention from PR8221.
llvm-svn: 116457
|
| |
|
|
|
|
|
| |
and handle the operand explicitly. Flesh out encoding information. Add an
explicit disassembler testcase for the instruction.
llvm-svn: 116432
|