Benjamin Kramer [Sun, 16 Jun 2013 11:29:48 +0000 (11:29 +0000)]
Silence warning in Release builds.
llvm-svn: 184059
Benjamin Kramer [Sun, 16 Jun 2013 11:09:47 +0000 (11:09 +0000)]
Fix typo in comment. Found by -Wdocumentation.
llvm-svn: 184058
Richard Smith [Sun, 16 Jun 2013 08:00:51 +0000 (08:00 +0000)]
Add tests for C++ DR100-150.
llvm-svn: 184057
Richard Smith [Sun, 16 Jun 2013 05:11:56 +0000 (05:11 +0000)]
Add testcase for DR39 from PR5916.
llvm-svn: 184056
Shankar Easwaran [Sun, 16 Jun 2013 05:06:28 +0000 (05:06 +0000)]
[ELF] add NMAGIC/OMAGIC support
llvm-svn: 184055
Richard Smith [Sun, 16 Jun 2013 05:05:39 +0000 (05:05 +0000)]
PR16339: Don't produce a diagnostic pointing at the whitespace between a '#if'
and a '!defined(X)' if we find a broken header guard. This is suboptimal; we
should point the diagnostic at the 'X' token not the 'if' token, but it fixes
the crash.
llvm-svn: 184054
Larisse Voufo [Sun, 16 Jun 2013 04:34:07 +0000 (04:34 +0000)]
Fixed one buildbot-failure-causing bug...
llvm-svn: 184053
Dmitri Gribenko [Sun, 16 Jun 2013 03:47:57 +0000 (03:47 +0000)]
ArrayRef'ize Sema::CodeComplete*
Patch by Robert Wilhelm.
llvm-svn: 184052
Dmitri Gribenko [Sun, 16 Jun 2013 03:22:56 +0000 (03:22 +0000)]
Put back variable names because they are referenced in the documentation
comment.
llvm-svn: 184051
Rui Ueyama [Sun, 16 Jun 2013 03:07:08 +0000 (03:07 +0000)]
[WinLink] Support /nxcompat command line option.
llvm-svn: 184050
Larisse Voufo [Sat, 15 Jun 2013 20:26:23 +0000 (20:26 +0000)]
Updated status of support for contextual conversion from partial to full
llvm-svn: 184049
Larisse Voufo [Sat, 15 Jun 2013 20:17:46 +0000 (20:17 +0000)]
Updated the support for contextual conversion tweaks (n3323) with a previously overlooked part: implicitly converting array sizes to size_t, rather than contextually converting them to some unique type.
llvm-svn: 184048
Tobias Grosser [Sat, 15 Jun 2013 18:52:49 +0000 (18:52 +0000)]
Fix typo in header guards
Found by the new -Wheader-guard warning.
llvm-svn: 184047
David Blaikie [Sat, 15 Jun 2013 16:02:44 +0000 (16:02 +0000)]
DebugInfo: follow up to 184045 to constrain the tests further to ensure they don't contain +0 offsets
llvm-svn: 184046
David Blaikie [Sat, 15 Jun 2013 15:52:58 +0000 (15:52 +0000)]
DebugInfo: print DBG_VALUE MachineInstrs with [] for deref and drop the offset when it's zero
llvm-svn: 184045
Jakub Staszak [Sat, 15 Jun 2013 12:20:44 +0000 (12:20 +0000)]
Use 0 instead of NULL.
llvm-svn: 184044
Faisal Vali [Sat, 15 Jun 2013 11:54:37 +0000 (11:54 +0000)]
A quick fix to allow return type deduction on member templates
by ensuring DiagnoseUseOfDecl is called both on the found decl and the
decl being used (i.e the specialization in the case of member templates) whenever they are different.
Per the exchange captured in
http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-
20130610/081636.html
a more comprehensive fix that allows both decls to be passed into DiagnoseUseOfDecl is (or should be) forthcoming relatively soon.
llvm-svn: 184043
Benjamin Kramer [Sat, 15 Jun 2013 11:32:09 +0000 (11:32 +0000)]
APInt: Add a fast case for isAllOnesValue.
llvm-svn: 184042
Benjamin Kramer [Sat, 15 Jun 2013 10:55:39 +0000 (10:55 +0000)]
PruneEH: Only merge attribute sets when used. No functionality change.
llvm-svn: 184041
Ed Schouten [Sat, 15 Jun 2013 09:40:14 +0000 (09:40 +0000)]
Emit native implementations of atomic operations on FreeBSD/armv6.
Just like on Linux, FreeBSD/armv6 assumes the system supports
ldrex/strex unconditionally. It is also used by the kernel. We can
therefore enable support for it, like we do on Linux.
While there, change one of the unit tests to explicitly test against
armv5 instead of armv7, as it actually tests whether libcalls are
emitted.
llvm-svn: 184040
Andrew Trick [Sat, 15 Jun 2013 05:46:47 +0000 (05:46 +0000)]
Missing NDEBUGs.
llvm-svn: 184039
Andrew Trick [Sat, 15 Jun 2013 05:39:19 +0000 (05:39 +0000)]
MI-Sched: heuristics using the new latency and machine model.
llvm-svn: 184038
Rui Ueyama [Sat, 15 Jun 2013 05:20:05 +0000 (05:20 +0000)]
[PECOFF] Add a test for r184036.
llvm-svn: 184037
Rui Ueyama [Sat, 15 Jun 2013 05:15:41 +0000 (05:15 +0000)]
[PECOFF] Support .lib archive file.
Archive file in Windows has file extension of ".lib" but the file format is
in fact the same as Unix. It's an ar archive holding multiple .obj files.
The existing archive reader can read .lib files.
llvm-svn: 184036
Rui Ueyama [Sat, 15 Jun 2013 05:04:07 +0000 (05:04 +0000)]
[PECOFF] Handle scope of absolute atom correctly.
llvm-svn: 184035
Andrew Trick [Sat, 15 Jun 2013 04:50:06 +0000 (04:50 +0000)]
Support BufferSize on ProcResGroup for unified MOp schedulers.
And add Sandybridge/Haswell resource buffers.
llvm-svn: 184034
Andrew Trick [Sat, 15 Jun 2013 04:50:02 +0000 (04:50 +0000)]
Update machine models. Specify buffer sizes for OOO processors.
llvm-svn: 184033
Andrew Trick [Sat, 15 Jun 2013 04:49:57 +0000 (04:49 +0000)]
Machine Model: Add MicroOpBufferSize and resource BufferSize.
Replace the ill-defined MinLatency and ILPWindow properties with
with straightforward buffer sizes:
MCSchedMode::MicroOpBufferSize
MCProcResourceDesc::BufferSize
These can be used to more precisely model instruction execution if desired.
Disabled some misched tests temporarily. They'll be reenabled in a few commits.
llvm-svn: 184032
Andrew Trick [Sat, 15 Jun 2013 04:49:49 +0000 (04:49 +0000)]
MI-Sched: Rename IssueCount to CurrMOps.
"Counts" refer to scaled resource counts within a region. CurrMOps is
simply the number of micro-ops to be issue in the current cycle.
llvm-svn: 184031
Andrew Trick [Sat, 15 Jun 2013 04:49:46 +0000 (04:49 +0000)]
MI-Sched: Remove the temporary EnableCopyConstrain flag.
llvm-svn: 184030
Andrew Trick [Sat, 15 Jun 2013 04:49:44 +0000 (04:49 +0000)]
MI-Sched: added tracking of dependent latency for better heuristics.
Heuristics compare the critical path in the scheduled code, called
ExpectedLatency, with the latency of instructions remaining to be
scheduled. There are two ways to look at remaining latency:
(1) Dependent latency includes the latency between unscheduled and
scheduled instructions.
(2) Independent latency is simply the height (bottom-up) or depth
(top-down) of instructions currently in the ready Q.
llvm-svn: 184029
Andrew Trick [Sat, 15 Jun 2013 04:49:42 +0000 (04:49 +0000)]
MI-Sched: DEBUG: print critical resource.
llvm-svn: 184028
Stephen Lin [Sat, 15 Jun 2013 04:03:33 +0000 (04:03 +0000)]
SelectionDAG: slightly refactor DAGCombiner::visitSELECT_CC to avoid redudant checks...
This doesn't really effect performance due to all the relevant calls being transparent but is clearer.
llvm-svn: 184027
David Blaikie [Sat, 15 Jun 2013 00:33:47 +0000 (00:33 +0000)]
Debug Info: Don't print the display name and colon prefix for DEBUG_VALUE comments if the display name is empty
llvm-svn: 184026
Sean Silva [Sat, 15 Jun 2013 00:31:46 +0000 (00:31 +0000)]
[yaml2obj] Move some classes into anonymous namespaces.
llvm-svn: 184025
Richard Smith [Sat, 15 Jun 2013 00:30:29 +0000 (00:30 +0000)]
PR16263: Implement current direction of core issue 1376. Binding a reference to
the result of a cast-to-reference-type lifetime-extends the object to which the
reference inside the cast binds.
This requires us to look for subobject adjustments on both the inside and the
outside of the MaterializeTemporaryExpr when looking for a temporary to
lifetime-extend (which we also need for core issue 616, and possibly 1213).
llvm-svn: 184024
Michael Sartain [Sat, 15 Jun 2013 00:25:52 +0000 (00:25 +0000)]
Fix unitialized variable in AuxVector::GetEntryName() which crashed in AuxVector::DumpToLog
llvm-svn: 184023
Sean Silva [Sat, 15 Jun 2013 00:25:26 +0000 (00:25 +0000)]
[yaml2obj] Add support for sh_link via `Link` key.
llvm-svn: 184022
Tom Stellard [Sat, 15 Jun 2013 00:09:31 +0000 (00:09 +0000)]
R600: Add SI load support for v[24]i32 and store for v2i32
Also add a seperate vector lit test file, since r600 doesn't seem to handle
v2i32 load/store yet, but we can test both for SI.
Patch by: Aaron Watry
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
Signed-off-by: Aaron Watry <awatry@gmail.com>
llvm-svn: 184021
Rafael Espindola [Fri, 14 Jun 2013 23:27:04 +0000 (23:27 +0000)]
Remove empty directory.
llvm-svn: 184020
Rafael Espindola [Fri, 14 Jun 2013 23:25:53 +0000 (23:25 +0000)]
Remove the LLVM specific archive index.
Archive files (.a) can have a symbol table indicating which object
files in them define which symbols. The purpose of this symbol table
is to speed up linking by allowing the linker the read only the .o
files it is actually going to use instead of having to parse every
object's symbol table.
LLVM's archive library currently supports a LLVM specific format for
such table. It is hard to see any value in that now that llvm-ld is
gone:
* System linkers don't use it: GNU ar uses the same plugin as the
linker to create archive files with a regular index. The OS X ar
creates no symbol table for IL files, I assume the linker just parses
all IL files.
* It doesn't interact well with archives having both IL and native objects.
* We probably don't want to be responsible for yet another archive
format variant.
This patch then:
* Removes support for creating and reading such index from lib/Archive.
* Remove llvm-ranlib, since there is nothing left for it to do.
We should in the future add support for regular indexes to llvm-ar for
both native and IL objects. When we do that, llvm-ranlib should be
reimplemented as a symlink to llvm-ar, as it is equivalent to "ar s".
llvm-svn: 184019
Rafael Espindola [Fri, 14 Jun 2013 23:00:27 +0000 (23:00 +0000)]
Fix autohell build.
llvm-svn: 184018
Richard Smith [Fri, 14 Jun 2013 22:27:52 +0000 (22:27 +0000)]
Fix handling of const_cast from prvalue to rvalue reference: such a cast is
only permitted if the source object is of class type, and should materialize a
temporary for the reference to bind to.
llvm-svn: 184017
Tom Stellard [Fri, 14 Jun 2013 22:12:30 +0000 (22:12 +0000)]
R600: Use correct encoding for Vertex Fetch instructions on Cayman
Reviewed-by: Vincent Lejeune<vljn at ovi.com>
llvm-svn: 184016
Tom Stellard [Fri, 14 Jun 2013 22:12:24 +0000 (22:12 +0000)]
R600: Use EXPORT_RAT_INST_STORE_DWORD for stores on Cayman
We were using RAT_INST_STORE_RAW, which seemed to work, but the docs
say this instruction doesn't exist for Cayman, so it's probably safer
to use a documented instruction instead.
Reviewed-by: Vincent Lejeune<vljn at ovi.com>
llvm-svn: 184015
Tom Stellard [Fri, 14 Jun 2013 22:12:19 +0000 (22:12 +0000)]
R600: Factor the instruction encoding out the RAT_WRITE_CACHELESS_eg class
Reviewed-by: Vincent Lejeune<vljn at ovi.com>
llvm-svn: 184014
Tom Stellard [Fri, 14 Jun 2013 22:12:09 +0000 (22:12 +0000)]
R600: Move instruction encoding definitions into a separate .td file
Reviewed-by: Vincent Lejeune<vljn at ovi.com>
llvm-svn: 184013
Matt Arsenault [Fri, 14 Jun 2013 22:04:37 +0000 (22:04 +0000)]
Introduce getSelect usage and use more getSelectCC
llvm-svn: 184012
Matt Arsenault [Fri, 14 Jun 2013 22:04:32 +0000 (22:04 +0000)]
Add getSelect helper function
Patch by Micah Villmow from last year that was reviewed, but never committed
llvm-svn: 184011
Rafael Espindola [Fri, 14 Jun 2013 21:44:06 +0000 (21:44 +0000)]
Revert "sys::Path::GetCurrentDirectory has been removed. Use sys::fs::current_path."
This reverts commit r184004.
This test has some dependency on the behavior of the old function on windows. I
added it back to llvm for now.
llvm-svn: 184010
Rafael Espindola [Fri, 14 Jun 2013 21:41:33 +0000 (21:41 +0000)]
Add GetCurrentDirectory back.
It looks like clang-tools-extra/unittests/cpp11-migrate/TransformTest.cpp
depends on the behaviour of the old one on Windows. Maybe a difference
between GetCurrentDirectoryA and GetCurrentDirectoryW?
llvm-svn: 184009
Stephen Lin [Fri, 14 Jun 2013 21:33:58 +0000 (21:33 +0000)]
SelectionDAG: minor fix to order of operands in comments to match the code
llvm-svn: 184008
Eli Friedman [Fri, 14 Jun 2013 21:28:56 +0000 (21:28 +0000)]
Fix comments referring to non-existent types.
llvm-svn: 184007
Eli Friedman [Fri, 14 Jun 2013 21:14:10 +0000 (21:14 +0000)]
Unify return type checking for functions and ObjC methods. Move all the
random checks for ObjC object return types to SemaType.cpp.
Fixes issue with ObjC method type checking reported on cfe-dev.
llvm-svn: 184006
Richard Smith [Fri, 14 Jun 2013 21:05:24 +0000 (21:05 +0000)]
Suppress the c++11 -Wdeprecated warning for 'register' if it is expanded from a
macro defined in a system header. glibc uses it in macros, apparently.
llvm-svn: 184005
Rafael Espindola [Fri, 14 Jun 2013 20:48:30 +0000 (20:48 +0000)]
sys::Path::GetCurrentDirectory has been removed. Use sys::fs::current_path.
llvm-svn: 184004
Rafael Espindola [Fri, 14 Jun 2013 20:26:58 +0000 (20:26 +0000)]
Replace use of PathV1.h in MCContext.cpp.
GetCurrentDirectory is now unused. Remove it.
llvm-svn: 184003
Tim Northover [Fri, 14 Jun 2013 20:22:21 +0000 (20:22 +0000)]
Mark rematerialized super/sub registers as dead.
When we're rematerializing into a not-quite-right register we already add the
real definition as an imp-def, but we should also be marking the "official"
register as dead, since nothing else is going to use it as a result of this
remat.
Not doing this can affect pressure tracking.
rdar://problem/
14158833
llvm-svn: 184002
Sebastian Pop [Fri, 14 Jun 2013 20:20:43 +0000 (20:20 +0000)]
scop detection: inline and remove isValidBasicBlock
llvm-svn: 184001
Sebastian Pop [Fri, 14 Jun 2013 20:20:39 +0000 (20:20 +0000)]
scop detection: check flag before expensive call
llvm-svn: 184000
JF Bastien [Fri, 14 Jun 2013 19:55:26 +0000 (19:55 +0000)]
Fix frame pointer debug information test
Run the test at O1 instead of O0: ARM FastISel keeps frame pointers around and ignores the flag. The test should now pass on ARM and still passes on x86.See: http://llvm.org/bugs/show_bug.cgi?id=16322
llvm-svn: 183999
Matt Kopec [Fri, 14 Jun 2013 19:41:36 +0000 (19:41 +0000)]
Remove unused Host macro.
Patch from Ed Maste.
llvm-svn: 183998
Rafael Espindola [Fri, 14 Jun 2013 19:41:05 +0000 (19:41 +0000)]
Revert "Cmake: add compiler option in a more idiomatic way"
This reverts commit 183995.
It broke the bots:
http://bb.pgr.jp/builders/cmake-clang-x86_64-linux/builds/9730/steps/build_clang/logs/stdio
llvm-svn: 183997
Rafael Espindola [Fri, 14 Jun 2013 19:38:45 +0000 (19:38 +0000)]
Replace use of PathV1.h in Program.cpp.
llvm-svn: 183996
Arnaud A. de Grandmaison [Fri, 14 Jun 2013 19:26:57 +0000 (19:26 +0000)]
Cmake: add compiler option in a more idiomatic way
llvm-svn: 183995
Eli Bendersky [Fri, 14 Jun 2013 19:14:52 +0000 (19:14 +0000)]
Do not to perform RUN line substitution of llc if that's prefixed by a hypnen
(-llc), similarly to the way it was done for clang and llvmc.
This doesn't affect the upstream llvm tests but helps when developing custom
LLVM-based tools and testing them within the LLVM regression framework.
llvm-svn: 183994
Stephen Lin [Fri, 14 Jun 2013 18:17:35 +0000 (18:17 +0000)]
SelectionDAG: Fix incorrect condition checks in some cases of folding FADD/FMUL combinations; also improve accuracy of comments
llvm-svn: 183993
Rafael Espindola [Fri, 14 Jun 2013 18:12:13 +0000 (18:12 +0000)]
Remove unused argument.
llvm-svn: 183992
Rafael Espindola [Fri, 14 Jun 2013 18:04:50 +0000 (18:04 +0000)]
Fix the build. clang/Driver/OptTable.h was removed.
llvm-svn: 183991
Reid Kleckner [Fri, 14 Jun 2013 17:34:04 +0000 (17:34 +0000)]
Add a dependency on LLVM's option library for clang-tools-extra
r183989 added a dependency on LLVMOption in clangFrontend.
llvm-svn: 183990
Reid Kleckner [Fri, 14 Jun 2013 17:17:23 +0000 (17:17 +0000)]
[Driver] Refactor clang driver to use LLVM's Option library
The big changes are:
- Deleting Driver/(Arg|Opt)*
- Rewriting includes to llvm/Option/ and re-sorting
- 'using namespace llvm::opt' in clang::driver
- Fixing the autoconf build by adding option everywhere
As discussed in the review, this change includes using directives in
header files. I'll make follow up changes to remove those in favor of
name specifiers.
Reviewers: espindola
Differential Revision: http://llvm-reviews.chandlerc.com/D975
llvm-svn: 183989
Rafael Espindola [Fri, 14 Jun 2013 17:11:14 +0000 (17:11 +0000)]
Don't use PathV1.h in GraphWriter.cpp.
llvm-svn: 183988
Rafael Espindola [Fri, 14 Jun 2013 16:43:15 +0000 (16:43 +0000)]
Convert a use of sys::Path::GetTemporaryDirectory.
llvm-svn: 183987
Tobias Grosser [Fri, 14 Jun 2013 16:23:38 +0000 (16:23 +0000)]
Correctly convert APInt to gmp values
Previously this happend to work for integers up to i64, but we got it wrong
for larger numbers. Fix this and add test cases to verify this keeps working.
Reported by: Sven Verdoolaege <skimo at kotnet dot org>
llvm-svn: 183986
Rafael Espindola [Fri, 14 Jun 2013 16:20:18 +0000 (16:20 +0000)]
Remove a use of PathV1.h.
llvm-svn: 183985
Derek Schuff [Fri, 14 Jun 2013 16:15:29 +0000 (16:15 +0000)]
Make PrologEpilogInserter save/restore all callee saved registers
in functions which call __builtin_unwind_init()
__builtin_unwind_init() is an undocumented gcc intrinsic which has this effect,
and is used in libgcc_eh.
Goes part of the way toward fixing PR8541.
llvm-svn: 183984
Rafael Espindola [Fri, 14 Jun 2013 16:09:37 +0000 (16:09 +0000)]
Force c++98 so this works on windows where c++11 is the default.
llvm-svn: 183983
Rafael Espindola [Fri, 14 Jun 2013 15:24:56 +0000 (15:24 +0000)]
Remove a use of PathV1.h.
llvm-svn: 183982
Edwin Vane [Fri, 14 Jun 2013 15:14:20 +0000 (15:14 +0000)]
cpp11-migrate: Fixing section markup
Adhering to LLVM's ReST style for section markup.
llvm-svn: 183981
Rafael Espindola [Fri, 14 Jun 2013 15:12:13 +0000 (15:12 +0000)]
Move PrependMainExecutablePath next to its only user.
llvm-svn: 183980
Rafael Espindola [Fri, 14 Jun 2013 13:59:21 +0000 (13:59 +0000)]
Remove a use of sys::Path.
llvm-svn: 183979
Alexander Kornienko [Fri, 14 Jun 2013 11:46:10 +0000 (11:46 +0000)]
Don't remove backslashes from block comments.
Summary:
Don't remove backslashes from block comments. Previously this
/* \ \ \ \ \ \
*/
would be turned to this:
/*
*/
which spoils some kinds of ASCII-art, people use in their comments. The behavior
was related to handling escaped newlines in block comments inside preprocessor
directives. This patch makes handling it in a more civilized way.
Reviewers: klimek
Reviewed By: klimek
CC: cfe-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D979
llvm-svn: 183978
Alexey Samsonov [Fri, 14 Jun 2013 11:45:36 +0000 (11:45 +0000)]
Properly install LSan interface header, rely on sanitizer header presence in lit tests
llvm-svn: 183977
Sylvestre Ledru [Fri, 14 Jun 2013 11:25:50 +0000 (11:25 +0000)]
Also install cpp11-migrate when built with cmake. Fixes bug #16296
llvm-svn: 183976
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]!
llvm-svn: 183975
Alexey Samsonov [Fri, 14 Jun 2013 11:18:58 +0000 (11:18 +0000)]
[TSan] use InternalMmapVector to store fired suppressions
llvm-svn: 183974
Alexey Samsonov [Fri, 14 Jun 2013 10:07:56 +0000 (10:07 +0000)]
[LSan] Use a typedef for frontier vector
llvm-svn: 183973
Alexey Samsonov [Fri, 14 Jun 2013 09:59:40 +0000 (09:59 +0000)]
[Sanitizer] Rename InternalVector to InternalMmapVector
llvm-svn: 183972
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.
llvm-svn: 183971
Chandler Carruth [Fri, 14 Jun 2013 08:57:18 +0000 (08:57 +0000)]
Fix the warning for divide by zero to be a bit more robust. ;]
Previously, it only ever fired for zeros which formed null pointers.
Now, hilariously, in C++98 this was almost anything. Including tricks
like warning on the divisor in this code:
typedef char c3[3];
size_t f(c3* ptr) {
return (sizeof(ptr) / sizeof(*ptr)) / (size_t)(!(sizeof(ptr) % sizeof(*ptr)));
}
Why the RHS of the outer divide is a null pointer constant is a sordid
tale of sorrow. Anyways, the committee fixed this for C++11 and onward
as part of core isssue 903, and Richard recently implemented this fix
causing the warning to go away here (and elsewhere).
This patch restores the warning here and adds it for numerous other
somewhat obvious gaffes:
int g(int x) {
return x / (int)(0.0);
}
The patch is essentially just using the full power of our constant
folding in Clang to produce the warning, but insisting that it must fold
to an *integer* which is zero so that we don't get false positives
anywhere.
llvm-svn: 183970
Tobias Grosser [Fri, 14 Jun 2013 06:26:33 +0000 (06:26 +0000)]
PoCC: Adjust to recent sys::Path removal
llvm-svn: 183969
Rafael Espindola [Fri, 14 Jun 2013 04:31:19 +0000 (04:31 +0000)]
Remove unused header.
llvm-svn: 183968
Richard Smith [Fri, 14 Jun 2013 03:07:01 +0000 (03:07 +0000)]
Emit initializers for static-storage-duration temporaries as constants where
possible.
llvm-svn: 183967
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.
llvm-svn: 183966
Rui Ueyama [Fri, 14 Jun 2013 02:43:30 +0000 (02:43 +0000)]
[PECOFF] Fix build error on Win64.
llvm-svn: 183965
Rui Ueyama [Fri, 14 Jun 2013 02:30:34 +0000 (02:30 +0000)]
[lld][PECOFF] Read relocation entries.
Summary:
COFFReference class is defined to represent relocation information for
COFFDefinedAtom, as ELFReference for ELFDefinedAtom. ReaderCOFF can now
read relocation entries and create COFFReferences accordingly.
I need to make WriterPECOFF to handle the relocation references created by
the reader, but this patch is already big, so I think it's probably better
to get it reviewed now.
Reviewers: Bigcheese
CC: llvm-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D976
llvm-svn: 183964
Rui Ueyama [Fri, 14 Jun 2013 02:12:06 +0000 (02:12 +0000)]
[docs] Fix wrong clang-format example.
llvm-svn: 183963
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.
llvm-svn: 183962
Greg Clayton [Fri, 14 Jun 2013 00:30:23 +0000 (00:30 +0000)]
Added the ability options to:
- specify the architecture
- specify the platform
- specify if only external symbols should be dumped
- specify if types in the function signatures should be canonicalized
llvm-svn: 183961
Jakub Staszak [Fri, 14 Jun 2013 00:00:13 +0000 (00:00 +0000)]
Move #include from .h to .cpp file.
llvm-svn: 183960