Zoran Jovanovic [Fri, 27 Feb 2015 15:03:50 +0000 (15:03 +0000)]
[mips][microMIPS] Change register class for GP register
Differential Revision: http://reviews.llvm.org/D7934
llvm-svn: 230760
Tom Stellard [Fri, 27 Feb 2015 14:59:46 +0000 (14:59 +0000)]
R600/SI: Add missing mubuf instructions
llvm-svn: 230759
Tom Stellard [Fri, 27 Feb 2015 14:59:44 +0000 (14:59 +0000)]
R600/SI: Consistently put soffset before the offset operand for mubuf instructions
This matches the assembly syntax.
llvm-svn: 230758
Tom Stellard [Fri, 27 Feb 2015 14:59:41 +0000 (14:59 +0000)]
R600/SI: Add slc, glc, and tfe to non-atomic _ADDR64 instructions
llvm-svn: 230757
Petar Jovanovic [Fri, 27 Feb 2015 14:46:41 +0000 (14:46 +0000)]
Pass correct -mtriple for krait-cpu-div-attribute.ll
Not passing mtriple for one of the tests caused a regression failure
on MIPS buildbot. The issue was introduced by r230651.
Differential Revision: http://reviews.llvm.org/D7938
llvm-svn: 230756
Timur Iskhodzhanov [Fri, 27 Feb 2015 14:29:53 +0000 (14:29 +0000)]
[ASan/Win] Update test expectations after r230724
llvm-svn: 230755
Aaron Ballman [Fri, 27 Feb 2015 13:55:58 +0000 (13:55 +0000)]
Silence an MSVC warning about not all control paths returning a value; NFC.
llvm-svn: 230754
Chandler Carruth [Fri, 27 Feb 2015 12:13:14 +0000 (12:13 +0000)]
[x86] Run most of the rest of the shuffle combining over non-128-bit
vectors. This lets us fix the rest of the v16 lowering problems when
pshufb is clearly better.
We might still be able to improve some of the lowerings by enabling the
other combine-based rewriting to fire for non-128-bit vectors, but this
at least should remove any regressions from using the fancy v16i16
lowering strategy.
llvm-svn: 230753
Chandler Carruth [Fri, 27 Feb 2015 11:45:13 +0000 (11:45 +0000)]
[x86] Teach a bunch of the x86-specific shuffle combining to work with
256-bit vectors as well as 128-bit vectors. Fixes some of the redundant
shuffles for v16i16.
llvm-svn: 230752
Chandler Carruth [Fri, 27 Feb 2015 11:33:46 +0000 (11:33 +0000)]
[x86] Make the v8i16 clever single-input shuffle lowering usable for
repeated 128-bit lane shuffles of wider vector types and use it to lower
256-bit v16i16 vector shuffles where applicable.
This should let us perfectly lowering the pattern of pshuflw and pshufhw
even for AVX2 256-bit patterns.
I've not added AVX-512 support, but it should be trivial for someone
working on that to wire up.
Note that currently this generates bad, long shuffle chains because we
don't combine 256-bit target shuffles. The subsequent patches will fix
that.
llvm-svn: 230751
Chandler Carruth [Fri, 27 Feb 2015 11:25:10 +0000 (11:25 +0000)]
[x86] Add a bunch more tests for v16i16 shuffles. All of these are taken
by mirroring v8i16 test cases across both 128-bit lanes. This should
highlight problems where we aren't correctly using 128-bit shuffles to
implement things.
llvm-svn: 230750
Kuba Brecka [Fri, 27 Feb 2015 11:11:05 +0000 (11:11 +0000)]
[compiler-rt] Symbolizer refactoring: Abstract SymbolizerProcess better
Reviewed at http://reviews.llvm.org/D7889
llvm-svn: 230749
Toma Tabacu [Fri, 27 Feb 2015 10:44:02 +0000 (10:44 +0000)]
[mips] Remove redundant periods from -mattr=help descriptions for MIPS.
Summary: Also fixes an infringement of the 80-column limit rule.
Reviewers: dsanders
Reviewed By: dsanders
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D7910
llvm-svn: 230748
Zachary Turner [Fri, 27 Feb 2015 09:53:55 +0000 (09:53 +0000)]
[llvm-pdbdump] Fix member initialization order warnings.
llvm-svn: 230747
Zachary Turner [Fri, 27 Feb 2015 09:15:59 +0000 (09:15 +0000)]
[llvm-pdbdump] Colorize output.
llvm-svn: 230746
Zachary Turner [Fri, 27 Feb 2015 09:15:31 +0000 (09:15 +0000)]
[llvm-pdbdump] Fix warnings found by clang-cl self host.
llvm-svn: 230745
Zachary Turner [Fri, 27 Feb 2015 09:15:18 +0000 (09:15 +0000)]
[llvm-pdbdump] Add support for dumping global variables.
llvm-svn: 230744
Chandler Carruth [Fri, 27 Feb 2015 09:11:38 +0000 (09:11 +0000)]
[x86] Make the single-input v8i16 lowering directly recurse rather than
going back through the entire vector shuffle lowering.
This is an important step to being able to re-use this logic.
llvm-svn: 230743
Vasileios Kalintiris [Fri, 27 Feb 2015 09:01:39 +0000 (09:01 +0000)]
[mips] Account for constant-zero operands in ADDE nodes.
Summary:
We identify the cases where the operand to an ADDE node is a constant
zero. In such cases, we can avoid generating an extra ADDu instruction
disguised as an identity move alias (ie. addu $r, $r, 0 --> move $r, $r).
Reviewers: dsanders
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D7906
llvm-svn: 230742
Daniel Jasper [Fri, 27 Feb 2015 08:41:05 +0000 (08:41 +0000)]
clang-format: Make trailing commas in array inits force one per line.
Before:
NSArray *array = @[ @"a", @"a", ];
After:
NSArray *array = @[
@"a",
@"a",
];
llvm-svn: 230741
Daniel Jasper [Fri, 27 Feb 2015 08:16:32 +0000 (08:16 +0000)]
Revert r230717 (and subsequent r230720).
The tests keeps failing on build bots:
http://lab.llvm.org:8080/green/job/clang-stage2-configure-Rlto_check/2355/testReport/junit/Clang/CodeGen/exceptions_seh_leave_c/
llvm-svn: 230740
Chaoren Lin [Fri, 27 Feb 2015 07:48:07 +0000 (07:48 +0000)]
Fixes http://reviews.llvm.org/rL230691
Summary: OS X doesn't implement pthread barriers, using a simple atomic flag instead.
Reviewers: ki.stfu
Subscribers: lldb-commits
Differential Revision: http://reviews.llvm.org/D7933
llvm-svn: 230739
Craig Topper [Fri, 27 Feb 2015 06:54:25 +0000 (06:54 +0000)]
[X86] Remove pblendw and pblendd builtins that aren't being used by the intrinsic headers.
llvm-svn: 230738
Davide Italiano [Fri, 27 Feb 2015 06:41:46 +0000 (06:41 +0000)]
[ELF] Set up initial live symbol(s) to avoid incorrect reclaim of atoms.
If no initial live symbols are set up, and deadStrip() == true,
the Resolver ends up reclaiming all the symbols that aren't absolute. This is wrong.
This patch fixes the issue by setting entrySymbolName() as live, and this allows
us to self-host lld when --gc-sections is enabled. There are still quite a few problems
with --gc-sections (test failures), so the option can't be enabled by default.
Differential Revision: D7926
Reviewed by: ruiu, shankarke
llvm-svn: 230737
Alexey Bataev [Fri, 27 Feb 2015 06:33:30 +0000 (06:33 +0000)]
[OPENMP] Codegen for "#pragma omp atomic write"
For global reg lvalue - use regular store through global register.
For simple lvalue - use simple atomic store.
For bitfields, vector element, extended vector elements - the original value of the whole storage (for vector elements) or of some aligned value (for bitfields) is atomically read, the part of this value for the given lvalue is modified and then use atomic compare-and-exchange operation to try to atomically write modified value (if it was not modified).
Also, changes in this patch fix the bug for '#pragma omp atomic read' applied to extended vector elements.
Differential Revision: http://reviews.llvm.org/D7369
llvm-svn: 230736
Rui Ueyama [Fri, 27 Feb 2015 05:26:05 +0000 (05:26 +0000)]
Temporarily disable FileArchive::preload().
It is observed that the function throws std::future_error on a few buildbots.
That cannot be easily reproducible on local machines. Kill the feature
temporarily to see if this is going to fix the buildbot issue.
llvm-svn: 230735
Rui Ueyama [Fri, 27 Feb 2015 05:22:19 +0000 (05:22 +0000)]
Partially revert "PECOFF: Do not add layout-after edges."
This reverts commit r230732.
sectionSize() in lib/Core/SymbolTable.cpp still depends on the layout-
after edges, so we couldn't remove them yet.
llvm-svn: 230734
Shankar Easwaran [Fri, 27 Feb 2015 05:12:30 +0000 (05:12 +0000)]
[ELF] Remove includes that are not used
This remove(s) include of the filename twice.
llvm-svn: 230733
Rui Ueyama [Fri, 27 Feb 2015 05:05:38 +0000 (05:05 +0000)]
PECOFF: Do not add layout-after edges.
Previously we needed to create atoms as a doubly-linked link, but it's
no longer needed. Also we don't use layout-after edges in PE/COFF.
Creating such edges is just waste.
llvm-svn: 230732
Shankar Easwaran [Fri, 27 Feb 2015 04:39:16 +0000 (04:39 +0000)]
[CMake] Cleanup
llvm-svn: 230731
Rui Ueyama [Fri, 27 Feb 2015 04:23:23 +0000 (04:23 +0000)]
Twine should be used within a statement.
llvm-svn: 230730
Rui Ueyama [Fri, 27 Feb 2015 04:23:21 +0000 (04:23 +0000)]
Update comments, fix typos.
llvm-svn: 230729
Rui Ueyama [Fri, 27 Feb 2015 04:21:40 +0000 (04:21 +0000)]
Use read{le,be}{16,32}. NFC.
llvm-svn: 230728
Richard Smith [Fri, 27 Feb 2015 03:40:09 +0000 (03:40 +0000)]
[modules] Don't write out name lookup table entries merely because the module
happened to query them; only write them out if something new was added.
llvm-svn: 230727
Rui Ueyama [Fri, 27 Feb 2015 03:23:52 +0000 (03:23 +0000)]
Remove unused #includes.
llvm-svn: 230726
Rui Ueyama [Fri, 27 Feb 2015 03:18:46 +0000 (03:18 +0000)]
Add {read,write}{16,32,64}{le,be} functions.
Nothing wrong with reinterpret_cast<llvm::support::ulittle32_t *>(loc),
but that's redundant and not great from readability point of view.
The new functions are wrappers for that kind of reinterpet_casts.
Surprisingly or unsurprisingly, there was no use of big endian read
and write. {read,write}{16,32,64}be have no user. But I think they
still worth to be there in the header for completeness.
http://reviews.llvm.org/D7927
llvm-svn: 230725
Anna Zaks [Fri, 27 Feb 2015 03:12:36 +0000 (03:12 +0000)]
[asan] Skip promotable allocas to improve performance at -O0
Currently, the ASan executables built with -O0 are unnecessarily slow.
The main reason is that ASan instrumentation pass inserts redundant
checks around promotable allocas. These allocas do not get instrumented
under -O1 because they get converted to virtual registered by mem2reg.
With this patch, ASan instrumentation pass will only instrument non
promotable allocas, giving us a speedup of 39% on a collection of
benchmarks with -O0. (There is no measurable speedup at -O1.)
llvm-svn: 230724
Anna Zaks [Fri, 27 Feb 2015 03:12:19 +0000 (03:12 +0000)]
[compiler-rt] Allow suppression file to be relative to the location of the executable
The ASanified executable could be launched from different locations. When we
cannot find the suppression file relative to the current directory, try to
see if the specified path is relative to the location of the executable.
llvm-svn: 230723
David Majnemer [Fri, 27 Feb 2015 02:38:02 +0000 (02:38 +0000)]
MS ABI: Simplify the code which performs base adjustments
llvm-svn: 230722
Alexey Samsonov [Fri, 27 Feb 2015 02:29:25 +0000 (02:29 +0000)]
[Sanitizer] Print column number in SUMMARY line if it's available.
llvm-svn: 230721
Nico Weber [Fri, 27 Feb 2015 02:26:14 +0000 (02:26 +0000)]
Add last missing __leave test.
llvm-svn: 230720
Sanjoy Das [Fri, 27 Feb 2015 02:24:16 +0000 (02:24 +0000)]
Don't modify the DenseMap being iterated over from within the loop
that is iterating over it
Inserting elements into a `DenseMap` invalidated iterators pointing
into the `DenseMap` instance.
Differential Revision: http://reviews.llvm.org/D7924
llvm-svn: 230719
Sanjoy Das [Fri, 27 Feb 2015 02:19:11 +0000 (02:19 +0000)]
Fix a use-iterator-after-invalidate error
AnalysisResult::getResultImpl reuses an iterator into a DenseMap after
inserting elements into it. This change adds code to recompute the
iterator before the second use.
llvm-svn: 230718
Nico Weber [Fri, 27 Feb 2015 01:58:08 +0000 (01:58 +0000)]
Add another __leave test.
llvm-svn: 230717
Richard Smith [Fri, 27 Feb 2015 01:57:00 +0000 (01:57 +0000)]
[modules] For an inheriting constructor, the inherited constructor is stored in
a map keyed off the canonical declaration. Don't try to set it if we're loading
some non-canonical merged declaration.
llvm-svn: 230716
Charles Davis [Fri, 27 Feb 2015 00:57:01 +0000 (00:57 +0000)]
Target/X86: Save Win64 non-volatile registers in a Win64 ABI function.
Summary:
This change causes us to actually save non-volatile registers in a Win64
ABI function that calls a System V ABI function, and vice-versa.
Reviewers: rnk
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D7919
llvm-svn: 230714
David Majnemer [Fri, 27 Feb 2015 00:43:58 +0000 (00:43 +0000)]
llvm-vtabledump: Dump catch/throw exception structures for MS ABI
llvm-svn: 230713
Richard Smith [Fri, 27 Feb 2015 00:25:58 +0000 (00:25 +0000)]
[modules] When loading in multiple canonical definitions of a template,
accumulate the set of specializations rather than overwriting one list
with another.
llvm-svn: 230712
Greg Clayton [Fri, 27 Feb 2015 00:12:22 +0000 (00:12 +0000)]
Fixed an infinite recursion bug that could happen when using python operating system plug-ins where we would ask the operating system plug-in to update its threads and this would cause the plugin to run an expression which would eventually run IRForTarget::CreateResultVariable() which would try to get the selected thread and cause re-entrant bug.
<rdar://problem/
19924734>
llvm-svn: 230711
Eric Christopher [Fri, 27 Feb 2015 00:11:34 +0000 (00:11 +0000)]
Rewrite MachineOperand::print and MachineInstr::print to avoid
uses of TM->getSubtargetImpl and propagate to all calls.
This could be a debugging regression in places where we had a
TargetMachine and/or MachineFunction but don't have it as part
of the MachineInstr. Fixing this would require passing a
MachineFunction/Function down through the print operator, but
none of the existing uses in tree seem to do this.
llvm-svn: 230710
Alexey Samsonov [Fri, 27 Feb 2015 00:07:04 +0000 (00:07 +0000)]
[CMake] Effectively revert r230683.
Clang in 32-bit mode may choose to target different architecture
than host compiler.
llvm-svn: 230709
Bruce Mitchener [Thu, 26 Feb 2015 23:55:39 +0000 (23:55 +0000)]
Remove duplicated code for synthetic array members.
Summary:
The code for GetSyntheticArrayMemberFromPointer and
GetSyntheticArrayMemberFromArray was identical, so just collapse the
the methods into one.
Reviewers: granata.enrico, clayborg
Reviewed By: clayborg
Subscribers: lldb-commits
Differential Revision: http://reviews.llvm.org/D7911
llvm-svn: 230708
Rafael Espindola [Thu, 26 Feb 2015 23:55:11 +0000 (23:55 +0000)]
Put jump tables in distinct sections if -ffunction-sections is used.
A small regression in r230411 was that we were basing the decision on
-fdata-sections.
llvm-svn: 230707
Bruce Mitchener [Thu, 26 Feb 2015 23:53:49 +0000 (23:53 +0000)]
[swig] Fix some typos in the build scripts.
Reviewers: zturner, ki.stfu
Reviewed By: zturner, ki.stfu
Subscribers: ki.stfu, lldb-commits
Differential Revision: http://reviews.llvm.org/D7912
llvm-svn: 230706
Lang Hames [Thu, 26 Feb 2015 23:52:42 +0000 (23:52 +0000)]
[Orc][Kaleidoscope] More tutorial cleanup, a little extra debugging output.
llvm-svn: 230705
Zachary Turner [Thu, 26 Feb 2015 23:51:49 +0000 (23:51 +0000)]
[llvm-pdbdump] Add missing files.
llvm-svn: 230704
Zachary Turner [Thu, 26 Feb 2015 23:49:23 +0000 (23:49 +0000)]
[llvm-pdbdump] Fix dumping of function pointers and basic types.
Function pointers were not correctly handled by the dumper, and
they would print as "* name". They now print as
"int (__cdecl *name)(int arg1, int arg2)" as they should.
Also, doubles were being printed as floats. This fixes that bug
as well, and adds tests for all builtin types. as well as a test
for function pointers.
llvm-svn: 230703
Rui Ueyama [Thu, 26 Feb 2015 23:43:04 +0000 (23:43 +0000)]
PECOFF: allow more than one /alternatename for the same symbol.
Previously we have a string -> string map to keep the weak alias
symbol mapping. Naturally we can't define more than one weak alias
with that data structure.
This patch is to allow multiple aliases for the same symbol by
changing the map type to string -> set of string map.
llvm-svn: 230702
Eric Christopher [Thu, 26 Feb 2015 23:36:28 +0000 (23:36 +0000)]
Remove commented out function.
(Saving files works, who knew?)
llvm-svn: 230701
Eric Christopher [Thu, 26 Feb 2015 23:32:17 +0000 (23:32 +0000)]
Remove DebugLoc::print(LLVMContext, raw_ostream), it was just
forwarding to the one that didn't take a context.
llvm-svn: 230700
Eric Christopher [Thu, 26 Feb 2015 22:38:43 +0000 (22:38 +0000)]
getRegForInlineAsmConstraint wants to use TargetRegisterInfo for
a lookup, pass that in rather than use a naked call to getSubtargetImpl.
This involved passing down and around either a TargetMachine or
TargetRegisterInfo. Update all callers/definitions around the targets
and SelectionDAG.
llvm-svn: 230699
Eric Christopher [Thu, 26 Feb 2015 22:38:34 +0000 (22:38 +0000)]
Add a TargetMachine argument to the AddressingModeMatcher, we'll
need this shortly to get a TargetRegisterInfo from the subtarget
for TargetLowering routines.
llvm-svn: 230698
Nico Weber [Thu, 26 Feb 2015 22:34:33 +0000 (22:34 +0000)]
Don't crash on leaving nested __finally blocks through an EH edge.
The __finally emission block tries to be clever by removing unused continuation
edges if there's an unconditional jump out of the __finally block. With
exception edges, the EH continuation edge isn't always unused though and we'd
crash in a few places.
Just don't be clever. That makes the IR for __finally blocks a bit longer in
some cases (hence small and behavior-preserving changes to existing tests), but
it makes no difference in general and it fixes the last crash from PR22553.
http://reviews.llvm.org/D7918
llvm-svn: 230697
Chandler Carruth [Thu, 26 Feb 2015 22:15:34 +0000 (22:15 +0000)]
[x86] Fix PR22706 where we would incorrectly try lower a v32i8 dynamic
blend as legal.
We made the same mistake in two different places. Whenever we are custom
lowering a v32i8 blend we need to check whether we are custom lowering
it only for constant conditions that can be shuffled, or whether we
actually have AVX2 and full dynamic blending support on bytes. Both are
fixed, with comments added to make it clear what is going on and a new
test case.
llvm-svn: 230695
Chaoren Lin [Thu, 26 Feb 2015 22:15:16 +0000 (22:15 +0000)]
Fix Bug 20400
Summary:
http://llvm.org/bugs/show_bug.cgi?id=20400
The default triple of i686-pc-linux-gnu for 32 bit linux targets is compatible
but not necessarily identical to the inferior binaries.
Applying Azat Khuzhin's solution of using ArchSpec::IsCompatibleMatch() instead
of ArchSpec::IsExactMatch() when comparing ObjectFile and Modules architecture.
Reviewers: vharron
Subscribers: lldb-commits
Differential Revision: http://reviews.llvm.org/D7897
llvm-svn: 230694
Rafael Espindola [Thu, 26 Feb 2015 22:02:02 +0000 (22:02 +0000)]
Simplify arange output.
Move SectionMap to its only user (emitDebugARanges) and
reorder to save a call to sort.
llvm-svn: 230693
Reid Kleckner [Thu, 26 Feb 2015 21:34:11 +0000 (21:34 +0000)]
Re-instate the pragma optimize hack for MSVC, but not clang-cl
Reverts commit r230686 with define modifications.
llvm-svn: 230692
Chaoren Lin [Thu, 26 Feb 2015 21:31:27 +0000 (21:31 +0000)]
Add synchronization to TestWatchLocation.
Summary:
There was no guarantee that the three threads haven't already exited by the
time the watchpoint is set.
Reviewers: ovyalov
Subscribers: lldb-commits
Differential Revision: http://reviews.llvm.org/D7916
llvm-svn: 230691
Chandler Carruth [Thu, 26 Feb 2015 21:29:06 +0000 (21:29 +0000)]
[x86] Restructure the comments and the conditions for handling
dynamic blends.
This makes it much more clear what is going on. The case we're handling
is that of dynamic conditions, and we're bailing when the nature of the
vector types and subtarget preclude lowering the dynamic condition
vselect as an actual blend.
No functionality changed here, but this will make a subsequent bug-fix
to this code much more clear.
llvm-svn: 230690
Chandler Carruth [Thu, 26 Feb 2015 21:21:36 +0000 (21:21 +0000)]
[x86] Re-order the combines of select in the X86 backend. This doesn't
change functionality, but makes it more clear that the dynamic case and
the shuffle case don't overlap in any interesting way.
llvm-svn: 230689
Chandler Carruth [Thu, 26 Feb 2015 21:18:20 +0000 (21:18 +0000)]
[x86] Add an assert to catch if we ever try to blend a v32i8 without
AVX2.
llvm-svn: 230688
Reid Kleckner [Thu, 26 Feb 2015 21:10:01 +0000 (21:10 +0000)]
Give enum an unsigned type to silence -Wmicrosoft clang-cl warning
llvm-svn: 230687
Reid Kleckner [Thu, 26 Feb 2015 21:08:27 +0000 (21:08 +0000)]
Remove stale pragma hack for an unsupported MSVC version
llvm-svn: 230686
Reid Kleckner [Thu, 26 Feb 2015 21:08:21 +0000 (21:08 +0000)]
Silence some Win64 clang-cl warnings about unused stuff due to ifdefs
llvm-svn: 230685
Reid Kleckner [Thu, 26 Feb 2015 21:07:30 +0000 (21:07 +0000)]
Use wider type for overflow check on LLP64 platforms like Win64, found by clang-cl -Wtautological
llvm-svn: 230684
Alexey Samsonov [Thu, 26 Feb 2015 21:03:41 +0000 (21:03 +0000)]
[CMake] Make sure we built one variant of i386/i686 runtime libraries.
llvm-svn: 230683
Nico Weber [Thu, 26 Feb 2015 20:43:00 +0000 (20:43 +0000)]
Wrap to 80 columns. No behavior change.
llvm-svn: 230682
Reid Kleckner [Thu, 26 Feb 2015 20:37:49 +0000 (20:37 +0000)]
Add myself as a code owner for Microsoft C++ ABI code and general Windows support
Reviewers: rsmith
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D7891
llvm-svn: 230681
Sanjoy Das [Thu, 26 Feb 2015 20:14:32 +0000 (20:14 +0000)]
IRCE: add a test case for r230619.
llvm-svn: 230680
Simon Atanasyan [Thu, 26 Feb 2015 20:09:50 +0000 (20:09 +0000)]
[Driver] Use paths explicitly provided by the -L option before default paths
User should be able to override default search paths using the -L
option.
http://reviews.llvm.org/D7902
llvm-svn: 230679
Simon Atanasyan [Thu, 26 Feb 2015 20:09:42 +0000 (20:09 +0000)]
[ELF] Reduce the code indentation
No functional changes.
llvm-svn: 230678
Simon Atanasyan [Thu, 26 Feb 2015 20:09:37 +0000 (20:09 +0000)]
[Mips] Mark some MipsELFFile member functions as constant
No functional changes.
llvm-svn: 230677
Justin Bogner [Thu, 26 Feb 2015 20:06:28 +0000 (20:06 +0000)]
InstrProf: Simplify the construction of BinaryCoverageReader
Creating BinaryCoverageReader is a strange and complicated dance where
the constructor sets error codes that member functions will later
read, and the object is in an invalid state if readHeader isn't
immediately called after construction.
Instead, make the constructor private and add a static create method
to do the construction properly. This also has the benefit of removing
readHeader completely and simplifying the interface of the object.
llvm-svn: 230676
Justin Bogner [Thu, 26 Feb 2015 20:06:24 +0000 (20:06 +0000)]
InstrProf: Rename ObjectFileCoverageMappingReader to BinaryCoverageReader
The current name is long and confusing. A shorter one is both easier
to understand and easier to work with.
llvm-svn: 230675
Oleksiy Vyalov [Thu, 26 Feb 2015 20:02:13 +0000 (20:02 +0000)]
Use getProcessTriple inside HostInfoBase::ComputeHostArchitectureSupport instead of getDefaultTargetTriple.
http://reviews.llvm.org/D7893
llvm-svn: 230674
Sanjoy Das [Thu, 26 Feb 2015 19:51:35 +0000 (19:51 +0000)]
SCEVExpander incorrectly marks generated subtractions as nuw/nsw
It is not sound to mark the increment operation as `nuw` or `nsw`
based on a proof off of the add recurrence if the increment operation
we emit happens to be a `sub` instruction.
I could not come up with a test case for this -- the cases where
SCEVExpander decides to emit a `sub` instruction is quite small, and I
cannot think of a way I'd be able to get SCEV to prove that the
increment does not overflow in those cases.
Differential Revision: http://reviews.llvm.org/D7899
llvm-svn: 230673
Nico Weber [Thu, 26 Feb 2015 19:48:43 +0000 (19:48 +0000)]
Try to fix a docs link.
llvm-svn: 230672
Chaoren Lin [Thu, 26 Feb 2015 19:48:15 +0000 (19:48 +0000)]
Can't set watchpoints on launching threads on Linux LLGS.
Summary:
They'll be set anyway when the thread starts running, so the launching threads
should just ignore the set request.
Reviewers: ovyalov
Subscribers: lldb-commits
Differential Revision: http://reviews.llvm.org/D7914
llvm-svn: 230671
Frederic Riss [Thu, 26 Feb 2015 19:48:07 +0000 (19:48 +0000)]
[MC] Use the non-EH register mapping in the debug_frame section.
On 32bits x86 Darwin, the register mappings for the eh_frane and
debug_frame sections are different. Thus the same CFI instructions
should result in different registers in the object file. The
problem isn't target specific though, but it requires that the
mappings for EH register numbers be different from the standard
Dwarf one.
The patch looks a bit clumsy. LLVM uses the EH mapping as
canonical for everything frame related. Thus we need to do a
double conversion EH -> LLVM -> Non-EH, when emitting the
debug_frame section.
Fixes PR22363.
Differential Revision: http://reviews.llvm.org/D7593
llvm-svn: 230670
Eric Christopher [Thu, 26 Feb 2015 19:46:32 +0000 (19:46 +0000)]
Support bitrig in autoconf build system.
Patch by Dave Huseby.
llvm-svn: 230669
Reid Kleckner [Thu, 26 Feb 2015 19:43:46 +0000 (19:43 +0000)]
Win64: Silently ignore __stdcall, __fastcall, and __thiscall
MSVC doesn't warn on this. Users are expected to apply the WINAPI macro
to functions passed by pointer to the Win32 API, and this macro expands
to __stdcall. This means we end up with a lot of useless noisy warnings
about ignored calling conventions when compiling code with clang for
Win64.
llvm-svn: 230668
Reid Kleckner [Thu, 26 Feb 2015 19:43:20 +0000 (19:43 +0000)]
Don't sibcall between SysV and Win64 convention functions
The shadow stack space expectations won't match.
Fixes PR22709.
llvm-svn: 230667
Johannes Doerfert [Thu, 26 Feb 2015 19:33:42 +0000 (19:33 +0000)]
Change argument "class" keyword to "const"
llvm-svn: 230666
John Thompson [Thu, 26 Feb 2015 19:31:10 +0000 (19:31 +0000)]
Fixed canonical path function.
llvm-svn: 230665
Lang Hames [Thu, 26 Feb 2015 19:28:37 +0000 (19:28 +0000)]
[Orc][Kaleidoscope] Fix a missed symbol mangling operation in the fully lazy tutorial.
llvm-svn: 230664
Siva Chandra [Thu, 26 Feb 2015 19:26:36 +0000 (19:26 +0000)]
Fix a typo Debugger::ExecuteIOHanders to Debugger::ExecuteIOHandlers.
Test Plan: Build LLDB.
Reviewers: zturner, vharron, clayborg
Reviewed By: vharron, clayborg
Subscribers: jingham, lldb-commits
Differential Revision: http://reviews.llvm.org/D7894
llvm-svn: 230663
Alexey Samsonov [Thu, 26 Feb 2015 19:19:44 +0000 (19:19 +0000)]
[UBSan] Run all UBSan tests in 32-bit mode as well.
We build and support UBSan on 32-bit platforms. We should run tests
there as well. Fixes PR22683.
llvm-svn: 230662
Enrico Granata [Thu, 26 Feb 2015 19:00:23 +0000 (19:00 +0000)]
Fix a bug where LLDB could be convinced to attempt to extract a bitfield of size 0, and consequently crash
llvm-svn: 230661
Hal Finkel [Thu, 26 Feb 2015 18:56:03 +0000 (18:56 +0000)]
[InstCombine/PowerPC] Convert aligned QPX load/store intrinsics into loads/stores
InstCombine has long had logic to convert aligned Altivec load/store intrinsics
into regular loads and stores. This mirrors that functionality for QPX vector
load/store intrinsics.
llvm-svn: 230660
Paul Robinson [Thu, 26 Feb 2015 18:47:57 +0000 (18:47 +0000)]
When the source has a series of assignments, users reasonably want to
have the debugger step through each one individually. Turn off the
combine for adjacent stores at -O0 so we get this behavior.
Possibly, DAGCombine shouldn't run at all at -O0, but that's for
another day; see PR22346.
Differential Revision: http://reviews.llvm.org/D7181
llvm-svn: 230659