Rafael Espindola [Fri, 14 Jun 2013 15:24:56 +0000 (15:24 +0000)]
Remove a use of PathV1.h.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183982
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Fri, 14 Jun 2013 15:12:13 +0000 (15:12 +0000)]
Move PrependMainExecutablePath next to its only user.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183980
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Fri, 14 Jun 2013 13:59:21 +0000 (13:59 +0000)]
Remove a use of sys::Path.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183979
91177308-0d34-0410-b5e6-
96231b3b80d8
Amaury de la Vieuville [Fri, 14 Jun 2013 11:21:35 +0000 (11:21 +0000)]
ARM: fix thumb coprocessor instruction with pre-writeback disassembly
was stc2 p0, c0, [r0]!
instead of stc2 p0, c0, [r0,#0]!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183975
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Fri, 14 Jun 2013 09:31:41 +0000 (09:31 +0000)]
X86: cvtpi2ps is just an SSE instruction with MMX operands. It has no AVX equivalent.
Give it the right register format so we can also emit it when AVX is enabled.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183971
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Fri, 14 Jun 2013 04:31:19 +0000 (04:31 +0000)]
Remove unused header.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183968
91177308-0d34-0410-b5e6-
96231b3b80d8
JF Bastien [Fri, 14 Jun 2013 02:49:43 +0000 (02:49 +0000)]
Enable FastISel on ARM for Linux and NaCl, not MCJIT
This is a resubmit of r182877, which was reverted because it broken
MCJIT tests on ARM. The patch leaves MCJIT on ARM as it was before: only
enabled for iOS. I've CC'ed people from the original review and revert.
FastISel was only enabled for iOS ARM and Thumb2, this patch enables it
for ARM (not Thumb2) on Linux and NaCl, but not MCJIT.
Thumb2 support needs a bit more work, mainly around register class
restrictions.
The patch punts to SelectionDAG when doing TLS relocation on non-Darwin
targets. I will fix this and other FastISel-to-SelectionDAG failures in
a separate patch.
The patch also forces FastISel to retain frame pointers: iOS always
keeps them for backtracking (so emitted code won't change because of
this), but Linux was getting much worse code that was incorrect when
using big frames (such as test-suite's lencod). I'll also fix this in a
later patch, it will probably require a peephole so that FastISel
doesn't rematerialize frame pointers back-to-back.
The test changes are straightforward, similar to:
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-
20130513/174279.html
They also add a vararg test that got dropped in that change.
I ran all of lnt test-suite on A15 hardware with --optimize-option=-O0
and all the tests pass. All the tests also pass on x86 make check-all. I
also re-ran the check-all tests that failed on ARM, and they all seem to
pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183966
91177308-0d34-0410-b5e6-
96231b3b80d8
Sean Silva [Fri, 14 Jun 2013 00:38:02 +0000 (00:38 +0000)]
[yaml2obj] Add support for sh_addralign via `AddressAlign` key.
For consistency, change the address in the test case from 0xDEADBEEF to
0xCAFEBABE since 0xCAFEBABE that actually has a 2-byte alignment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183962
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakub Staszak [Fri, 14 Jun 2013 00:00:13 +0000 (00:00 +0000)]
Move #include from .h to .cpp file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183960
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakub Staszak [Thu, 13 Jun 2013 23:53:13 +0000 (23:53 +0000)]
Remove forward declaration of MachineBasicBlock. It is #included anyway.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183958
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakub Staszak [Thu, 13 Jun 2013 23:49:09 +0000 (23:49 +0000)]
#include <climits> instead of <limits.h> in C++ header file.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183957
91177308-0d34-0410-b5e6-
96231b3b80d8
Sean Silva [Thu, 13 Jun 2013 22:20:01 +0000 (22:20 +0000)]
[yaml2obj] Add support for specifying raw section content.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183955
91177308-0d34-0410-b5e6-
96231b3b80d8
Sean Silva [Thu, 13 Jun 2013 22:19:54 +0000 (22:19 +0000)]
[yaml2obj] Add sh_addr via `Address` key.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183954
91177308-0d34-0410-b5e6-
96231b3b80d8
Sean Silva [Thu, 13 Jun 2013 22:19:48 +0000 (22:19 +0000)]
[yaml2obj] Initial ELF section support.
The current functionality is extremely basic and a bit rough around the
edges, but it will flesh out in future commits.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183953
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Thu, 13 Jun 2013 21:38:21 +0000 (21:38 +0000)]
Try to fix the windows build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183950
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Thu, 13 Jun 2013 21:16:58 +0000 (21:16 +0000)]
Don't use PathV1.h in Signals.h.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183947
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Thu, 13 Jun 2013 21:01:17 +0000 (21:01 +0000)]
Add a RemoveFileOnSignal that takes a StringRef.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183943
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Thu, 13 Jun 2013 20:41:00 +0000 (20:41 +0000)]
Don't use PathV1.h in FileUtilities.h.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183941
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Thu, 13 Jun 2013 20:25:38 +0000 (20:25 +0000)]
Avoid using PathV1.h in Program.h.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183940
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Schmidt [Thu, 13 Jun 2013 20:23:34 +0000 (20:23 +0000)]
[PowerPC] Disable fast-isel for existing -O0 tests for PowerPC.
This is a preliminary patch for fast instruction selection on
PowerPC. Code generation can differ between DAG isel and fast isel.
Existing tests that specify -O0 were written to expect DAG isel. Make
this explicit by adding -fast-isel=false to the tests.
In some cases specifying -fast-isel=false produces different code even
when there isn't a fast instruction selector specified. This is
because TM.Options.EnableFastISel = 1 at -O0 whether or not a FastISel
object exists. Thus disabling fast isel can actually produce less
conservative code. Because of this, some of the expected code
generation in the -O0 tests needs to be adjusted.
In particular, handling of function arguments is less conservative
with -fast-isel=false (see isOnlyUsedInEntryBlock() in
SelectionDAGBuilder.cpp). This results in fewer stack accesses and,
in some cases, reduced stack size as uselessly loaded values are no
longer stored back to spill locations in the stack.
No functional change with this patch; test case adjustments only.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183939
91177308-0d34-0410-b5e6-
96231b3b80d8
Tom Stellard [Thu, 13 Jun 2013 20:14:00 +0000 (20:14 +0000)]
R600: Don't try to fix reg class when copying IMPLICIT_DEF to a register
The test case for this is way too complex to be useful as a lit test,
and I was unable to reduce it.
https://bugs.freedesktop.org/show_bug.cgi?id=65438
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183937
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Thu, 13 Jun 2013 20:06:28 +0000 (20:06 +0000)]
Add a version of sys::ExecuteAndWait that takes StringRefs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183934
91177308-0d34-0410-b5e6-
96231b3b80d8
Derek Schuff [Thu, 13 Jun 2013 19:51:17 +0000 (19:51 +0000)]
Fix DeleteDeadVarargs not to crash on functions referenced by BlockAddresses
This pass was assuming that if hasAddressTaken() returns false for a
function, the function's only uses are call sites. That's not true
because there can be references by BlockAddresses too.
Fix the pass to handle this case. Fix
BlockAddress::replaceUsesOfWithOnConstant() to allow a function's type
to be changed by RAUW'ing the function with a bitcast of the recreated
function.
Patch by Mark Seaborn.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183933
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Thu, 13 Jun 2013 19:25:37 +0000 (19:25 +0000)]
Have sys::FindProgramByName return a std::string.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183928
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Thu, 13 Jun 2013 19:06:52 +0000 (19:06 +0000)]
Mips: Remove global set.
Backends shouldn't retain any global state. No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183927
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Kleckner [Thu, 13 Jun 2013 18:12:12 +0000 (18:12 +0000)]
Merge changes to clang's Driver code into LLVM's Option library
This is in preparation for switching the clang driver over to using LLVM's
Option library. Richard Smith introduced most of these changes to the clang
driver in r167638.
Reviewers: espindola on IRC
Differential Revision: http://llvm-reviews.chandlerc.com/D970
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183925
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Thu, 13 Jun 2013 17:32:16 +0000 (17:32 +0000)]
Covert remaining graph viewers from sys::Path to std::string.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183921
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Thu, 13 Jun 2013 17:27:45 +0000 (17:27 +0000)]
Update code for other graph viewing programs too.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183920
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Thu, 13 Jun 2013 17:20:48 +0000 (17:20 +0000)]
Reduce usage of sys::Path in the graph writer.
Now PathV1.h is not needed in GraphWriter.h.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183919
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Thu, 13 Jun 2013 16:56:13 +0000 (16:56 +0000)]
Add a version of DisplayGraph that takes a StringRef.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183915
91177308-0d34-0410-b5e6-
96231b3b80d8
Amaury de la Vieuville [Thu, 13 Jun 2013 16:41:55 +0000 (16:41 +0000)]
ARM: fix B decoding
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183914
91177308-0d34-0410-b5e6-
96231b3b80d8
Amaury de la Vieuville [Thu, 13 Jun 2013 16:40:51 +0000 (16:40 +0000)]
ARM: fix t2am_imm8_offset operand printing for imm=#-0
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183913
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Thu, 13 Jun 2013 16:22:26 +0000 (16:22 +0000)]
Further reduce usage of sys::Path in bugpoint.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183912
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Thu, 13 Jun 2013 15:52:54 +0000 (15:52 +0000)]
Try to fix the build with libstdc++ 4.4.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183909
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Thu, 13 Jun 2013 15:47:11 +0000 (15:47 +0000)]
Reduce sys::Path usage in bugpoint.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183908
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Thu, 13 Jun 2013 15:45:24 +0000 (15:45 +0000)]
X86: Make the cmov aliases work with intel syntax too.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183907
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Kleckner [Thu, 13 Jun 2013 15:27:17 +0000 (15:27 +0000)]
[Support] Fix handle and memory leak for processes that are not waited for
Execute's Data parameter is now optional, so we won't allocate memory
for it on Windows and we'll close the process handle.
The Unix code should probably do something similar to avoid accumulation
of zombie children that haven't been waited on.
Tested on Linux and Windows.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183906
91177308-0d34-0410-b5e6-
96231b3b80d8
Aaron Ballman [Thu, 13 Jun 2013 14:39:07 +0000 (14:39 +0000)]
Zero-initializing variables; fixes a build breakage introduced in r183864.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183904
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 12 Jun 2013 22:19:19 +0000 (22:19 +0000)]
Print ConstantPool entries initialized to Values with WriteAsOperand instead of
operator<< so that functions are printed as just their name instead of as their
entire definition, which is excessively verbose in this context.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183871
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Wed, 12 Jun 2013 21:25:04 +0000 (21:25 +0000)]
[Win] Put ChangeStdinToBinary ChangeStdoutToBinary ChangeStderrToBinary in sys.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183868
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Wed, 12 Jun 2013 21:16:07 +0000 (21:16 +0000)]
s/Void/void.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183866
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Wed, 12 Jun 2013 21:11:50 +0000 (21:11 +0000)]
Attempt at fixing the windows build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183865
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Wed, 12 Jun 2013 20:58:35 +0000 (20:58 +0000)]
Remove the program class.
It was only used to implement ExecuteAndWait and ExecuteNoWait. Expose just
those two functions and make Execute and Wait implementations details.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183864
91177308-0d34-0410-b5e6-
96231b3b80d8
David Blaikie [Wed, 12 Jun 2013 20:57:32 +0000 (20:57 +0000)]
Revert r183854 (PPC: Fix switch warnings from r183841)
Now that the PRED_BAD has been removed, this is failing the Clang
-Werror build due to -Wcovered-switch-default.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183863
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Wed, 12 Jun 2013 20:42:59 +0000 (20:42 +0000)]
Add global versions of some Program static methods.
This is a temporary stepping stone for moving them out of Program.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183860
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Schmidt [Wed, 12 Jun 2013 20:22:24 +0000 (20:22 +0000)]
[PowerPC] Remove PRED_BAD from PPC::Predicate enumeration.
I'm taking David Blaikie's suggestion to use an
Optional<PPC::Predicate> return value instead. That's the right
solution for this problem. Thanks for pointing out that possibility!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183858
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Schmidt [Wed, 12 Jun 2013 19:20:32 +0000 (19:20 +0000)]
[PowerPC] Fix switch warnings from r183841.
Introducing PRED_BAD caused some unexpected warnings that are now
suppressed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183854
91177308-0d34-0410-b5e6-
96231b3b80d8
Rui Ueyama [Wed, 12 Jun 2013 19:10:33 +0000 (19:10 +0000)]
readobj: Dump PE/COFF optional records.
These records are mandatory for executables and are used by the loader.
Reviewers: rafael
CC: llvm-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D939
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183852
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Wed, 12 Jun 2013 16:45:47 +0000 (16:45 +0000)]
Always remove an alias when we rename the target.
Should fix the dragonegg build bots.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183845
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Schmidt [Wed, 12 Jun 2013 16:39:22 +0000 (16:39 +0000)]
[PowerPC] Expose some calling convention functions in PPCISelLowering.h.
This is a preparatory patch for fast-isel support. The instruction
selector will need to access some functions in PPCGenCallingConv.inc,
which in turn requires several helper functions to be defined. These
are currently defined near the only use of PCCGenCallingConv.inc,
inside PPCISelLowering.cpp. This patch moves the declaration of the
functions into the associated header file to provide the needed
visibility.
No functional change intended.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183844
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Wed, 12 Jun 2013 16:35:53 +0000 (16:35 +0000)]
Convert test to FileCheck.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183843
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Wed, 12 Jun 2013 15:37:27 +0000 (15:37 +0000)]
Don't use PathV1 in CommandLine.cpp.
No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183842
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Schmidt [Wed, 12 Jun 2013 15:14:42 +0000 (15:14 +0000)]
Add artificial PRED_BAD to PPC::Predicate enumeration.
Allows returning a PPC::Predicate from a function with a no-predicate
value possible. Preparatory patch for fast-isel on PPC64 ELF. No
behavioral change intended.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183841
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Wed, 12 Jun 2013 15:13:57 +0000 (15:13 +0000)]
Inline Path::isBitcodeFile into only use and remove it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183840
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Wed, 12 Jun 2013 15:07:11 +0000 (15:07 +0000)]
Remove Path::getMagicNumber.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183839
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Wed, 12 Jun 2013 15:04:59 +0000 (15:04 +0000)]
Remove Path::hasMagicNumber.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183838
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Wed, 12 Jun 2013 15:02:39 +0000 (15:02 +0000)]
Remove Path::isAbsolute.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183836
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Wed, 12 Jun 2013 14:47:33 +0000 (14:47 +0000)]
Remove Path::isAbsolute().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183835
91177308-0d34-0410-b5e6-
96231b3b80d8
Ulrich Weigand [Wed, 12 Jun 2013 14:46:54 +0000 (14:46 +0000)]
[MC/DWARF] Support .debug_frame / .debug_line code alignment factors
I've been comparing the object file output of LLVM's integrated
assembler against the external assembler on PowerPC, and one
area where differences still remain are in DWARF sections.
In particular, the GNU assembler generates .debug_frame and
.debug_line sections using a code alignment factor of 4, since
all PowerPC instructions have size 4 and must be aligned to a
multiple of 4. However, current MC code hard-codes a code
alignment factor of 1.
This patch changes this by adding a "minimum instruction alignment"
data element to MCAsmInfo and using this as code alignment factor.
This requires passing a MCContext into MCDwarfLineAddr::Encode
and MCDwarfLineAddr::EncodeAdvanceLoc. Note that one caller,
MCDwarfLineAddr::Write, didn't actually have that information
available. However, it turns out that this routine is in fact
never used in the whole code base, so the patch simply removes
it. If it turns out to be needed again at a later time, it
could be re-added with an updated interface.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183834
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Wed, 12 Jun 2013 14:32:51 +0000 (14:32 +0000)]
Remove Path::getSuffix.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183833
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Wed, 12 Jun 2013 14:16:52 +0000 (14:16 +0000)]
Remove sys::CopyFile.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183831
91177308-0d34-0410-b5e6-
96231b3b80d8
Patrik Hagglund [Wed, 12 Jun 2013 14:15:21 +0000 (14:15 +0000)]
Fix 'gcc -flto' builds for unittest binaries (undefined reference to
`typeinfo for llvm::cl::GenericOptionValue').
Remove an "anchor" method for an abstract class. (This does not
increase the number of vtables.)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183830
91177308-0d34-0410-b5e6-
96231b3b80d8
Ulrich Weigand [Wed, 12 Jun 2013 14:14:18 +0000 (14:14 +0000)]
[PowerPC] Use assembler source in MC tests
A couple of old test cases in test/MC/PowerPC were still using
LLVM IR. Now that we have a working assembler, we can move
them to assembler tests instead:
ppc64-initial-cfa.ll
ppc64-relocs-01.ll
ppc64-tls-relocs-01.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183829
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Wed, 12 Jun 2013 14:11:15 +0000 (14:11 +0000)]
Remove the old file memory mapping functions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183828
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Wed, 12 Jun 2013 13:59:17 +0000 (13:59 +0000)]
Remove Path::createFileOnDisk.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183827
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Wed, 12 Jun 2013 13:55:07 +0000 (13:55 +0000)]
Remove Path::makeExecutableOnDisk.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183826
91177308-0d34-0410-b5e6-
96231b3b80d8
Renato Golin [Wed, 12 Jun 2013 11:35:33 +0000 (11:35 +0000)]
Update Release Process doc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183825
91177308-0d34-0410-b5e6-
96231b3b80d8
Patrik Hagglund [Wed, 12 Jun 2013 08:45:39 +0000 (08:45 +0000)]
Fix gcc -flto build, by adding LLVM_ATTRIBUTE_USED to
LLVMX86CompilationCallback2, called from inline asm.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183824
91177308-0d34-0410-b5e6-
96231b3b80d8
Sean Silva [Wed, 12 Jun 2013 00:01:26 +0000 (00:01 +0000)]
[yaml2obj] Remove fragile test case.
This test case was a "sanity check"/"breathing" test case at first, but
is really fragile, which impairs changes to yaml2obj.
`test/Object/yaml2obj-elf-bits-endian.test` is much more robust and
serves as an adequate sanity check.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183811
91177308-0d34-0410-b5e6-
96231b3b80d8
Sean Silva [Wed, 12 Jun 2013 00:01:22 +0000 (00:01 +0000)]
80-cols
This slipped in during a hasty renaming.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183810
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Tue, 11 Jun 2013 23:41:44 +0000 (23:41 +0000)]
Correct the def registers for the 8bit x86 divide instructions to
match the comments and what the instruction actually does. Noticed
on inspection.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183809
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Tue, 11 Jun 2013 23:41:41 +0000 (23:41 +0000)]
Use the Copy we defined above here.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183808
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Tue, 11 Jun 2013 23:41:38 +0000 (23:41 +0000)]
Formatting.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183807
91177308-0d34-0410-b5e6-
96231b3b80d8
Akira Hatanaka [Tue, 11 Jun 2013 22:36:30 +0000 (22:36 +0000)]
Fix CMakeLists.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183804
91177308-0d34-0410-b5e6-
96231b3b80d8
Akira Hatanaka [Tue, 11 Jun 2013 22:21:44 +0000 (22:21 +0000)]
[mips] Add an IR transformation pass that optimizes calls to sqrt.
The pass emits a call to sqrt that has attribute "read-none". This call will be
converted to an ISD::FSQRT node during DAG construction, which will turn into
a mips native sqrt instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183802
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Tue, 11 Jun 2013 22:21:28 +0000 (22:21 +0000)]
Move PathV2.h to Path.h
Most clients have already been moved from Path V1 to V2. The ones using V1
now include PathV1.h explicitly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183801
91177308-0d34-0410-b5e6-
96231b3b80d8
JF Bastien [Tue, 11 Jun 2013 22:13:46 +0000 (22:13 +0000)]
ARM FastISel fix sext/zext fold
Sign- and zero-extension folding was slightly incorrect because it wasn't checking that the shift on extensions was zero. Further, I recently added AND rd, rn, #255 as a form of 8-bit zero extension, and failed to add the folding code for it.
This patch fixes both issues.
This patch fixes both, and the test should remain the same:
test/CodeGen/ARM/fast-isel-fold.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183794
91177308-0d34-0410-b5e6-
96231b3b80d8
Tobias Grosser [Tue, 11 Jun 2013 21:45:01 +0000 (21:45 +0000)]
Make host ARM CPU feature detection independent of the vendor
For ARM on linux we use /proc/cpuinfo to detect the host CPU's features.
Linux derives these values without ever looking at the vendor of the
specific CPU implementation. Hence, it adds little value, if we parse
the output of /proc/cpuinfo only for certain vendors.
This patch enables us to derive the correct feature flags e.g. for Qualcomm
CPUs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183790
91177308-0d34-0410-b5e6-
96231b3b80d8
Rui Ueyama [Tue, 11 Jun 2013 21:39:48 +0000 (21:39 +0000)]
[PECOFF] Remove COFF header from PE header for simplicity.
COFF header is always present both in executable and in object file. PE header
is present only in executable. So the natural way to handle PE/COFF file is
treating COFF is mandatory header and PE is optional. Current data structre
does not allow it, because PE header includes COFF header. Removing COFF
header will simplify the code to handle PE/COFF files.
Reviewers: Bigcheese
CC: llvm-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D952
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183788
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Tue, 11 Jun 2013 20:00:56 +0000 (20:00 +0000)]
Include PathV1.h in files that use it.
This is preparation for replacing Path.h with PathV2.h.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183782
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Tue, 11 Jun 2013 19:32:57 +0000 (19:32 +0000)]
Remove Path::getDirname.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183780
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Tue, 11 Jun 2013 19:29:48 +0000 (19:29 +0000)]
Remove Path::getBasename.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183779
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Tue, 11 Jun 2013 19:25:17 +0000 (19:25 +0000)]
Remove Path::getLast.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183778
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Tue, 11 Jun 2013 19:18:05 +0000 (19:18 +0000)]
Remove GetDLLSuffix.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183777
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Tue, 11 Jun 2013 19:13:52 +0000 (19:13 +0000)]
Remove GetRootDirectory.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183775
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Tue, 11 Jun 2013 19:08:15 +0000 (19:08 +0000)]
Remove GetUserHomeDirectory.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183773
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Tue, 11 Jun 2013 19:04:13 +0000 (19:04 +0000)]
Don't define LTDL_SHLIBPATH_VAR.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183771
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Tue, 11 Jun 2013 18:58:47 +0000 (18:58 +0000)]
Remove GetSystemLibraryPaths.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183770
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Tue, 11 Jun 2013 18:52:11 +0000 (18:52 +0000)]
Don't define LLVM_LIBDIR, it is not used anymore.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183769
91177308-0d34-0410-b5e6-
96231b3b80d8
Akira Hatanaka [Tue, 11 Jun 2013 18:48:16 +0000 (18:48 +0000)]
[mips] Use function TargetInstrInfo::getRegClass.
No functionality changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183767
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Tue, 11 Jun 2013 18:45:35 +0000 (18:45 +0000)]
Remove Path::GetBitcodeLibraryPaths.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183765
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Tue, 11 Jun 2013 18:41:07 +0000 (18:41 +0000)]
Remove unused FindLibrary function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183764
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Tue, 11 Jun 2013 18:18:02 +0000 (18:18 +0000)]
Remove sys::identifyFileType.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183763
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael Liao [Tue, 11 Jun 2013 18:09:21 +0000 (18:09 +0000)]
Fix documentation on the path to Bitcode reader/writer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183761
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Tue, 11 Jun 2013 18:05:26 +0000 (18:05 +0000)]
Convert another use of sys::identifyFileType.
No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183759
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Tue, 11 Jun 2013 18:01:14 +0000 (18:01 +0000)]
Convert another use of sys::identifyFileType.
No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183758
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Tue, 11 Jun 2013 17:48:06 +0000 (17:48 +0000)]
Change how globalopt handles aliases in llvm.used.
Instead of a custom implementation of replaceAllUsesWith, we just call
replaceAllUsesWith and recreate llvm.used and llvm.compiler-used.
This change is particularity interesting because it makes llvm see
through what clang is doing with static used functions in extern "C"
contexts. With this change, running clang -O2 in
extern "C" {
__attribute__((used)) static void foo() {}
}
produces
@llvm.used = appending global [1 x i8*] [i8* bitcast (void ()* @foo to
i8*)], section "llvm.metadata"
define internal void @foo() #0 {
entry:
ret void
}
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183756
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Tue, 11 Jun 2013 17:28:56 +0000 (17:28 +0000)]
Convert another use of sys::identifyFileType.
No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183754
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Tue, 11 Jun 2013 17:25:45 +0000 (17:25 +0000)]
Port r183666 to identify_magic.
It will be tested in the next commit which moves another user to identify_magic.
Original message:
Fix an out of bounds array access.
We were looking at Magic[5] without checking Length. Since this path would not
return unless Length >= 18 anyway, just move the >= 18 check up.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183753
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Tue, 11 Jun 2013 17:22:12 +0000 (17:22 +0000)]
Fix variable name.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183752
91177308-0d34-0410-b5e6-
96231b3b80d8