Commit Graph

196177 Commits

Author SHA1 Message Date
Chris Bieneman 9f611e3a89 Updating GettingStarted documentation to reference CMake as the preferred way to build LLVM.
Reviewers: chandlerc, samsonov, echristo

Reviewed By: samsonov

Subscribers: emaste, joker.eph, llvm-commits

Differential Revision: http://reviews.llvm.org/D8046

llvm-svn: 232135
2015-03-13 01:58:14 +00:00
Nick Lewycky b6ef9a14de When forming an addrec out of a phi don't just look at the last computation and steal its flags for our own, there may be other computations in the middle. Check whether the LHS of the computation is the phi itself and then we know it's safe to steal the flags. Fixes PR22795.
There's a missed optimization opportunity where we could look at the full chain of computation and take the intersection of the flags instead of only looking one instruction deep.

llvm-svn: 232134
2015-03-13 01:37:52 +00:00
Andrew Wilkins 984bc5298b [llgo] update year in LICENSE.txt
llvm-svn: 232133
2015-03-13 01:36:02 +00:00
Eric Christopher 44fd498a04 Use the variable names from the TargetInstrInfo source when we
reference them in the generated files. A few characters aren't huge
here and CFSetupOpcode is much more readable than S0.

llvm-svn: 232132
2015-03-13 01:26:39 +00:00
Eric Christopher 69c0a7c981 Add a return after the llvm namespace code for a little extra
readability in generated files.

llvm-svn: 232131
2015-03-13 01:10:08 +00:00
Joerg Sonnenberger dfd511e9bc Simplify.
llvm-svn: 232130
2015-03-13 00:54:30 +00:00
Eric Christopher ef9e01eada Use the cached subtarget off of the machine function.
llvm-svn: 232129
2015-03-13 00:49:50 +00:00
Eric Christopher 5ab3b79ba8 Use the cached subtarget off of the machine function.
llvm-svn: 232128
2015-03-13 00:38:19 +00:00
Enrico Granata f2d44ca8e2 Silence warnings here by explicit cast.
llvm-svn: 232126
2015-03-13 00:31:45 +00:00
Joerg Sonnenberger 1aa3faaca2 We want single precision here.
llvm-svn: 232125
2015-03-13 00:18:28 +00:00
NAKAMURA Takumi 08b87a8c42 [CMake] Add clangBasic in ASTMatchersTests, according to r232051.
Jan Vesely noticed it. See also r232055.

llvm-svn: 232123
2015-03-12 23:49:06 +00:00
Benjamin Kramer 7f1f6b5370 Disambiguate call for GCC.
llvm-svn: 232122
2015-03-12 23:46:55 +00:00
Benjamin Kramer 51680bccda CodeGen: Base the conditional cleanup machinery on variadic templates
This is complicated by the fact that we can't simply use side-effecting
calls in an argument list without losing all guarantees about the order
they're emitted. To keep things deterministic we use tuples and brace
initialization, which thankfully guarantees evaluation order.

No functionality change intended.

llvm-svn: 232121
2015-03-12 23:41:40 +00:00
Sanjay Patel 4339abe66f [X86, AVX2] Replace inserti128 and extracti128 intrinsics with generic shuffles
This should complete the job started in r231794 and continued in r232045:
We want to replace as much custom x86 shuffling via intrinsics
as possible because pushing the code down the generic shuffle
optimization path allows for better codegen and less complexity
in LLVM.

AVX2 introduced proper integer variants of the hacked integer insert/extract
C intrinsics that were created for this same functionality with AVX1.

This should complete the removal of insert/extract128 intrinsics.

The Clang precursor patch for this change was checked in at r232109.

llvm-svn: 232120
2015-03-12 23:16:18 +00:00
Eric Christopher 7fde301d5b Move a variable into the assert where it's used - fixes a -Asserts
build warning/error.

llvm-svn: 232119
2015-03-12 23:13:03 +00:00
Eric Christopher ae32649ff2 In preparation for moving ARM's TargetRegisterInfo to the TargetMachine
merge Thumb1RegisterInfo and Thumb2RegisterInfo. This will enable
us to match the TargetMachine for our TargetRegisterInfo classes.

llvm-svn: 232117
2015-03-12 22:48:50 +00:00
Enrico Granata 2aa191c878 Add override markers
llvm-svn: 232116
2015-03-12 22:33:52 +00:00
Enrico Granata ef238c1df2 This fixes the build I previously broke - and actually makes the test case work just like I promised
llvm-svn: 232115
2015-03-12 22:30:58 +00:00
Enrico Granata 495dccd67f Fix a bug in the data formatters where summary strings would not look into the non-synthetic value for child members if the ValueObject being formatted happened to have a synthetic value
rdar://15630776

llvm-svn: 232114
2015-03-12 22:17:07 +00:00
Enrico Granata 3fa6dc904a Fix an issue where values would be printed in one-line mode even if you asked to see locations and/or asked for flat output mode
llvm-svn: 232113
2015-03-12 22:16:20 +00:00
Daniel Jasper 55ca608cdc clang-format: [OBJC] Don't indent 8 spaces in method declarations.
Before:
  - (void)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa:
          (SoooooooooooooooooooooomeType *)bbbbbbbbbb;

After:
  - (void)aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa:
      (SoooooooooooooooooooooomeType *)bbbbbbbbbb;

llvm-svn: 232112
2015-03-12 22:13:45 +00:00
Meador Inge 28dac858cd LinkerScript: Add evaluation of the EXTERN command
This patch implements evaluation of the GNU ld EXTERN command.

llvm-svn: 232111
2015-03-12 21:55:55 +00:00
Meador Inge 748a71b8de LinkerScript: Add parsing of the EXTERN command
This patch implements parsing of the GNU ld EXTERN command [1].
Evaluation will be added at a later point in time.

[1] https://sourceware.org/binutils/docs/ld/Miscellaneous-Commands.html#Miscellaneous-Commands

llvm-svn: 232110
2015-03-12 21:55:50 +00:00
Sanjay Patel 0a6da5de55 [X86, AVX2] Replace inserti128 and extracti128 intrinsics with generic shuffles
This is nearly identical to the v*f128_si256 parts of r231792 and r232052.

AVX2 introduced proper integer variants of the hacked integer insert/extract
C intrinsics that were created for this same functionality with AVX1.

This should complete the front end fixes for insert/extract128 intrinsics. 
Corresponding LLVM patch to follow.

llvm-svn: 232109
2015-03-12 21:54:24 +00:00
Simon Pilgrim fb53eded5f Removed useless palignr test - we don't actually provide a llvm.x86.ssse3.palign.r.128 intrinsic
Differential Revision: http://reviews.llvm.org/D8302

llvm-svn: 232108
2015-03-12 21:42:03 +00:00
Ed Maste 9197c8dad0 Use signed int implementation for __fixint
llvm-svn: 232107
2015-03-12 21:36:10 +00:00
Tom Stellard e2f5b41055 R600/SI: Don't print scc reg in sopc assembly string
This is how the proprietary driver prints sopc instructions.

llvm-svn: 232106
2015-03-12 21:34:28 +00:00
Tom Stellard c0503926f5 R600/SI: Remove _e32 and _e64 suffixes from mnemonics
Instead print them as part of the $dst operand.  The AsmMatcher
requires the 32-bit and 64-bit encodings have the same mnemonic in
order to parse them correctly.

llvm-svn: 232105
2015-03-12 21:34:22 +00:00
Andrew Kaylor 147385bbac Adding WinEHPrepare tests (currently XFAILs)
llvm-svn: 232104
2015-03-12 21:32:59 +00:00
Eric Christopher 1b585aeb8a Migrate the AArch64 TargetRegisterInfo to its TargetMachine
implementation. This requires a bit of scaffolding and a few fixups
that'll go away once all of the ports have been migrated.

llvm-svn: 232103
2015-03-12 21:04:46 +00:00
Eric Christopher 1f0a635116 Remove unused headers.
llvm-svn: 232102
2015-03-12 21:04:42 +00:00
Benjamin Kramer 8cbf749690 Sema: Make BoundTypeDiagnoser a variadic template
llvm-svn: 232101
2015-03-12 20:58:06 +00:00
Tobias Grosser f2716ea7d5 Add -polly-vectorizer=stripmine
By strip-mining outer loops to the innermost level we can enable LLVM's loop
vectorizer to vectorize outer loops.

llvm-svn: 232100
2015-03-12 20:48:07 +00:00
Tobias Grosser bb4126470a Drop option to prepare code for the BB vectorizer
The BB vectorizer is deprecated and there is no point in generating code for it
any more. This option was introduced when there was not yet any loop vectorizer
in sight. Now being matured, Polly should target the loop vectorizer.

llvm-svn: 232099
2015-03-12 20:47:58 +00:00
Krzysztof Parzyszek 99f2276adf Unxfail passing test on Hexagon
test/CodeGen/Generic/2008-02-20-MatchingMem.ll

llvm-svn: 232098
2015-03-12 20:38:10 +00:00
David Blaikie f1f52512ea Make the atom_iterator copy assignable
This makes it a bit more like a 'real' iterator though I still haven't
gone through to make sure it meets the full requirements. Copy
assignability seems to be required by MSVC's std::find_if, which is its
right.

llvm-svn: 232097
2015-03-12 20:18:10 +00:00
Renato Golin 7f29cf5770 Update copyright year to 2015.
llvm-svn: 232096
2015-03-12 20:14:35 +00:00
Renato Golin fab3c735c3 Update copyright year to 2015.
llvm-svn: 232095
2015-03-12 20:13:54 +00:00
Renato Golin 2481cea17c Update copyright year to 2015.
llvm-svn: 232094
2015-03-12 20:13:11 +00:00
Hal Finkel e78e52ba9b Revert "r232027 - Add infrastructure for support of multiple memory constraints"
This (r232027) has caused PR22883; so it seems those bits might be used by
something else after all. Reverting until we can figure out what else to do.

Original commit message:

The operand flag word for ISD::INLINEASM nodes now contains a 15-bit
memory constraint ID when the operand kind is Kind_Mem. This constraint
ID is a numeric equivalent to the constraint code string and is converted
with a target specific hook in TargetLowering.

This patch maps all memory constraints to InlineAsm::Constraint_m so there
is no functional change at this point. It just proves that using these
previously unused bits in the encoding of the flag word doesn't break anything.

The next patch will make each target preserve the current mapping of
everything to Constraint_m for itself while changing the target independent
implementation of the hook to return Constraint_Unknown appropriately. Each
target will then be adapted in separate patches to use appropriate Constraint_*
values.

llvm-svn: 232093
2015-03-12 20:09:39 +00:00
Vince Harron ffee7c114b XFAIL TestAbbreviations on Linux, improve test
It was failing on gcc 4.8, only passing accidentally on clang 3.5
This patch improves the checking to make sure if fails in all cases
and then XFAILS

llvm-svn: 232092
2015-03-12 20:08:45 +00:00
Vince Harron e849103f5a Test that software breakpoints aren't visible in disassembly
Linux lldb-server Handle_m doesn't properly replace software breakpoints
with the original instructions. This test is added with expectedFailureLinux

Differential Revision: http://reviews.llvm.org/D8191

llvm-svn: 232091
2015-03-12 20:07:13 +00:00
Logan Chien 6203f9eafd [autoconf] Fix the build failure by quoting the strings.
llvm-svn: 232090
2015-03-12 19:56:25 +00:00
Alexey Samsonov 59c57cd89b Update copyright year to 2015.
llvm-svn: 232089
2015-03-12 19:53:06 +00:00
David Blaikie 72da9ae924 Rephrase find loop to use std::find_if
Avoids the need for an assert-only variable, among other benefits.

llvm-svn: 232088
2015-03-12 19:46:21 +00:00
Nico Weber 3f8dafb021 Fix grammar in a comment, wrap to 80 columns. No behavior change.
llvm-svn: 232087
2015-03-12 19:37:10 +00:00
Nico Weber bdae5c390c Remove duplicate "the". N+1 redundancy is not useful here.
llvm-svn: 232086
2015-03-12 19:35:34 +00:00
Quentin Colombet f59b2d034c [X86] Fix a regression introduced by r223641.
The permps and permd instructions have their operands swapped compared to the
intrinsic definition. Therefore, they do not fall into the INTR_TYPE_2OP
category.

I did not create a new category for those two, as they are the only one AFAICT
in that case.

<rdar://problem/20108262>

llvm-svn: 232085
2015-03-12 19:34:12 +00:00
Simon Atanasyan 9a0263aad7 [Mips] Make `readAddend` a virtual member function to escape explicit
template class instantiation

No functional changes.

llvm-svn: 232081
2015-03-12 18:53:06 +00:00
Frederic Riss 1af75f7624 Reapply "[dsymutil] Gather function ranges during DIE selection."
This reverts commit r231967 which reinstates r231957.

Now that IntervalMap uses explicitely aligned storage, it should be safe.

llvm-svn: 232080
2015-03-12 18:45:10 +00:00