James Molloy
6558edcaf5
[MISched] Python script to check coverage of misched info
...
This script prints a CSV of all misched models of a target when given the output of the debug output of subtarget using:
llvm-tblgen --gen-subtarget --debug-only=subtarget-emitter ...
With thanks to Dave Estes for mentioning the idea at the 2014 LLVM Developers' Meeting.
Patch by Christof Douma!
llvm-svn: 250020
2015-10-12 08:50:47 +00:00
Tobias Grosser
e2c8275346
ScopInfo: Allow simple 'AddRec * Parameter' products in delinearization
...
We also allow such products for cases where 'Parameter' is loaded within the
scop, but where we can dynamically verify that the value of 'Parameter' remains
unchanged during the execution of the scop.
This change relies on Polly's new RequiredILS tracking infrastructure recently
contributed by Johannes.
llvm-svn: 250019
2015-10-12 08:02:30 +00:00
Tobias Grosser
374bce0c22
SCEV: Allow simple AddRec * Parameter products in delinearization
...
This patch also allows the -delinearize pass to delinearize expressions that do
not have an outermost SCEVAddRec expression. The SCEV::delinearize
infrastructure allowed this since r240952, but the -delinearize pass was not
updated yet.
llvm-svn: 250018
2015-10-12 08:02:00 +00:00
Alexey Bataev
6d45532961
[ATTR] Automatic line feed after pragma-like attribute.
...
Automatically insert line feed after pretty printing of all pragma-like attributes + fix printing of pragma-like pragmas on declarations.
Differential Revision: http://reviews.llvm.org/D13546
llvm-svn: 250017
2015-10-12 06:59:48 +00:00
Craig Topper
8d2e6bc25b
[X86] Use u8imm for the immediate type for all shift and rotate instructions. This way the assembler will perform range checking. Believe this matches gas behavior.
...
llvm-svn: 250016
2015-10-12 06:23:10 +00:00
Tobias Grosser
3c037fd396
Delete leftover function declaration
...
The function's definition was already removed in r247289.
llvm-svn: 250015
2015-10-12 05:14:03 +00:00
Craig Topper
d6b661dbf0
[X86] Add support to assembler and MCInst lowering to use the other vmovq %xmmX, %xmmX encoding if it would be a shorter VEX encoding.
...
llvm-svn: 250014
2015-10-12 04:57:59 +00:00
Craig Topper
635e05df0a
[X86] Cleanup formatting a bit. NFC
...
llvm-svn: 250013
2015-10-12 04:27:17 +00:00
Craig Topper
5be914eda1
[X86] Change the immediate for IN/OUT instructions to u8imm so the assembly parser will check the size.
...
llvm-svn: 250012
2015-10-12 04:17:55 +00:00
Craig Topper
95fffba227
[X86] Add some instruction aliases to get the assembly parser table to favor arithmetic instructions with 8-bit immediates over the forms that implicitly use the ax/eax/rax.
...
This allows us to remove the explicit code for working around the existing priority
llvm-svn: 250011
2015-10-12 03:39:57 +00:00
Daniel Jasper
4d72449de6
clang-format: Fixed typecast getting put on a separate line from the
...
key in Obj-C dictionary literals
This fixes: https://llvm.org/PR22647
Patch by Kent Sutherland. Thank you.
llvm-svn: 250010
2015-10-12 03:19:07 +00:00
Daniel Jasper
8d0e223498
clang-format: [JS] handle character classes in regexes.
...
Slashes in regular expressions do not need to be escaped and do not
terminate the regular expression even without a preceding backslash.
Patch by Martin Probst. Thank you.
llvm-svn: 250009
2015-10-12 03:13:48 +00:00
Saleem Abdulrasool
d79eec97fc
bindings: add new C++ function attribute accessors
...
Add methods to index Cursor to see if a cxx method is pure_virtual,
virtual or const methods.
Patch by Jonathan B Coe!
llvm-svn: 250008
2015-10-12 03:10:20 +00:00
Chris Bieneman
7c6a3b4c47
[Darwin] Reworking r250003 to use lit.util.capture instead of subprocess.
...
llvm-svn: 250007
2015-10-12 02:54:30 +00:00
Rafael Espindola
dfce5a25cb
Simplify the InputFile type hierarchy by removing unnecessary middle classses.
...
llvm-svn: 250006
2015-10-12 02:22:58 +00:00
Rafael Espindola
af70764aa1
Simplify the InputFile type hierarchy.
...
Now that the SymbolTable is templated, we don't need the ELFData class or
multiple inheritance.
llvm-svn: 250005
2015-10-12 01:55:32 +00:00
Davide Italiano
5d7e8fdaeb
[llvm-rtdyld] General modernization/cleanup in preparation for (bigger) changes.
...
llvm-svn: 250004
2015-10-12 00:57:29 +00:00
Chris Bieneman
e99983b2df
[Darwin] Need to add -isysroot on OS X otherwise the tests will fail if you don't have the command line tools package installed.
...
This mirrors how other LLVM suites are configured for running on OS X.
llvm-svn: 250003
2015-10-12 00:49:56 +00:00
Matthias Gehre
36489cd39b
Test commit
...
llvm-svn: 250002
2015-10-11 22:55:29 +00:00
Saleem Abdulrasool
565872584b
Revert "builtins: enable builtins build for MSVC"
...
Revert once more. This seems to fail to build on the buildbots which build with
ninja rather than MSBuild/Visual Studio. This requires further build
infrastructure changes to deal with the assembly routines.
llvm-svn: 250001
2015-10-11 22:30:10 +00:00
Saleem Abdulrasool
76e70699d5
Revert "Revert "builtins: enable builtins build for MSVC""
...
Previous changes should now permit building on MSVC 2013 in addition to MSVC
2015.
llvm-svn: 250000
2015-10-11 22:00:46 +00:00
Davide Italiano
1e91a278b6
[Bugpoint] Get rid of dead code. No functional change.
...
llvm-svn: 249999
2015-10-11 21:36:11 +00:00
Rui Ueyama
35da9b6e1c
ELF2: Implement --as-needed.
...
This patch adds AsNeeded and IsUsed bool fields to SharedFile. AsNeeded bit
is set if the DSO is enclosed with --as-needed and --no-as-needed. IsUsed
bit is off by default. When we adds a symbol to the symbol table for dynamic
linking, we set its SharedFile's IsUsed bit.
If AsNeeded is set but IsUsed is not set, we don't want to write that
file's SO name to DT_NEEDED field.
http://reviews.llvm.org/D13579
llvm-svn: 249998
2015-10-11 20:59:12 +00:00
George Burgess IV
78ed9b43fd
Fix warning caused by r249995
...
llvm-svn: 249997
2015-10-11 20:37:14 +00:00
Rafael Espindola
9afbac479f
Handle a crash in conflict detection with archive members.
...
llvm-svn: 249996
2015-10-11 20:19:20 +00:00
George Burgess IV
4546181e12
[Sema] Allow C conversions in C overload logic
...
C allows for some implicit conversions that C++ does not, e.g. void* ->
char*. This patch teaches clang that these conversions are okay when
dealing with overloads in C.
Differential Revision: http://reviews.llvm.org/D13604
llvm-svn: 249995
2015-10-11 20:13:20 +00:00
Craig Topper
fcc34bdee0
[X86] Fix CMP and TEST with al/ax/eax/rax to not mark EFLAGS as a use or al/ax/eax/rax as a def. Probably doesn't have a functional affect since these aren't used in isel.
...
llvm-svn: 249994
2015-10-11 19:54:02 +00:00
Simon Pilgrim
d45c88bbb5
[DAGCombiner] Improved FMA combine support for vectors
...
Enabled constant canonicalization for all constants.
Improved combining of constant vectors.
llvm-svn: 249993
2015-10-11 19:48:12 +00:00
Rui Ueyama
a561e78447
Clang-format.
...
llvm-svn: 249992
2015-10-11 19:46:00 +00:00
Rui Ueyama
536c999d93
Rename phdr{Copy,Set} -> {set,copy}Phdr.
...
They are functions, so they should be verbs.
llvm-svn: 249991
2015-10-11 19:45:58 +00:00
Simon Pilgrim
18a048e1cd
[X86] Completed SHL cost model tests
...
As discussed in D8690.
llvm-svn: 249990
2015-10-11 18:33:48 +00:00
Craig Topper
87990ee4ec
[X86] Remove special validation for INT immediate operand from AsmParser. Instead mark its operand type as u8imm which will cause it to fail to match. This is more consistent with other instruction behavior.
...
This also fixes a bug where negative immediates below -128 were not being reported as errors.
llvm-svn: 249989
2015-10-11 18:27:24 +00:00
Rui Ueyama
c6e1b97161
ELF2: Remove ArgParser class and define parseArgs() function instead.
...
ArgParser was a class with only one member function, so it didn't
have to be a class.
llvm-svn: 249988
2015-10-11 18:19:01 +00:00
Rui Ueyama
3486fe53dd
ELF2: Use SmallPtrSet instead of unordered_set.
...
This patch addresses Rafael's review comments to r249955.
llvm-svn: 249987
2015-10-11 17:44:22 +00:00
Saleem Abdulrasool
e49971517a
builtins: define and use ALWAYS_INLINE
...
Abstract out the always inline spelling similar to ASAN. NFC.
llvm-svn: 249986
2015-10-11 17:35:42 +00:00
Saleem Abdulrasool
8b3353f20f
builtins: use NORETURN macro
...
Now that we have the NORETURN macro, use that to mark the function as noreturn,
rather than the GNU __attribute__.
llvm-svn: 249985
2015-10-11 17:35:38 +00:00
Simon Pilgrim
3bcf5bb79e
[X86] Renamed SHL cost model tests
...
Matches naming conventions for ASHR/LSHR cost tests
As discussed in D8690.
llvm-svn: 249984
2015-10-11 17:34:32 +00:00
Simon Pilgrim
acbf51ab60
[X86] Added LSHR cost model tests
...
There are several dodgy costings due to AVX1 legalizing 256-bit integer vectors that need fixing.
As discussed in D8690.
llvm-svn: 249983
2015-10-11 17:29:26 +00:00
Olivier Goffart
122993bfd6
Keep the IfStmt node even if the condition is invalid
...
This is important to keep the information in IDE or other tools
even if the code contains a few errors
llvm-svn: 249982
2015-10-11 17:27:29 +00:00
Simon Pilgrim
602b0e1f0b
[X86] Added ASHR cost model tests
...
There are several dodgy costings due to AVX1 legalizing 256-bit integer vectors that need fixing.
As discussed in D8690.
llvm-svn: 249981
2015-10-11 17:08:05 +00:00
Craig Topper
5b0f57df1c
[TableGen] Add a space between type and '*' in front of a variable name in output file. While there replace type with 'auto' since there's a cast on the right side of the assignment. NFC
...
llvm-svn: 249980
2015-10-11 16:59:29 +00:00
Craig Topper
a71630729d
[X86] Simplify immediate range checking code.
...
llvm-svn: 249979
2015-10-11 16:38:14 +00:00
Simon Pilgrim
5eac2607b9
[DAGCombiner] Tidyup FMINNUM/FMAXNUM constant folding
...
Enable constant folding for vector splats as well as scalars.
Enable constant canonicalization for all scalar and vector constants.
llvm-svn: 249978
2015-10-11 16:02:28 +00:00
Simon Pilgrim
1d1c56e2df
[InstCombine][X86][XOP] Combine XOP integer vector comparisons to native IR
...
We now have lowering support for XOP PCOM/PCOMU instructions.
llvm-svn: 249977
2015-10-11 14:38:34 +00:00
Simon Pilgrim
52d47e5704
[X86][XOP] Added support for the lowering of 128-bit vector integer comparisons to XOP PCOM/PCOMU instructions.
...
The XOP vector integer comparisons can deal with all signed/unsigned comparison cases directly and can be easily commuted as well (D7646).
llvm-svn: 249976
2015-10-11 14:15:17 +00:00
Tobias Grosser
1c55e2b7f3
Also add -polly-no-early-exit back until LNT is restarted
...
llvm-svn: 249975
2015-10-11 13:49:27 +00:00
Tobias Grosser
3ecb71696b
Add back -polly-detect-unprofitable as alias of -polly-process-unprofitable
...
This flag was still used in our LNT server. We leave it until it has been
removed from LNT as well.
llvm-svn: 249973
2015-10-11 13:39:17 +00:00
Nathan Slingerland
5e896ce2d1
[ProfileData] Test commit for slingn
...
This is a test of the LLVM commit system. In the event of a real commit there would be some useful code changes.
llvm-svn: 249972
2015-10-11 13:30:56 +00:00
Johannes Doerfert
9b1f9c8b61
Allow eager evaluated binary && and || conditions
...
The domain generation can handle lazy && and || by default but eager
evaluated expressions were dismissed as non-affine. With this patch we
will allow arbitrary combinations of and/or bit-operations in the
conditions of branches.
Differential Revision: http://reviews.llvm.org/D13624
llvm-svn: 249971
2015-10-11 13:21:03 +00:00
Piotr Zegar
2e5bbce75f
[clang-tidy] Python script for easy check rename
...
Summary:
Script can rename check that is in same module - I found it useful.
Diff generated in root directory of clang-tools-extra project.
Reviewers: sbenza, aaron.ballman, alexfh
Subscribers: mgehre, xazax.hun, cfe-commits
Differential Revision: http://reviews.llvm.org/D13440
llvm-svn: 249970
2015-10-11 07:58:34 +00:00