oota-llvm.git
11 years ago[-cxx-abi microsoft] Stick zero initialized symbols into the .bss section for COFF
David Majnemer [Tue, 13 Aug 2013 01:23:53 +0000 (01:23 +0000)]
[-cxx-abi microsoft] Stick zero initialized symbols into the .bss section for COFF

Summary:
We need to do two things:

- Initialize BSSSection in MCObjectFileInfo::InitCOFFMCObjectFileInfo
- Teach TargetLoweringObjectFileCOFF::SelectSectionForGlobal what to do
  with it

This fixes PR16861.

Reviewers: rnk

Reviewed By: rnk

CC: llvm-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D1361

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188244 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoAdd the start of DIE hashing for DWARF4 type units and split dwarf
Eric Christopher [Tue, 13 Aug 2013 01:21:55 +0000 (01:21 +0000)]
Add the start of DIE hashing for DWARF4 type units and split dwarf
CUs.

Currently only hashes the name of CUs and the names of any children,
but it's an obvious first step to show the framework. The testcase
should continue to be correct, however, as it's an empty TU.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188243 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoFix an oversight in isPotentiallyReachable where we wouldn't do any CFG-walking
Nick Lewycky [Tue, 13 Aug 2013 00:03:47 +0000 (00:03 +0000)]
Fix an oversight in isPotentiallyReachable where we wouldn't do any CFG-walking
to find loops if the From and To instructions were in the same block.

Refactor the code a little now that we need to fill to start the CFG-walking
algorithm with more than one starting basic block sometimes.

Special thanks to Andrew Trick for catching an error in my understanding of
natural loops in code review.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188236 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoAdd comment and source to testcase.
Eric Christopher [Mon, 12 Aug 2013 23:59:26 +0000 (23:59 +0000)]
Add comment and source to testcase.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188234 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoReflow comment.
Eric Christopher [Mon, 12 Aug 2013 23:59:24 +0000 (23:59 +0000)]
Reflow comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188233 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoRemove empty constructor.
Eric Christopher [Mon, 12 Aug 2013 23:59:18 +0000 (23:59 +0000)]
Remove empty constructor.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188232 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoSlightly simplify code with helper functions
Matt Arsenault [Mon, 12 Aug 2013 23:15:58 +0000 (23:15 +0000)]
Slightly simplify code with helper functions

e.g. Use Ty->getPointerElementType()
instead of cast<PointerType>(Ty)->getElementType()

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188223 91177308-0d34-0410-b5e6-96231b3b80d8

11 years ago[FileCheck] Fix a bug that cause FileCheck to misidentify check-prefix
Rui Ueyama [Mon, 12 Aug 2013 23:05:59 +0000 (23:05 +0000)]
[FileCheck] Fix a bug that cause FileCheck to misidentify check-prefix

FileCheck should check to make sure the prefix was found, and not a word
containing it (e.g -check-prefix=BASEREL shouldn't match NOBASEREL).

Patch by Ron Ofir.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188221 91177308-0d34-0410-b5e6-96231b3b80d8

11 years ago[Object/ELF] sh_type is not a bitfield. Fixes RuntimeDyld test failure on ARM.
Michael J. Spencer [Mon, 12 Aug 2013 22:59:14 +0000 (22:59 +0000)]
[Object/ELF] sh_type is not a bitfield. Fixes RuntimeDyld test failure on ARM.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188220 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoAdd some braces, and spaces around operators
Matt Arsenault [Mon, 12 Aug 2013 22:56:15 +0000 (22:56 +0000)]
Add some braces, and spaces around operators

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188219 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoFix a crash with X86 Mach-O and a subtraction expression where both symbols are
Kevin Enderby [Mon, 12 Aug 2013 22:45:44 +0000 (22:45 +0000)]
Fix a crash with X86 Mach-O and a subtraction expression where both symbols are
undefined and produce an error message instead as this is a non-relocatable
expression with X86 Mach-O.

rdar://8920876

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188218 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoReapply r188119 now that the bug it exposed is fixed.
Peter Collingbourne [Mon, 12 Aug 2013 22:38:43 +0000 (22:38 +0000)]
Reapply r188119 now that the bug it exposed is fixed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188217 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoDataFlowSanitizer: fix a use-after-free. Spotted by libgmalloc.
Peter Collingbourne [Mon, 12 Aug 2013 22:38:39 +0000 (22:38 +0000)]
DataFlowSanitizer: fix a use-after-free.  Spotted by libgmalloc.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188216 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoR600: Set scheduling preference to Sched::Source
Tom Stellard [Mon, 12 Aug 2013 22:33:21 +0000 (22:33 +0000)]
R600: Set scheduling preference to Sched::Source

R600 doesn't need to do any scheduling on the SelectionDAG now that it
has a very good MachineScheduler.  Also, using the VLIW SelectionDAG
scheduler was having a major impact on compile times. For example with
the phatk kernel here are the LLVM IR to machine code compile times:

With Sched::VLIW

Total Compile Time:                  1.4890 Seconds (User + System)
SelectionDAG Instruction Scheduling: 1.1670 Seconds (User + System)

With Sched::Source

Total Compile Time:                  0.3330 Seconds (User + System)
SelectionDAG Instruction Scheduling: 0.0070 Seconds (User + System)

The code ouput was identical with both schedulers.  This may not be true
for all programs, but it gives me confidence that there won't be much
reduction, if any, in code quality by using Sched::Source.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188215 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoAdd editor C++ filetype declaration no functionality change.
Michael Gottesman [Mon, 12 Aug 2013 21:10:23 +0000 (21:10 +0000)]
Add editor C++ filetype declaration no functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188205 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoRevert r188188 and r188200.
Shuxin Yang [Mon, 12 Aug 2013 21:07:31 +0000 (21:07 +0000)]
Revert r188188 and r188200.

In order to appease people (in Apple) who accuse me for committing "huge change" (?) without proper review.

Thank Eric for fixing a compile-warning.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188204 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoFixed SelectionDAGBuilder.h C++ filetype declaration to use the canonical C++ instead...
Michael Gottesman [Mon, 12 Aug 2013 21:02:02 +0000 (21:02 +0000)]
Fixed SelectionDAGBuilder.h C++ filetype declaration to use the canonical C++ instead of c++.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188203 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoFixed another place in CodeGen where we had a typo in our editor C++ filetype declara...
Michael Gottesman [Mon, 12 Aug 2013 20:52:06 +0000 (20:52 +0000)]
Fixed another place in CodeGen where we had a typo in our editor C++ filetype declaration.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188202 91177308-0d34-0410-b5e6-96231b3b80d8

11 years ago[branchfolding] Fix typo in C++ editor declaration.
Michael Gottesman [Mon, 12 Aug 2013 20:49:27 +0000 (20:49 +0000)]
[branchfolding] Fix typo in C++ editor declaration.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188201 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoFix warning about unused member.
Eric Christopher [Mon, 12 Aug 2013 20:27:50 +0000 (20:27 +0000)]
Fix warning about unused member.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188200 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoMove the addition of the dwo_id as late as possible after everything
Eric Christopher [Mon, 12 Aug 2013 20:27:48 +0000 (20:27 +0000)]
Move the addition of the dwo_id as late as possible after everything
has been finalized except for sizes and offsets. Update test accordingly.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188199 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoMove stack protector names to the same place.
Bill Wendling [Mon, 12 Aug 2013 20:09:37 +0000 (20:09 +0000)]
Move stack protector names to the same place.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188198 91177308-0d34-0410-b5e6-96231b3b80d8

11 years ago[stack protector] Fixed typo.
Michael Gottesman [Mon, 12 Aug 2013 19:44:09 +0000 (19:44 +0000)]
[stack protector] Fixed typo.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188195 91177308-0d34-0410-b5e6-96231b3b80d8

11 years ago[stackprotector] Add in the stackprotector libcall.
Michael Gottesman [Mon, 12 Aug 2013 18:45:38 +0000 (18:45 +0000)]
[stackprotector] Add in the stackprotector libcall.

We support this libcall on all platforms except for OpenBSD (See
lib/Codegen/StackProtector.cpp).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188193 91177308-0d34-0410-b5e6-96231b3b80d8

11 years ago[stackprotector] Added intrinsic llvm.stackprotectorcheck.
Michael Gottesman [Mon, 12 Aug 2013 18:35:32 +0000 (18:35 +0000)]
[stackprotector] Added intrinsic llvm.stackprotectorcheck.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188191 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoMisc enhancements to LTO:
Shuxin Yang [Mon, 12 Aug 2013 18:29:43 +0000 (18:29 +0000)]
Misc enhancements to LTO:

  1. Add some helper classes for partitions. They are designed in a
     way such that the top-level LTO driver will not see much difference
     with or without partitioning.

  2. Introduce work-dir. Now all intermediate files generated during
     LTO phases will be saved under work-dir. User can specify the workdir
     via -lto-workdir=/path/to/dir. By default the work-dir will be
     erased before linker exit. To keep the workdir, do -lto-keep, or -lto-keep=1.

    TODO: Erase the workdir, if the linker exit prematurely.
      We are currently not able to remove directory on signal. The support
      routines simply ignore directory.

  3. Add one new API lto_codegen_get_files_need_remove().
     Linker and LTO plugin will communicate via this API about which files
    (including directories) need to removed before linker exit.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188188 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoFix PR16797 - Support PHINodes with multiple inputs from the same basic block.
Nadav Rotem [Mon, 12 Aug 2013 17:46:44 +0000 (17:46 +0000)]
Fix PR16797 - Support PHINodes with multiple inputs from the same basic block.
Do not generate new vector values for the same entries because we know that the incoming values
from the same block must be identical.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188185 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoFixes a bug when iterating on paths
Tareq A. Siraj [Mon, 12 Aug 2013 17:10:49 +0000 (17:10 +0000)]
Fixes a bug when iterating on paths

This fixes the incorrect implementation of iterating on file/directory
paths.

Differential Review: http://llvm-reviews.chandlerc.com/D1277

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188183 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoThis patch implements ei and di instructions for mips. Test cases are added.
Vladimir Medic [Mon, 12 Aug 2013 13:07:23 +0000 (13:07 +0000)]
This patch implements ei and di instructions for mips. Test cases are added.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188176 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoFix FileCheck --check-prefix lines.
Tim Northover [Mon, 12 Aug 2013 12:43:26 +0000 (12:43 +0000)]
Fix FileCheck --check-prefix lines.

Various tests had sprung up over the years which had --check-prefix=ABC on the
RUN line, but "CHECK-ABC:" later on. This happened to work before, but was
strictly incorrect. FileCheck is getting stricter soon though.

Patch by Ron Ofir.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188173 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoRemove unused SpecialCaseList constructors
Alexey Samsonov [Mon, 12 Aug 2013 11:50:44 +0000 (11:50 +0000)]
Remove unused SpecialCaseList constructors

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188171 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoAdd SpecialCaseList::createOrDie() factory and use it in sanitizer passes
Alexey Samsonov [Mon, 12 Aug 2013 11:46:09 +0000 (11:46 +0000)]
Add SpecialCaseList::createOrDie() factory and use it in sanitizer passes

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188169 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoRevert r188164: Stablize MCK_Reg ordering in AsmMatcherEmitter
Richard Sandiford [Mon, 12 Aug 2013 10:57:51 +0000 (10:57 +0000)]
Revert r188164: Stablize MCK_Reg ordering in AsmMatcherEmitter

Apparently caused a failure on Darwin

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188166 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoRemove all checking for the various terminfo headers (term.h and
Chandler Carruth [Mon, 12 Aug 2013 10:40:11 +0000 (10:40 +0000)]
Remove all checking for the various terminfo headers (term.h and
curses.h). Finding these headers is next to impossible. For example, on
Debian systems libtinfo-dev provides the terminfo reading library we
want, but *not* term.h. For the header, you have to use libncurses-dev.
And libncursesw-dev provides a *different* term.h in a different
location!

These headers aren't worth it. We want two functions the signatures of
which are clearly spec'ed in sys-v and other documentation. Just declare
them ourselves and call them. This should fix some debian builders and
provide better support for "minimal" debian systems that do want color
autodetection.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188165 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoStablize MCK_Reg ordering in AsmMatcherEmitter
Richard Sandiford [Mon, 12 Aug 2013 10:39:45 +0000 (10:39 +0000)]
Stablize MCK_Reg ordering in AsmMatcherEmitter

clang bootstraps intermittently failed for me due a difference in
the MCK_Reg ordering in ARMGenAsmMatcher.inc.  E.g. in my latest
run the stage 1 and stage 3 versions were the same but the stage 2
one was different (though still functionally correct).  This meant
that the .o comparison failed.

MCK_Regs were assigned by iterating over a std::set< std::set<Record*> >,
and since std::set is sorted lexicographically, the order depended on the
order of the pointer values.  This patch replaces the pointer ordering
with LessRecordByID.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188164 91177308-0d34-0410-b5e6-96231b3b80d8

11 years ago[SystemZ] Use CLC and IPM to implement memcmp
Richard Sandiford [Mon, 12 Aug 2013 10:28:10 +0000 (10:28 +0000)]
[SystemZ] Use CLC and IPM to implement memcmp

For now this is restricted to fixed-length comparisons with a length
in the range [1, 256], as for memcpy() and MVC.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188163 91177308-0d34-0410-b5e6-96231b3b80d8

11 years ago[SystemZ] Add a definition of the CLC instruction
Richard Sandiford [Mon, 12 Aug 2013 10:17:33 +0000 (10:17 +0000)]
[SystemZ] Add a definition of the CLC instruction

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188162 91177308-0d34-0410-b5e6-96231b3b80d8

11 years ago[SystemZ] Add a definition of the IPM instruction
Richard Sandiford [Mon, 12 Aug 2013 10:05:58 +0000 (10:05 +0000)]
[SystemZ] Add a definition of the IPM instruction

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188161 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoTarget a minimal terminfo library rather than necessarily a full curses
Chandler Carruth [Mon, 12 Aug 2013 09:49:17 +0000 (09:49 +0000)]
Target a minimal terminfo library rather than necessarily a full curses
library for color support detection. This still will use a curses
library if that is all we have available on the system. This change
tries to use a smaller subset of the curses library, specifically the
subset that is on some systems split off into a separate library. For
example, if you install ncurses configured --with-tinfo, a 'libtinfo' is
install that provides just the terminfo querying functionality. That
library is now used instead of curses when it is available.

This happens to fix a build error on systems with that library because
when we tried to link ncurses into the binary, we didn't pull tinfo in
as well. =]

It should also provide an easy path for supporting the NetBSD
libterminfo library, but as I don't have access to a NetBSD system I'm
leaving adding that support to those folks.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188160 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoAllow compatible extension attributes for tail calls
Tim Northover [Mon, 12 Aug 2013 09:45:46 +0000 (09:45 +0000)]
Allow compatible extension attributes for tail calls

If the tail-callee and caller give the same bits via the same signext/zeroext
attribute then a tail-call should be allowed, since the extension has already
been done by the callee.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188159 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoRemove global construction. const char* is sufficient here.
Benjamin Kramer [Mon, 12 Aug 2013 09:37:29 +0000 (09:37 +0000)]
Remove global construction. const char* is sufficient here.

No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188158 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoRelax conditions of test added in r188156 to fix it on Windows
Alexey Samsonov [Mon, 12 Aug 2013 09:04:58 +0000 (09:04 +0000)]
Relax conditions of test added in r188156 to fix it on Windows

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188157 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoIntroduce factory methods for SpecialCaseList
Alexey Samsonov [Mon, 12 Aug 2013 07:49:36 +0000 (07:49 +0000)]
Introduce factory methods for SpecialCaseList

Summary:
Doing work in constructors is bad: this change suggests to
call SpecialCaseList::create(Path, Error) instead of
"new SpecialCaseList(Path)". Currently the latter may crash with
report_fatal_error, which is undesirable - sometimes we want to report
the error to user gracefully - for example, if he provides an incorrect
file as an argument of Clang's -fsanitize-blacklist flag.

Reviewers: pcc

Reviewed By: pcc

CC: llvm-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D1327

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188156 91177308-0d34-0410-b5e6-96231b3b80d8

11 years agoFix big-endian handling of integer-to-vector bitcasts in InstCombine
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

11 years agoDon't generate floating point stubs for mips16 code if the function
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

11 years agoAVX-512: Added more tests for BROADCAST
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

11 years agoAVX-512: Added VPERM* instructons and MOV* zmm-to-zmm instructions.
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

11 years agoRe-instate r187323 which fast-tracks promotable allocas as soon as the
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

11 years agoFinish fixing the SSAUpdater-based AllocaPromoter strategy in SROA to cope with
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

11 years agoReformat some bits of AllocaPromoter and simplify the name and type of
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

11 years agoIncorrect JAL instruction attributes caused the optimizer to make a wrong
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

11 years agoRevert r188119 "Kill some duplicated code for removing unreachable BBs."
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

11 years ago[Sparc] Enable xword directive in sparcv9.
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

11 years agoTeach ValueTracking about address spaces
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

11 years agoR600/SI: FMA is faster than fmul and fadd for f64
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

11 years agoR600/SI: Add FMA pattern
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

11 years agoCheck for $PWD in llvm::sys::current_path.
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

11 years ago[objc-arc] Track if we encountered an additive overflow while computing {TopDown...
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

11 years agoKill some duplicated code for removing unreachable BBs.
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

11 years agoDataFlowSanitizer: Remove unreachable BBs so IR continues to verify
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

11 years ago[lit] Remove old ExamplesTests directory.
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

11 years ago[lit] Move ManyTests examples to lit/examples/many-tests.
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

11 years ago[lit] Drop deprecated aliases for lit and old module names.
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

11 years ago[lit] Update lit's own tests to use lit_config and lit package, as appropriate.
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

11 years agoAdd another intrinsic that LLVM gives an incorrect prototype to.
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

11 years ago[stackprotector] Simplify SP Pass so that we emit different fail basic blocks for...
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

11 years agoMark obviously const methods. Also use reference for parameters when possible.
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

11 years ago[docs] Update TestingGuide's note on how to run with Valgrind.
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

11 years ago[lit] Fix typo.
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

11 years agoAdd a overload to CostTable which allows it to infer the size of the table.
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

11 years agoAdd description of function attribute 'minsize' in LangRef.rst.
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

11 years agoCHECK-LABEL-ify tests
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

11 years agoDebugInfo: provide the ability to add members to a class after it has been constructed
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

11 years agoMake directory iterator sentinels free.
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

11 years agoELFObjectFile.h: Silence warning on Windows
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

11 years ago[tests] Update to use lit_config and lit package, as appropriate.
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

11 years agoMake helper static and fix formatting.
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

11 years agoThis fixes the Thumb2 CPS assembly syntax.
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

11 years agoFix assembling of Thumb2 branch instructions.
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

11 years agoRemove byte order mark from source file.
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

11 years agoAdd back missing PPC relocation types.
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

11 years ago[SystemZ] Update README
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

11 years agoTry to unbreak Windows build after r188022
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

11 years agoAdd missing 'v' prefix in front of palignr on one of checks.
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

11 years agoChange asserts at the top of getVectorShuffle to check that LHS and RHS have the...
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

11 years agoSet ISD::FROUND to Expand by default for all types
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

11 years ago[CodeGen] prevent abnormal on invalid attributes
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

11 years agoOptimistically ignore scattered relocations in MachO in RuntimeDyld. This
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

11 years ago[lit] Rename lit.{TestFormats,Util} to their aliased names {formats,util}.
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

11 years ago[lit] Inject the lit specific config object as 'lit_config' when loading config files.
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

11 years ago[lit] Split TestingConfig.frompath() into separate ctor and load methods.
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

11 years ago[lit] Eliminate mustExist parameter from TestingConfig.frompath().
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

11 years ago[lit] Only create config copies when a local config file is present.
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

11 years ago[lit] Eliminate parent argument from TestingConfig.frompath(), which is effectively...
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

11 years agoAdd missing PPC64 relocation types.
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

11 years agoUpdate the CMake build files.
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

11 years agoRevert r185882. This is causing problems with the gold linker and might be better...
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

11 years agoMove hash computation code into a separate class and file.
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

11 years agoMips ELF: MicroMips direct object Little endian support.
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

11 years agollvm isn't C++11 yet :(
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