Kit Barton
f4ce2f3a9e
Enable shrink wrapping for PPC64
...
Re-enable shrink wrapping for PPC64 Little Endian.
One minor modification to PPCFrameLowering::findScratchRegister was necessary to handle fall-thru blocks (blocks with no terminator) correctly.
Tested with all LLVM test, clang tests, and the self-hosting build, with no problems found.
PHabricator: http://reviews.llvm.org/D14778
llvm-svn: 254314
2015-11-30 18:59:41 +00:00
Rafael Espindola
c98b20b0d6
Fix another llvm.ctors merging bug.
...
We were not looking past casts to see if an element should be included
or not.
llvm-svn: 254313
2015-11-30 18:54:24 +00:00
Dan Gohman
96029f7880
[WebAssembly] Fix a few minor compiler warnings. NFC.
...
llvm-svn: 254311
2015-11-30 18:42:08 +00:00
Sanjay Patel
239be1fb0d
fix formatting; NFC
...
llvm-svn: 254310
2015-11-30 17:52:02 +00:00
Colin LeMahieu
e6241798c9
[Hexagon] NFC Reordering headers.
...
llvm-svn: 254307
2015-11-30 17:32:34 +00:00
Matt Arsenault
ea03cf2fa1
AMDGPU: Don't reserve SCRATCH_PTR input register
...
This hasn't been doing anything since using relocations was added.
llvm-svn: 254304
2015-11-30 15:46:47 +00:00
Aaron Ballman
33c95f08b0
Silencing a 32-bit to 64-bit implicit conversion warning; NFC.
...
llvm-svn: 254302
2015-11-30 14:52:33 +00:00
Hrvoje Varga
c03957f049
[mips][microMIPS] Implement LBUX, LHX, LWX, MAQ_S[A].W.PHL, MAQ_S[A].W.PHR, MFHI, MFLO, MTHI and MTLO instructions
...
Differential Revision: http://reviews.llvm.org/D14436
llvm-svn: 254297
2015-11-30 12:58:39 +00:00
Zoran Jovanovic
a887b36167
[mips][microMIPS] Fix issue with offset operand of BALC and BC instructions
...
Value of offset operand for microMIPS BALC and BC instructions is currently shifted 2 bits, but it should be 1 bit.
Differential Revision: http://reviews.llvm.org/D14770
llvm-svn: 254296
2015-11-30 12:56:18 +00:00
Igor Breger
ea7932cfb7
AVX512: regenerate avx512bw intrincics tests results.
...
Differential Revision: http://reviews.llvm.org/D15069
llvm-svn: 254295
2015-11-30 10:40:52 +00:00
Daniel Sanders
d32db286a0
[mips][ias] Removed MSA instructions from base architecture valid-xfail.s's.
...
valid-xfail.s is for instructions that should be valid in the given ISA but
incorrectly fail. MSA instructions are correct to fail since MSA is not enabled.
llvm-svn: 254293
2015-11-30 09:52:00 +00:00
Zlatko Buljan
56f3b0e410
[mips][microMIPS] Implement PRECR.QB.PH, PRECR_SRA[_R].PH.W, PRECRQ.PH.W, PRECRQ.QB.PH, PRECRQU_S.QB.PH and PRECRQ_RS.PH.W instructions
...
Differential Revision: http://reviews.llvm.org/D14605
llvm-svn: 254291
2015-11-30 08:37:38 +00:00
Craig Topper
27e2912fa8
Revert r254279 "[X86] Use ArrayRef. NFC". It seems to have upset an MSVC build bot.
...
llvm-svn: 254280
2015-11-30 02:28:19 +00:00
Craig Topper
b84f39865f
[X86] Use ArrayRef. NFC
...
llvm-svn: 254279
2015-11-30 02:08:05 +00:00
Sanjoy Das
6ec2958d7c
[ADT] Fix typo in comment
...
llvm-svn: 254278
2015-11-30 01:24:17 +00:00
Craig Topper
aad5f11e5f
[AVX512] The vpermi2 instructions require an integer vector for the index vector. This is reflected correctly in the intrinsics, but was not refelected in the isel patterns.
...
For the floating point types, this requires adding a bitcast to the index vector when its passed through to the output.
llvm-svn: 254277
2015-11-30 00:13:24 +00:00
Sanjoy Das
9b0015f77d
[SCEV] Use lambda instead of std::bind; NFC
...
The lambda is more readable.
llvm-svn: 254276
2015-11-29 23:40:57 +00:00
Sanjoy Das
3b827c7028
[SCEV] Use range version of all_of; NFC
...
llvm-svn: 254275
2015-11-29 23:40:53 +00:00
Craig Topper
fbde7aa13a
[X86] Remove duplicate entries from intrinsics tables and add asserts to verify there are no others.
...
llvm-svn: 254274
2015-11-29 23:18:32 +00:00
Sanjoy Das
5e30bbe7ae
Fix out of bounds access in hasStructRetAttr
...
llvm-svn: 254273
2015-11-29 23:15:43 +00:00
Dan Gohman
9551a44d0c
[WebAssembly] Delete an obsolete TODO comment.
...
llvm-svn: 254272
2015-11-29 23:09:41 +00:00
Dan Gohman
174b2d83ee
[WebAssembly] Set several MCInstrDesc flags.
...
llvm-svn: 254271
2015-11-29 22:59:19 +00:00
Craig Topper
ecae476e4c
[X86] int_x86_avx2_permps and X86ISD::VPERMV should take an integer vector for its shuffle indices.
...
llvm-svn: 254269
2015-11-29 22:53:22 +00:00
Dan Gohman
5237b3991d
[WebAssembly] Delete unused functions. NFC.
...
llvm-svn: 254268
2015-11-29 22:48:57 +00:00
Dan Gohman
7a6b9825ce
[WebAssembly] Minor clang-format and selected clang-tidy cleanups. NFC.
...
llvm-svn: 254267
2015-11-29 22:32:02 +00:00
Sanjay Patel
b67076c0f8
fix typos in comments; NFC
...
llvm-svn: 254266
2015-11-29 22:09:34 +00:00
Davide Italiano
0b14f29285
[SimplifyLibCalls] Don't crash if the function doesn't have a name.
...
llvm-svn: 254265
2015-11-29 21:58:56 +00:00
Davide Italiano
e2db58cfb8
[SimplifyLibCalls] Cross out implemented transformations.
...
llvm-svn: 254264
2015-11-29 21:00:43 +00:00
Davide Italiano
b8b7133c94
[SimplifyLibCalls] Tranform log(pow(x, y)) -> y*log(x).
...
This one is enabled only under -ffast-math. There are cases where the
difference between the value computed and the correct value is huge
even for ffast-math, e.g. as Steven pointed out:
x = -1, y = -4
log(pow(-1), 4) = 0
4*log(-1) = NaN
I checked what GCC does and apparently they do the same optimization
(which result in the dramatic difference). Future work might try to
make this (slightly) less worse.
Differential Revision: http://reviews.llvm.org/D14400
llvm-svn: 254263
2015-11-29 20:58:04 +00:00
Diego Novillo
7ff0a174d1
SamplePGO - Do not use std::to_string in diagnostics.
...
This fixes buildbots in systems that std::to_string is not present. It
also tidies the output of the diagnostic to render doubles a bit better
(thanks Ben Kramer for help with string streams and format).
llvm-svn: 254261
2015-11-29 18:23:26 +00:00
Craig Topper
6066164454
Use a lambda instead of std::bind and std::mem_fn I introduced in r254242. NFC
...
llvm-svn: 254260
2015-11-29 18:05:22 +00:00
Simon Pilgrim
88aa627c0b
[X86][SSE] Added support for lowering to ADDSUBPS/ADDSUBPD with commuted inputs
...
We could already recognise shuffle(FSUB, FADD) -> ADDSUB, this allow us to recognise shuffle(FADD, FSUB) -> ADDSUB by commuting the shuffle mask prior to matching.
llvm-svn: 254259
2015-11-29 16:41:04 +00:00
Rafael Espindola
3f85d24df4
Add a passing test.
...
When a comdat is discarded, any globals defined in it become undefined.
llvm-svn: 254258
2015-11-29 15:52:12 +00:00
Rafael Espindola
c73fdcd1b7
Don't depend on the order the IR is copied.
...
llvm-svn: 254257
2015-11-29 15:22:49 +00:00
Rafael Espindola
94247d0860
Don't depend on the order the IR is copied.
...
llvm-svn: 254256
2015-11-29 15:08:39 +00:00
Rafael Espindola
290409ef5d
Make this test less strict.
...
We just want to test what is copied, no the order.
llvm-svn: 254255
2015-11-29 14:53:06 +00:00
Rafael Espindola
eb5e0a77b4
Simplify. NFC.
...
llvm-svn: 254254
2015-11-29 14:33:06 +00:00
Igor Breger
e293e83f5d
AVX512:Implemented encoding for the vmovq.s instruction.
...
Differential Revision: http://reviews.llvm.org/D14810
llvm-svn: 254248
2015-11-29 07:41:26 +00:00
Craig Topper
d896b03e4c
Remove an intermediate lambda. NFC
...
llvm-svn: 254246
2015-11-29 05:38:08 +00:00
Xinliang David Li
61f0d074a0
Minor code cleanups
...
- Add const keyword
- fix code comments
- move forward decl to the common file
llvm-svn: 254244
2015-11-29 04:52:34 +00:00
Craig Topper
b4b66d06df
Remove unnecessary intermediate lambda. NFC
...
llvm-svn: 254243
2015-11-29 04:37:14 +00:00
Craig Topper
d0573179dc
[SelectionDAG] Use std::any_of instead of a manually coded loop. NFC
...
llvm-svn: 254242
2015-11-29 04:37:11 +00:00
Rafael Espindola
c945c8d22e
Correctly handle llvm.global_ctors merging.
...
We were not handling the case where an entry must be dropped and the
destination module has no llvm.global_ctors.
llvm-svn: 254241
2015-11-29 03:29:42 +00:00
Rafael Espindola
9f30fac4d8
Fix a crash when writing merged bitcode.
...
Playing with mutateType in here was making getValueType and getType
incompatible.
llvm-svn: 254240
2015-11-29 03:21:30 +00:00
Davide Italiano
da3beebad1
[SimplifyLibCalls] Use any_of(). Suggested by David Blaikie!
...
llvm-svn: 254239
2015-11-28 22:27:48 +00:00
Benjamin Kramer
89766e5b1d
[SimplifyLibCalls] Fix inverted condition that lead to an uninitialized memory read below.
...
Found by msan!
llvm-svn: 254238
2015-11-28 21:43:12 +00:00
Simon Pilgrim
4c5ab52a54
[X86][AVX] Regenerate ADDSUB tests
...
Tidied up triple and regenerate tests using update_llc_test_checks.py
llvm-svn: 254237
2015-11-28 19:20:49 +00:00
Xinliang David Li
b75544a6df
[PGO] Move value profile format related structures and APIs to common file
...
This is the last step to enable profile runtime to share the same value prof
data format and reader/writer code with llvm host tools. The VP related
data structures are moved to a section in InstrProfData.inc enabled with macro
INSTR_PROF_VALUE_PROF_DATA, and common API implementations are enabled with
INSTR_PROF_COMMON_API_IMPL. There should be no functional change.
llvm-svn: 254235
2015-11-28 19:07:09 +00:00
Renato Golin
5dbc8a5283
Revert "[ARM] Generate ABI_optimization_goals build attribute, as described in the ARM ARM."
...
This reverts commit r254201 and r254202, as it broke test-suite,
self-hosting and sanitizer tests on ARM buildbots.
llvm-svn: 254234
2015-11-28 17:23:46 +00:00
Simon Pilgrim
d9bb73b236
[X86][FMA] Added 512-bit tests to match 128/256-bit tests coverage
...
As discussed on D14909
llvm-svn: 254233
2015-11-28 16:04:24 +00:00