Richard Sandiford [Mon, 12 Aug 2013 07:26:09 +0000 (07:26 +0000)]
Fix big-endian handling of integer-to-vector bitcasts in InstCombine
These functions used to assume that the lsb of an integer corresponds
to vector element 0, whereas for big-endian it's the other way around:
the msb is in the first element and the lsb is in the last element.
Fixes MultiSource/Benchmarks/mediabench/gsm/toast for z.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188155
91177308-0d34-0410-b5e6-
96231b3b80d8
Reed Kotler [Sun, 11 Aug 2013 21:30:27 +0000 (21:30 +0000)]
Don't generate floating point stubs for mips16 code if the function
is actually an instrinsic that will not occur in libc. This list here
is not exhaustive but fixes the one places in test-suite where this occurs.
I have filed a bug against myself to research the full list and add them
to the array of such cases. In the future, actual stub generation will occur
in a later phase and we won't need this code because we will know at that time
during the compilation that in fact no helper function was even needed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188149
91177308-0d34-0410-b5e6-
96231b3b80d8
Elena Demikhovsky [Sun, 11 Aug 2013 12:29:16 +0000 (12:29 +0000)]
AVX-512: Added more tests for BROADCAST
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188148
91177308-0d34-0410-b5e6-
96231b3b80d8
Elena Demikhovsky [Sun, 11 Aug 2013 07:55:09 +0000 (07:55 +0000)]
AVX-512: Added VPERM* instructons and MOV* zmm-to-zmm instructions.
Added a test for shuffles using VPERM.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188147
91177308-0d34-0410-b5e6-
96231b3b80d8
Chandler Carruth [Sun, 11 Aug 2013 02:17:11 +0000 (02:17 +0000)]
Re-instate r187323 which fast-tracks promotable allocas as soon as the
SROA-based analysis has enough information. This should work now that
both mem2reg *and* the SSAUpdater-based AllocaPromoter have been updated
to be able to promote the types of allocas that the SROA analysis
detects.
I've included tests for the AllocaPromoter that were only possible to
write once we fast-tracked promotable allocas without rewriting them.
This includes a test both for r187347 and r188145.
Original commit log for r187323:
"""
Now that mem2reg understands how to cope with a slightly wider set of uses of
an alloca, we can pre-compute promotability while analyzing an alloca for
splitting in SROA. That lets us short-circuit the common case of a bunch of
trivially promotable allocas. This cuts 20% to 30% off the run time of SROA for
typical frontend-generated IR sequneces I'm seeing. It gets the new SROA to
within 20% of ScalarRepl for such code. My current benchmark for these numbers
is PR15412, but it fits the general pattern of IR emitted by Clang so it should
be widely applicable.
"""
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188146
91177308-0d34-0410-b5e6-
96231b3b80d8
Chandler Carruth [Sun, 11 Aug 2013 01:56:15 +0000 (01:56 +0000)]
Finish fixing the SSAUpdater-based AllocaPromoter strategy in SROA to cope with
the more general set of patterns that are now handled by mem2reg and that we
can detect quickly while doing SROA's initial analysis. Notably, this allows it
to promote through no-op bitcast and GEP sequences. A core part of the
SSAUpdater approach is the ability to test whether a particular instruction is
part of the set being promoted. Testing this becomes significantly more complex
in the world where the operand to every load and store isn't the alloca itself.
I ended up using the approach of walking up the def-chain until we find the
alloca. I benchmarked this against keeping a set of pointer operands and
keeping a set of the loads and stores we care about, and this one seemed faster
although the difference was very small.
No test case yet because currently the rewriting always "fixes" the inputs to
not require this. The next patch which re-enables early promotion of easy cases
in SROA will include a test case that specifically exercises this aspect of the
alloca promoter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188145
91177308-0d34-0410-b5e6-
96231b3b80d8
Chandler Carruth [Sun, 11 Aug 2013 01:03:18 +0000 (01:03 +0000)]
Reformat some bits of AllocaPromoter and simplify the name and type of
our visiting datastructures in the AllocaPromoter/SSAUpdater path of
SROA. Also shift the order if clears around to be more consistent.
No functionality changed here, this is just a cleanup.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188144
91177308-0d34-0410-b5e6-
96231b3b80d8
Reed Kotler [Sat, 10 Aug 2013 22:18:22 +0000 (22:18 +0000)]
Incorrect JAL instruction attributes caused the optimizer to make a wrong
instruction move. Just affects static relocation. -static works fine now
with mips16 for the most part.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188143
91177308-0d34-0410-b5e6-
96231b3b80d8
Arnold Schwaighofer [Sat, 10 Aug 2013 20:16:06 +0000 (20:16 +0000)]
Revert r188119 "Kill some duplicated code for removing unreachable BBs."
It is breaking builbots with libgmalloc enabled on Mac OS X.
$ cd llvm ; mkdir release ; cd release
$ ../configure --enable-optimized —prefix=$PWD/install
$ make
$ make check
$ Release+Asserts/bin/llvm-lit -v --param use_gmalloc=1 --param \
gmalloc_path=/usr/lib/libgmalloc.dylib \
../test/Instrumentation/DataFlowSanitizer/args-unreachable-bb.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188142
91177308-0d34-0410-b5e6-
96231b3b80d8
Venkatraman Govindaraju [Sat, 10 Aug 2013 20:13:20 +0000 (20:13 +0000)]
[Sparc] Enable xword directive in sparcv9.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188141
91177308-0d34-0410-b5e6-
96231b3b80d8
Matt Arsenault [Sat, 10 Aug 2013 17:34:08 +0000 (17:34 +0000)]
Teach ValueTracking about address spaces
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188140
91177308-0d34-0410-b5e6-
96231b3b80d8
Niels Ole Salscheider [Sat, 10 Aug 2013 10:38:54 +0000 (10:38 +0000)]
R600/SI: FMA is faster than fmul and fadd for f64
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188136
91177308-0d34-0410-b5e6-
96231b3b80d8
Niels Ole Salscheider [Sat, 10 Aug 2013 10:38:47 +0000 (10:38 +0000)]
R600/SI: Add FMA pattern
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188135
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Sat, 10 Aug 2013 00:50:57 +0000 (00:50 +0000)]
Check for $PWD in llvm::sys::current_path.
Some users (clang, libTooling) require this. After this patch we can remove
the calls to getenv("PWD") from clang.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188125
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael Gottesman [Fri, 9 Aug 2013 23:22:27 +0000 (23:22 +0000)]
[objc-arc] Track if we encountered an additive overflow while computing {TopDown,BottomUp}PathCounts and do nothing if it occurred.
I fixed the aforementioned problems that came up on some of the linux boxes.
Major thanks to Nick Lewycky for his help debugging!
rdar://
14590914
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188122
91177308-0d34-0410-b5e6-
96231b3b80d8
Peter Collingbourne [Fri, 9 Aug 2013 22:47:24 +0000 (22:47 +0000)]
Kill some duplicated code for removing unreachable BBs.
This moves removeUnreachableBlocksFromFn from SimplifyCFGPass.cpp
to Utils/Local.cpp and uses it to replace the implementation of
llvm::removeUnreachableBlocks, which appears to do a strict subset
of what removeUnreachableBlocksFromFn does.
Differential Revision: http://llvm-reviews.chandlerc.com/D1334
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188119
91177308-0d34-0410-b5e6-
96231b3b80d8
Peter Collingbourne [Fri, 9 Aug 2013 21:42:53 +0000 (21:42 +0000)]
DataFlowSanitizer: Remove unreachable BBs so IR continues to verify
under the args ABI.
Differential Revision: http://llvm-reviews.chandlerc.com/D1316
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188113
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 9 Aug 2013 21:39:36 +0000 (21:39 +0000)]
[lit] Remove old ExamplesTests directory.
- The actual tests have better coverage than those, and they weren't useful
anymore.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188110
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 9 Aug 2013 21:39:28 +0000 (21:39 +0000)]
[lit] Move ManyTests examples to lit/examples/many-tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188109
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 9 Aug 2013 21:39:24 +0000 (21:39 +0000)]
[lit] Drop deprecated aliases for lit and old module names.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188108
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 9 Aug 2013 21:39:17 +0000 (21:39 +0000)]
[lit] Update lit's own tests to use lit_config and lit package, as appropriate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188107
91177308-0d34-0410-b5e6-
96231b3b80d8
Reed Kotler [Fri, 9 Aug 2013 21:33:41 +0000 (21:33 +0000)]
Add another intrinsic that LLVM gives an incorrect prototype to.
I need to go through all the runtime routine list and see if there
are any more I need to add for mips16 floating point. Prototypes must
be correct or else I don't know to add a helper function call.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188106
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael Gottesman [Fri, 9 Aug 2013 21:26:18 +0000 (21:26 +0000)]
[stackprotector] Simplify SP Pass so that we emit different fail basic blocks for each fail condition.
This patch decouples the stack protector pass so that we can support stack
protector implementations that do not use the IR level generated stack protector
fail basic block.
No codesize increase is caused by this change since the MI level tail merge pass
properly merges together the fail condition blocks (see the updated test).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188105
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakub Staszak [Fri, 9 Aug 2013 20:53:48 +0000 (20:53 +0000)]
Mark obviously const methods. Also use reference for parameters when possible.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188103
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 9 Aug 2013 19:39:48 +0000 (19:39 +0000)]
[docs] Update TestingGuide's note on how to run with Valgrind.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188097
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 9 Aug 2013 19:39:42 +0000 (19:39 +0000)]
[lit] Fix typo.
- Noticed by edward-san (IRC).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188096
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Fri, 9 Aug 2013 19:33:32 +0000 (19:33 +0000)]
Add a overload to CostTable which allows it to infer the size of the table.
Use it to avoid repeating ourselves too often. Also store MVT::SimpleValueType
in the TTI tables so they can be statically initialized, MVT's constructors
create bloated initialization code otherwise.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188095
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrea Di Biagio [Fri, 9 Aug 2013 18:42:18 +0000 (18:42 +0000)]
Add description of function attribute 'minsize' in LangRef.rst.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188091
91177308-0d34-0410-b5e6-
96231b3b80d8
Stephen Lin [Fri, 9 Aug 2013 17:50:15 +0000 (17:50 +0000)]
CHECK-LABEL-ify tests
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188087
91177308-0d34-0410-b5e6-
96231b3b80d8
David Blaikie [Fri, 9 Aug 2013 17:17:12 +0000 (17:17 +0000)]
DebugInfo: provide the ability to add members to a class after it has been constructed
This is necessary to allow Clang to only emit implicit members when
there is code generated for them, rather than whenever they are ODR
used.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188082
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Fri, 9 Aug 2013 17:03:39 +0000 (17:03 +0000)]
Make directory iterator sentinels free.
This trades some complexity in operator== for not introducing static objects
into any functions using recursive directory iterators.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188081
91177308-0d34-0410-b5e6-
96231b3b80d8
Hans Wennborg [Fri, 9 Aug 2013 16:48:21 +0000 (16:48 +0000)]
ELFObjectFile.h: Silence warning on Windows
The compiler was warning about using | on a uintptr_t and bool:
Object/ELFObjectFile.h(131) : warning C4805: '|' : unsafe
mix of type 'uintptr_t' and type 'bool' in operation
I think the warning might be useful in other cases, so I added
a cast instead of disabling it altogether.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188079
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 9 Aug 2013 16:22:05 +0000 (16:22 +0000)]
[tests] Update to use lit_config and lit package, as appropriate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188076
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Fri, 9 Aug 2013 14:44:41 +0000 (14:44 +0000)]
Make helper static and fix formatting.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188074
91177308-0d34-0410-b5e6-
96231b3b80d8
Mihai Popa [Fri, 9 Aug 2013 13:52:32 +0000 (13:52 +0000)]
This fixes the Thumb2 CPS assembly syntax.
In Thumb1, only one variant is supported: CPS{effect} {flags}
Thumb2 supports three:
CPS{effect}.W {flags}
CPS{effect} {flags} {mode}
CPS {mode}
Canonically, .W should be used only when ambiguity is present between encodings of different width.
The wide suffix is still accepted for the latter two forms via aliases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188071
91177308-0d34-0410-b5e6-
96231b3b80d8
Mihai Popa [Fri, 9 Aug 2013 10:38:32 +0000 (10:38 +0000)]
Fix assembling of Thumb2 branch instructions.
The long encoding for Thumb2 unconditional branches is broken.
Additionally, there is no range checking for target operands; as such
for instructions originating in assembly code, only short Thumb encodings
are generated, regardless of the bitsize needed for the offset.
Adding range checking is non trivial due to the representation of Thumb
branch instructions. There is no true difference between conditional and
unconditional branches in terms of operands and syntax - even unconditional
branches have a predicate which is expected to match that of the IT block
they are in. Yet, the encodings and the permitted size of the offset differ.
Due to this, for any mnemonic there are really 4 encodings to choose for.
The problem cannot be handled in the parser alone or by manipulating td files.
Because the parser builds first a set of match candidates and then checks them
one by one, whatever tablegen-only solution might be found will ultimately be
dependent of the parser's evaluation order. What's worse is that due to the fact
that all branches have the same syntax and the same kinds of operands, that
order is governed by the lexicographical ordering of the names of operand
classes...
To circumvent all this, any necessary disambiguation is added to the instruction
validation pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188067
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Fri, 9 Aug 2013 10:31:14 +0000 (10:31 +0000)]
Remove byte order mark from source file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188066
91177308-0d34-0410-b5e6-
96231b3b80d8
Ulrich Weigand [Fri, 9 Aug 2013 09:42:14 +0000 (09:42 +0000)]
Add back missing PPC relocation types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188064
91177308-0d34-0410-b5e6-
96231b3b80d8
Richard Sandiford [Fri, 9 Aug 2013 09:25:57 +0000 (09:25 +0000)]
[SystemZ] Update README
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188062
91177308-0d34-0410-b5e6-
96231b3b80d8
Alexey Samsonov [Fri, 9 Aug 2013 07:34:06 +0000 (07:34 +0000)]
Try to unbreak Windows build after r188022
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188057
91177308-0d34-0410-b5e6-
96231b3b80d8
Craig Topper [Fri, 9 Aug 2013 05:41:12 +0000 (05:41 +0000)]
Add missing 'v' prefix in front of palignr on one of checks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188054
91177308-0d34-0410-b5e6-
96231b3b80d8
Craig Topper [Fri, 9 Aug 2013 04:37:24 +0000 (04:37 +0000)]
Change asserts at the top of getVectorShuffle to check that LHS and RHS have the same type as the result.
Previously the asserts were only checking that RHS and LHS were the same type and had the same element type as the result. All downstream code for ISD::VECTOR_SHUFFLE requires the types to be the same.
Also removed one unnecessary check of matched element counts that was present in the code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188051
91177308-0d34-0410-b5e6-
96231b3b80d8
Hal Finkel [Fri, 9 Aug 2013 04:13:44 +0000 (04:13 +0000)]
Set ISD::FROUND to Expand by default for all types
For most libm ISD nodes, TargetLoweringBase::initActions sets the default
scalar-type action to Expand, and leaves the vector-type action default as
Legal. This is not appropriate for the new ISD::FROUND node (which no backend
but PowerPC handles explicitly).
Fixes PR16842.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188048
91177308-0d34-0410-b5e6-
96231b3b80d8
Saleem Abdulrasool [Fri, 9 Aug 2013 01:52:03 +0000 (01:52 +0000)]
[CodeGen] prevent abnormal on invalid attributes
Currently, when an invalid attribute is encountered on processing a .s file,
clang will abort due to llvm_unreachable. Invalid user input should not cause
an abnormal termination of the compiler. Change the interface to return a
boolean to indicate the failure as a first step towards improving hanlding of
malformed user input to clang.
Signed-off-by: Saleem Abdulrasool <compnerd@compnerd.org>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188047
91177308-0d34-0410-b5e6-
96231b3b80d8
Lang Hames [Fri, 9 Aug 2013 00:57:01 +0000 (00:57 +0000)]
Optimistically ignore scattered relocations in MachO in RuntimeDyld. This
un-breaks simple use cases while I work on more general support.
<rdar://problem/
14487667>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188044
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 9 Aug 2013 00:37:15 +0000 (00:37 +0000)]
[lit] Rename lit.{TestFormats,Util} to their aliased names {formats,util}.
- With compatibility hack in lit.__init__, so this hopefully shouldn't break
anything.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188040
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 9 Aug 2013 00:37:05 +0000 (00:37 +0000)]
[lit] Inject the lit specific config object as 'lit_config' when loading config files.
- Injecting it as 'lit' is gross, since that name should be used to refer to
the actual package. For now both are available so it is possibly to cleanup
test config files incrementally.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188039
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 9 Aug 2013 00:36:58 +0000 (00:36 +0000)]
[lit] Split TestingConfig.frompath() into separate ctor and load methods.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188038
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 9 Aug 2013 00:09:02 +0000 (00:09 +0000)]
[lit] Eliminate mustExist parameter from TestingConfig.frompath().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188034
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 9 Aug 2013 00:08:56 +0000 (00:08 +0000)]
[lit] Only create config copies when a local config file is present.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188033
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Fri, 9 Aug 2013 00:08:46 +0000 (00:08 +0000)]
[lit] Eliminate parent argument from TestingConfig.frompath(), which is effectively unused.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188032
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael J. Spencer [Thu, 8 Aug 2013 23:58:18 +0000 (23:58 +0000)]
Add missing PPC64 relocation types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188031
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Thu, 8 Aug 2013 23:51:31 +0000 (23:51 +0000)]
Update the CMake build files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188030
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Thu, 8 Aug 2013 23:51:04 +0000 (23:51 +0000)]
Revert r185882. This is causing problems with the gold linker and might be better handled by the linker.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188029
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Thu, 8 Aug 2013 23:45:55 +0000 (23:45 +0000)]
Move hash computation code into a separate class and file.
No functional change intended.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188028
91177308-0d34-0410-b5e6-
96231b3b80d8
Jack Carter [Thu, 8 Aug 2013 23:30:40 +0000 (23:30 +0000)]
Mips ELF: MicroMips direct object Little endian support.
Test included.
Patch by Zoran Jovanovich
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188024
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael J. Spencer [Thu, 8 Aug 2013 22:50:40 +0000 (22:50 +0000)]
llvm isn't C++11 yet :(
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188023
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael J. Spencer [Thu, 8 Aug 2013 22:27:13 +0000 (22:27 +0000)]
[Object] Split the ELF interface into 3 parts.
* ELFTypes.h contains template magic for defining types based on endianess, size, and alignment.
* ELFFile.h defines the ELFFile class which provides low level ELF specific access.
* ELFObjectFile.h contains ELFObjectFile which uses ELFFile to implement the ObjectFile interface.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188022
91177308-0d34-0410-b5e6-
96231b3b80d8
Akira Hatanaka [Thu, 8 Aug 2013 21:54:26 +0000 (21:54 +0000)]
[mips] Rename accumulator register classes and FP register operands.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188020
91177308-0d34-0410-b5e6-
96231b3b80d8
Akira Hatanaka [Thu, 8 Aug 2013 21:44:39 +0000 (21:44 +0000)]
[mips] Mark pseudo instructions as code-gen only.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188017
91177308-0d34-0410-b5e6-
96231b3b80d8
Akira Hatanaka [Thu, 8 Aug 2013 21:37:32 +0000 (21:37 +0000)]
[mips] Delete register class HWRegs64.
No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188016
91177308-0d34-0410-b5e6-
96231b3b80d8
David Fang [Thu, 8 Aug 2013 21:29:30 +0000 (21:29 +0000)]
cast fix to appease buildbot
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188014
91177308-0d34-0410-b5e6-
96231b3b80d8
Arnold Schwaighofer [Thu, 8 Aug 2013 21:04:16 +0000 (21:04 +0000)]
Revert "Reapply r185872 now that the address sanitizer has been changed to support this."
This reverts commit r187939. It broke an O0 build of a spec benchmark.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188012
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 8 Aug 2013 20:59:27 +0000 (20:59 +0000)]
[tests] Remove dead VALGRIND and CLEANED_TESTSUITE makefile variables.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188010
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 8 Aug 2013 20:59:25 +0000 (20:59 +0000)]
[lit] Change --show-{tests,suites} to exit after printing.
- This is a more sensible behavior than printing and also running tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188009
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 8 Aug 2013 20:59:20 +0000 (20:59 +0000)]
[lit] Remove --repeat option, which wasn't that useful.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188008
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 8 Aug 2013 20:59:16 +0000 (20:59 +0000)]
[lit] Eliminate some nested imports.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188007
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 8 Aug 2013 20:59:13 +0000 (20:59 +0000)]
[lit] Remove on_clone member, which is no longer used.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188006
91177308-0d34-0410-b5e6-
96231b3b80d8
David Fang [Thu, 8 Aug 2013 20:14:40 +0000 (20:14 +0000)]
initial draft of PPCMachObjectWriter.cpp
this records relocation entries in the mach-o object file
for PIC code generation.
tested on powerpc-darwin8, validated against darwin otool -rvV
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188004
91177308-0d34-0410-b5e6-
96231b3b80d8
Alexey Samsonov [Thu, 8 Aug 2013 17:32:45 +0000 (17:32 +0000)]
Fix off-by-one error in Regex::isValid
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187992
91177308-0d34-0410-b5e6-
96231b3b80d8
Niels Ole Salscheider [Thu, 8 Aug 2013 16:06:15 +0000 (16:06 +0000)]
R600/SI: Implement fp32<->fp64 conversions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187988
91177308-0d34-0410-b5e6-
96231b3b80d8
Niels Ole Salscheider [Thu, 8 Aug 2013 16:06:08 +0000 (16:06 +0000)]
R600/SI: Implement sint<->fp64 conversions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187987
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakub Staszak [Thu, 8 Aug 2013 15:48:46 +0000 (15:48 +0000)]
Use pop_back() instead of pop_back_val() when the returned value is not used.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187986
91177308-0d34-0410-b5e6-
96231b3b80d8
Silviu Baranga [Thu, 8 Aug 2013 15:47:33 +0000 (15:47 +0000)]
Remove the now redundant FeatureFP16 from the Cortex-A15 feature list. It was made redundant when FeatureVFP4 was added which implies FP16.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187985
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakub Staszak [Thu, 8 Aug 2013 15:19:25 +0000 (15:19 +0000)]
Fix the comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187984
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Thu, 8 Aug 2013 11:17:39 +0000 (11:17 +0000)]
Use EXPECT_TRUE/EXPECT_FALSE to avoid bogus warnings from the guts of gtest.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187976
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrea Di Biagio [Thu, 8 Aug 2013 10:46:36 +0000 (10:46 +0000)]
test commit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187974
91177308-0d34-0410-b5e6-
96231b3b80d8
Mihai Popa [Thu, 8 Aug 2013 10:20:41 +0000 (10:20 +0000)]
The name "tCDP" isn't used anywhere else in the source code, so renaming it for consistency doesn't cause any problems.
This is the only Thumb2 instruction defined with "t" prefix; all other Thumb2 instructions have "t2" prefix (e.g. "t2CDP2" which is defined immediately afterwards).
Patch by Artyom Skrobov.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187973
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Thu, 8 Aug 2013 08:35:37 +0000 (08:35 +0000)]
DISubprogram metadata have an MDNode representing which base type
contains the vtable pointer for the class as the operand at index
12. Replace the i32 0 with a null MDNode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187970
91177308-0d34-0410-b5e6-
96231b3b80d8
Evgeniy Stepanov [Thu, 8 Aug 2013 08:22:39 +0000 (08:22 +0000)]
Disable inlining between sanitized and non-sanitized functions.
Inlining between functions with different values of sanitize_* attributes
leads to over- or under-sanitizing, which is always bad.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187967
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Thu, 8 Aug 2013 08:09:43 +0000 (08:09 +0000)]
For DW_TAG_template_type_parameter the actual passed in type could
be void and therefore not have a type entry. Only add the type if
it is non-void and provide a testcase.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187966
91177308-0d34-0410-b5e6-
96231b3b80d8
Craig Topper [Thu, 8 Aug 2013 08:03:12 +0000 (08:03 +0000)]
Remove AllUndef check from one of the loops in getVectorShuffle. It was already handled by the 'AllLHS && AllRHS' check after the previous loop.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187965
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Thu, 8 Aug 2013 07:40:42 +0000 (07:40 +0000)]
The conversion to bool is fine here, no need to check isType.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187964
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Thu, 8 Aug 2013 07:40:37 +0000 (07:40 +0000)]
Make sure that if we're going to attempt to add a type to a DIE that
the type exists.
Fix up cases where we weren't checking for optional types and add
an assert to addType to make sure we catch this in the future.
Fix up a testcase that was using the tag for DW_TAG_array_type
when it meant DW_TAG_enumeration_type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187963
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Thu, 8 Aug 2013 07:40:31 +0000 (07:40 +0000)]
Change variable name and reflow formatting.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187962
91177308-0d34-0410-b5e6-
96231b3b80d8
Craig Topper [Thu, 8 Aug 2013 07:38:55 +0000 (07:38 +0000)]
Optimize mask generation for one of the DAG combiner shufflevector cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187961
91177308-0d34-0410-b5e6-
96231b3b80d8
Hal Finkel [Thu, 8 Aug 2013 04:31:34 +0000 (04:31 +0000)]
PPC: Map frin to round() not nearbyint() and rint()
Making use of the recently-added ISD::FROUND, which allows for custom lowering
of round(), the PPC backend will now map frin to round(). Previously, we had
been using frin to lower nearbyint() (and rint() via some custom lowering to
handle the extra fenv flags requirements), but only in fast-math mode because
frin does not tie-to-even. Several users had complained about this behavior,
and this new mapping of frin to round is certainly more appropriate (and does
not require fast-math mode).
In effect, this reverts r178362 (and part of r178337, replacing the nearbyint
mapping with the round mapping).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187960
91177308-0d34-0410-b5e6-
96231b3b80d8
David Majnemer [Thu, 8 Aug 2013 01:50:52 +0000 (01:50 +0000)]
Revert "coff also doesn't have a ReadOnlySection yet, (!)"
This reverts commit r77814.
We were sticking global constants in the .data section instead of in the
.rdata section when emitting for COFF.
This fixes PR16831.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187956
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Thu, 8 Aug 2013 01:41:05 +0000 (01:41 +0000)]
Reflow for loop.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187954
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Thu, 8 Aug 2013 01:41:00 +0000 (01:41 +0000)]
Be more rigorous about the sizes of forms and attributes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187953
91177308-0d34-0410-b5e6-
96231b3b80d8
Chandler Carruth [Thu, 8 Aug 2013 01:15:37 +0000 (01:15 +0000)]
Add three missing CMake variables that need to make it to the
LLVMConfig.cmake file that is (I think) used in the stand-alone Clang
build, and causing link errors there w.r.t. curses.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187950
91177308-0d34-0410-b5e6-
96231b3b80d8
Alexander Kornienko [Thu, 8 Aug 2013 01:10:50 +0000 (01:10 +0000)]
Changed isPrint for U+00AD SOFT HYPHEN to return true.
Summary:
This is consistent with MacOSX implementation, and most terminals
actually display this character (checked on gnome-terminal, lxterminal, lxterm,
Terminal.app, iterm2). Actually, this is in line with the ISO Latin 1 standard
(ISO 8859-1), which defines it differently from the Unicode Standard. More
information here: http://www.cs.tut.fi/~jkorpela/shy.html
Reviewers: gribozavr, jordan_rose
CC: llvm-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D1310
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187949
91177308-0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 8 Aug 2013 00:43:30 +0000 (00:43 +0000)]
Forward resetColor() et al to the underlying stream.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187947
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael Gottesman [Thu, 8 Aug 2013 00:41:18 +0000 (00:41 +0000)]
Revert "[objc-arc] Track if we encountered an additive overflow while computing {TopDown,BottomUp}PathCounts and do nothing if it occured."
This reverts commit r187941.
The commit was passing on my os x box, but it is failing on some non-osx
platforms. I do not have time to look into it now, so I am reverting and will
recommit after I figure this out.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187946
91177308-0d34-0410-b5e6-
96231b3b80d8
Peter Collingbourne [Thu, 8 Aug 2013 00:15:27 +0000 (00:15 +0000)]
Fix ARM build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187944
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael Gottesman [Wed, 7 Aug 2013 23:56:41 +0000 (23:56 +0000)]
[objc-arc] Track if we encountered an additive overflow while computing {TopDown,BottomUp}PathCounts and do nothing if it occured.
rdar://
14590914
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187941
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael Gottesman [Wed, 7 Aug 2013 23:56:34 +0000 (23:56 +0000)]
[objc-arc] Change 4 iterator methods which return const_iterators to be const methods.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187940
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 7 Aug 2013 23:42:09 +0000 (23:42 +0000)]
Reapply r185872 now that the address sanitizer has been changed to support this.
Original commit message:
Stop emitting weak symbols into the "coal" sections.
The Mach-O linker has been able to support the weak-def bit on any symbol for
quite a while now. The compiler however continued to place these symbols into a
"coal" section, which required the linker to map them back to the base section
name.
Replace the sections like this:
__TEXT/__textcoal_nt instead use __TEXT/__text
__TEXT/__const_coal instead use __TEXT/__const
__DATA/__datacoal_nt instead use __DATA/__data
<rdar://problem/
14265330>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187939
91177308-0d34-0410-b5e6-
96231b3b80d8
Peter Collingbourne [Wed, 7 Aug 2013 23:41:13 +0000 (23:41 +0000)]
Really unbreak Mac build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187938
91177308-0d34-0410-b5e6-
96231b3b80d8
Peter Collingbourne [Wed, 7 Aug 2013 23:29:46 +0000 (23:29 +0000)]
Unbreak Mac build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187937
91177308-0d34-0410-b5e6-
96231b3b80d8