1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-22 18:54:02 +01:00
Commit Graph

85539 Commits

Author SHA1 Message Date
Reed Kotler
edee8fd3c4 Patch for integer multiply, signed/unsigned, long/long long.
llvm-svn: 165322
2012-10-05 18:27:54 +00:00
Benjamin Kramer
38480c67a4 Simplify code, don't or a bool with an uint64_t.
No functionality change.

llvm-svn: 165321
2012-10-05 18:19:44 +00:00
Benjamin Kramer
cf2ff4d8c7 Remove empty file.
llvm-svn: 165320
2012-10-05 17:41:49 +00:00
Chad Rosier
71c792faf5 Remove extraneous semicolon.
llvm-svn: 165319
2012-10-05 17:15:19 +00:00
Micah Villmow
6c3051ff09 Implement TargetData with the DataLayout class, this will allow LLVM projects to transition to DataLayout without loosing functionality.
llvm-svn: 165318
2012-10-05 17:02:14 +00:00
Hemant Kulkarni
a4682fd467 Add ELF program header.
llvm-svn: 165316
2012-10-05 15:16:53 +00:00
Will Schmidt
99e42ee9a3 - Mark the BCC and BLR defs as isCodeGenOnly per error output from
llvm-tblgen -gen-asm-matcher.

 PPCInstrInfo.td |   11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

llvm-svn: 165315
2012-10-05 15:16:11 +00:00
Adhemerval Zanella
6636dee46e Add PowerPC64 definitions for ELF.h
llvm-svn: 165314
2012-10-05 14:32:46 +00:00
NAKAMURA Takumi
da9a939cdb Enable llvm/test/ExecutionEngine/MCJIT also for cygwin.
llvm-svn: 165313
2012-10-05 14:10:29 +00:00
NAKAMURA Takumi
62159aa984 lli: [MCJIT] Suppress "__main" for cygming in LLIMCJITMemoryManager::getPointerToNamedFunction(), like legacy JITMemoryManager's.
CRT's __main (aka premain) invokes global ctors on cygming. See also PR3897.

llvm-svn: 165312
2012-10-05 14:10:23 +00:00
NAKAMURA Takumi
1221fb4686 [CMake] Enhance add_llvm_external_project.
- Substitute hyphen to underscore, s/-/_/g, as the variable name.
  - Additional parameter can be specified as the name of directory.

e.g.) add_llvm_external_project(clang-tools-extra extra)

  - LLVM_EXTERNAL_CLANG_TOOLS_EXTRA_SOURCE_DIR=/path/to/llvm-srcroot/tools/clang/tools/extra, by default.
  - Build directory is in ${CMAKE_CURRENT_BINARY_DIR}/extra

llvm-svn: 165311
2012-10-05 14:10:17 +00:00
NAKAMURA Takumi
4966e9a737 SROA.cpp: Fix a warning, [-Wunused-variable]
llvm-svn: 165309
2012-10-05 13:56:23 +00:00
Rafael Espindola
2ebde0e0fb Convert to unix line endings.
llvm-svn: 165308
2012-10-05 13:32:38 +00:00
Duncan Sands
c2a2d0e40a Move this test a bit later, after the point at which we know that we either
have an alloca or a parameter, since then the alloca test should make sense
to readers, while before it probably appears too specific.  No functionality
change.

llvm-svn: 165306
2012-10-05 07:29:46 +00:00
Bill Wendling
2101754de0 Move methods out-of-line.
The internal representation of the Attributes class will be opaque. All of the
query methods will need to query the opaque class. Therefore, these methods need
to be out-of-line.
No functionality change intended.

llvm-svn: 165305
2012-10-05 06:44:41 +00:00
Bill Wendling
567c9dbb89 Use method to query for attributes.
llvm-svn: 165304
2012-10-05 06:18:50 +00:00
Craig Topper
ba721cd4c0 Remove some encoding bits I forgot to remove from SETB_C16r and SETB_C64r in r165302.
llvm-svn: 165303
2012-10-05 06:11:52 +00:00
Craig Topper
ec537b4c86 Move expansion of SETB_C(8/16/32/64)r from MCInstLower to ExpandPostRAPseudos and mark them as pseudos in the td file.
llvm-svn: 165302
2012-10-05 06:05:15 +00:00
Sean Silva
498ab652ba docs: Add HowToSetUpLLVMStyleRTTI.rst.
This document describes how to set up LLVM-style RTTI for a class
hierarchy. Surprisingly, this was not previously documented.

Also, link it into ProgrammersManual.html.

llvm-svn: 165293
2012-10-05 03:32:01 +00:00
Sean Silva
37c527811e tblgen: Use appropriate LLVM-style RTTI functions.
Use isa<> or cast<> when semantically that is what is happening. Also
some trivial "style" cleanups at fix sites.

llvm-svn: 165292
2012-10-05 03:32:00 +00:00
Sean Silva
f8b271827e tblgen: Replace uses of dynamic_cast<XXXRecTy> with dyn_cast<>.
This is a mechanical change of dynamic_cast<> to dyn_cast<>. A number of
these uses are actually more like isa<> or cast<>, and will be changed
to the semanticaly appropriate one in a future patch.

llvm-svn: 165291
2012-10-05 03:31:58 +00:00
Sean Silva
91f8ba7b59 tblgen: Put dyn_cast<> infrastructure in place for RecTy hierarchy.
llvm-svn: 165290
2012-10-05 03:31:56 +00:00
Eli Friedman
cf7d009911 Make sure to generate the right kind of MDNode for enum forward declarations.
PR14029, LLVM part.

llvm-svn: 165288
2012-10-05 01:49:14 +00:00
Evan Cheng
eb205858ec Follow up to r165072. Try a different approach: only move the load when it's going to be folded into the call. rdar://12437604
llvm-svn: 165287
2012-10-05 01:48:22 +00:00
Chandler Carruth
353476d536 Teach the new SROA a new trick. Now we zap any memcpy or memmoves which
are in fact identity operations. We detect these and kill their
partitions so that even splitting is unaffected by them. This is
particularly important because Clang relies on emitting identity memcpy
operations for struct copies, and these fold away to constants very
often after inlining.

Fixes the last big performance FIXME I have on my plate.

llvm-svn: 165285
2012-10-05 01:29:09 +00:00
Chandler Carruth
4824256a67 Lift the speculation visitor above all the helpers that are targeted at
the rewrite visitor to make the fact that the speculation is completely
independent a bit more clear.

I promise that this is just a cut/paste of the one visitor and adding
the annonymous namespace wrappings. The diff may look completely
preposterous, it does in git for some reason.

llvm-svn: 165284
2012-10-05 01:29:06 +00:00
Bill Wendling
25c1125efc Use -object_path_lto when linking executables if building Apple style.
llvm-svn: 165282
2012-10-05 00:22:46 +00:00
Chad Rosier
21268a786e [ms-inline asm] Add support for parsing [Intel dialect] memory operands that use
segmented registers.  Test case to come.

llvm-svn: 165275
2012-10-04 23:59:38 +00:00
Micah Villmow
3570de6384 Rename the Target specific passes in the DataLayout class to be Target agnostic.
llvm-svn: 165270
2012-10-04 23:01:22 +00:00
Nadav Rotem
2f513f5a29 When merging connsecutive stores, use vectors to store the constant zero.
llvm-svn: 165267
2012-10-04 22:35:15 +00:00
Micah Villmow
1afd9d1e32 Resubmit the copying of TargetData to DataLayout without any changes to the files, this should fix the problems and the changes to rename to DataLayout will come next.
llvm-svn: 165262
2012-10-04 22:08:14 +00:00
Preston Gurd
0256511b5d This patch corrects commit 165126 by using an integer bit width instead of
a pointer to a type, in order to remove the uses of getGlobalContext().

Patch by Tyler Nowicki.

llvm-svn: 165255
2012-10-04 21:33:40 +00:00
Jim Grosbach
3237e667f1 ARM: locate user-defined text sections next to default text.
Make sure functions located in user specified text sections (via the
section attribute) are located together with the default text sections.
Otherwise, for large object files, the relocations for call instructions
are more likely to be out of range. This becomes even more likely in the
presence of LTO.

rdar://12402636

llvm-svn: 165254
2012-10-04 21:33:24 +00:00
Micah Villmow
f89fff64e1 Backing out my changes, something screwed up from my patches, starting over.
llvm-svn: 165253
2012-10-04 21:08:50 +00:00
Micah Villmow
488b90591d Rename TargetData to DataLayout in DataLayout.cpp. This should fix a build failure from r165249 where the wrong version of the file was submitted.
llvm-svn: 165251
2012-10-04 20:49:16 +00:00
Eric Christopher
1441bd0866 Update this a bit more to represent how the prologue should work:
a) frame setup instructions define the prologue
b) we shouldn't change our location mid-stream

Add a test to make sure that the stack adjustment stays within
the prologue.

llvm-svn: 165250
2012-10-04 20:46:14 +00:00
Micah Villmow
46585fd8f6 Create the DataLayout class, as a direct copy of TargetData.
llvm-svn: 165249
2012-10-04 20:44:22 +00:00
Andrew Kaylor
17202594ad Adding MCJIT and MemoryBuffer unit tests
Patch by Daniel Malea.

llvm-svn: 165246
2012-10-04 20:29:44 +00:00
Micah Villmow
7416d8cd69 Accidently checked in the files, only wanted to copy them.
llvm-svn: 165244
2012-10-04 20:08:28 +00:00
Micah Villmow
8e43e61b51 (no commit message)
llvm-svn: 165243
2012-10-04 20:06:07 +00:00
Micah Villmow
20f5058e9d (no commit message)
llvm-svn: 165242
2012-10-04 20:05:12 +00:00
Michael Liao
8d00f5b6e3 Add register encoding support in X86 backend
- Add 'HwEncoding' for X86 registers and call getEncodingValue() to
  retrieve their encoding values.
- This's the first step to adopt new scheme. Furthur revising is onging.

llvm-svn: 165241
2012-10-04 19:50:43 +00:00
Jakub Staszak
9580482ec0 Fix doxygen comment to match parameters' names.
llvm-svn: 165239
2012-10-04 19:10:44 +00:00
Jakub Staszak
4284471198 Add a comment to the commit r165187.
llvm-svn: 165238
2012-10-04 19:08:30 +00:00
Will Schmidt
686f66629c - add tokens to PPCInstrInfo.td and PPCInstr64Bit.td to resolve
"Instruction 'foo' has no tokens" errors during llvm-tblgen
-gen-asm-matcher attempts.  At this time, the added
tokens are "#comment" style rather than the actual mnemonic.  This will
be revisited once the rest of the base asmparser bits get straightened
out for ppc64-elf-linux.

llvm-svn: 165237
2012-10-04 18:14:28 +00:00
Jakob Stoklund Olesen
f49beef26f Get MCSchedModel directly from the subtarget.
Not all targets have itineraries, but the subtarget always has an
MCSchedModel.

llvm-svn: 165236
2012-10-04 17:30:43 +00:00
Jakob Stoklund Olesen
6555de9442 Switch MachineTraceMetrics to the new TargetSchedModel interface.
llvm-svn: 165235
2012-10-04 17:30:40 +00:00
Will Schmidt
beb7420888 test commit / whitespace
llvm-svn: 165233
2012-10-04 16:20:24 +00:00
Benjamin Kramer
bbb006ad7d SimplifyCFG: Enhance the "remove CFG edge that leads to null pointer dereference" optimization to also handle instructions with multiple uses.
We conservatively only check the first use to avoid walking long use chains.
This catches the common case of having both a load and a store to a pointer
supplied by a PHI node.

llvm-svn: 165232
2012-10-04 16:11:49 +00:00
Duncan Sands
0ebee9338d In my recent change to avoid use of underaligned memory I didn't notice that
cpyDest can be mutated in some cases, which would then cause a crash later if
indeed the memory was underaligned.  This brought down several buildbots, so
I guess the underaligned case is much more common than I thought!

llvm-svn: 165228
2012-10-04 13:53:21 +00:00