Commit Graph

87427 Commits

Author SHA1 Message Date
Bill Schmidt a4f898448c This patch removes some nondeterminism from direct object file output
for TLS dynamic models on 64-bit PowerPC ELF.  The default sort routine
for relocations only sorts on the r_offset field; but with TLS, there
can be two relocations with the same r_offset.  For PowerPC, this patch
sorts secondarily on descending r_type, which matches the behavior
expected by the linker.

llvm-svn: 170237
2012-12-14 20:28:38 +00:00
Pedro Artigas b95c53e216 Add more reset methods to make all objects that the backend may use for outputting code have a reset, some are not used but were declared for completeness
llvm-svn: 170227
2012-12-14 18:52:11 +00:00
Shuxin Yang f8e9a5a061 rdar://12753946
Implement rule : "x * (select cond 1.0, 0.0) -> select cond x, 0.0"

llvm-svn: 170226
2012-12-14 18:46:06 +00:00
NAKAMURA Takumi 92eb254c3c [CMake] Move libxml2 stuff from clang to llvm/cmake.
llvm-svn: 170225
2012-12-14 18:30:20 +00:00
Bill Schmidt 9f0b4ec0f5 This patch improves the 64-bit PowerPC InitialExec TLS support by providing
for a wider range of GOT entries that can hold thread-relative offsets.
This matches the behavior of GCC, which was not documented in the PPC64 TLS
ABI.  The ABI will be updated with the new code sequence.

Former sequence:

  ld 9,x@got@tprel(2)
  add 9,9,x@tls

New sequence:

  addis 9,2,x@got@tprel@ha
  ld 9,x@got@tprel@l(9)
  add 9,9,x@tls

Note that a linker optimization exists to transform the new sequence into
the shorter sequence when appropriate, by replacing the addis with a nop
and modifying the base register and relocation type of the ld.

llvm-svn: 170209
2012-12-14 17:02:38 +00:00
Evgeniy Stepanov 9b72e991c6 Fix lint warnings in MemorySanitizer.cpp.
llvm-svn: 170203
2012-12-14 13:48:31 +00:00
Chandler Carruth 58b3cb6cc2 The CellSPU backend is more than experimental, it's dead now...
llvm-svn: 170201
2012-12-14 13:44:05 +00:00
Chandler Carruth 1e83227942 Remove a section that was in 3.1's notes.
Just give a shout if this was actually still important....

llvm-svn: 170200
2012-12-14 13:43:59 +00:00
Evgeniy Stepanov 49175b237d [msan] Origin stores and loads do not need explicit alignment.
Origin address is always 4 byte aligned, and the access type is always i32.

llvm-svn: 170199
2012-12-14 13:43:11 +00:00
Chandler Carruth e6ccc13dbb Remove several entries from the 3.2 release notes that were in the 3.1
release notes already. =]

llvm-svn: 170198
2012-12-14 13:41:02 +00:00
Chandler Carruth 7c5d60c01d Fix the order of these sections of the release notes.
llvm-svn: 170197
2012-12-14 13:37:18 +00:00
Chandler Carruth 108d19e6b5 Add a rough draft of some content about the new SROA. I'll try to proof
read this and clean it up tomorrow, but hopefully it's a good
placeholder.

llvm-svn: 170196
2012-12-14 13:37:17 +00:00
Chandler Carruth b745ac48a6 Delete a long-stale "if its ready" comment. All indications is that this
will look a bit different when we have time to get it ready to turn on,
and we won't likely need this reminder.

llvm-svn: 170195
2012-12-14 13:37:12 +00:00
Chandler Carruth ec86541e9f Provide some actual highlight bullets for Clang.
If anyone has better highlights (I'm obviously biased by the things that
I'm excited about) jump in and add them!

llvm-svn: 170194
2012-12-14 13:22:57 +00:00
Evgeniy Stepanov f18e3af11f [msan] Refactor default shadow propagation and origin tracking.
This change moves the code for default shadow propagaition (handleShadowOr)
and origin tracking (setOriginForNaryOp) into a new builder-like class. Also
gets rid of handleShadowOrBinary.

llvm-svn: 170192
2012-12-14 12:54:18 +00:00
Patrik Hagglund 55d6f47a37 Change TargetLowering::getLoadExtAction to take an MVT, instead of
EVT.

llvm-svn: 170183
2012-12-14 09:05:13 +00:00
Nadav Rotem d3a3c9fdd5 revert r170166 - disable the loop vectorizer.
llvm-svn: 170172
2012-12-14 01:57:00 +00:00
Nadav Rotem 3b606d6fd5 Enable the loop vectorizer.
llvm-svn: 170166
2012-12-14 00:30:34 +00:00
Nadav Rotem b4ea4b3751 Disable the loop vectorizer.
llvm-svn: 170162
2012-12-14 00:02:07 +00:00
Jakob Stoklund Olesen 7bb2f97a90 Use the new MI bundling API in MachineInstrBundle itself.
The new API is higher level than just manipulating the bundle flags
directly, and the setIsInsideBundle() function will disappear soon.

llvm-svn: 170159
2012-12-13 23:23:46 +00:00
Shuxin Yang 97e07bf211 Remove two popcount patterns which we are already able to recognize.
llvm-svn: 170158
2012-12-13 23:16:19 +00:00
Nadav Rotem e5e28b48c8 Enable the Loop Vectorizer by default for O2 and O3. Disable if-conversion by default. I plan to revert this patch later today.
llvm-svn: 170157
2012-12-13 23:11:54 +00:00
David Blaikie 37fefc3f8d Debug Info: add support to mark member variables as artificial
This is the LLVM portion of r170154.

llvm-svn: 170156
2012-12-13 22:43:07 +00:00
Chris Lattner 1117cb2f16 fix comment.
llvm-svn: 170155
2012-12-13 22:34:43 +00:00
Bill Schmidt 9ed4dbcb75 This is another cleanup patch for 64-bit PowerPC TLS processing. I had
some hackery in place that hid my poor use of TblGen, which I've now sorted
out and cleaned up.  No change in observable behavior, so no new test cases.

llvm-svn: 170149
2012-12-13 20:57:10 +00:00
Patrik Hagglund 13abe5ec3c Change TargetLowering::setTypeAction to take an MVT, instead fo EVT.
llvm-svn: 170148
2012-12-13 20:42:43 +00:00
Sean Silva f77e570557 docs: Improve discussion of syntax highlighting.
llvm-svn: 170145
2012-12-13 20:14:25 +00:00
Dmitri Gribenko 90fa0c6194 Documentation: CompilerWriterInfo.rst: update link to Intel documentation
Replaces old Pentium 4 documentation link with generic current documentation link.

Patch by Kevin Schoedel.

llvm-svn: 170144
2012-12-13 20:02:11 +00:00
Tom Stellard 6975d35979 Fix warnings with -DNDEBUG
Patch by: NAKAMURA Takumi

llvm-svn: 170142
2012-12-13 19:38:52 +00:00
Bill Schmidt 732eb91f05 This is just a clean-up patch that simplifies the initial-exec TLS logic by
avoiding use of machine operand flags.  No change in observable behavior, so
no new test cases.

llvm-svn: 170141
2012-12-13 18:45:54 +00:00
Patrik Hagglund 05394352c0 Change TargetLowering::getRepRegClassFor to take an MVT, instead of
EVT.

Accordingly, change RegDefIter to contain MVTs instead of EVTs.

llvm-svn: 170140
2012-12-13 18:45:35 +00:00
Roman Divacky f2bb66b718 Add options to disable building of ARCMT, Rewriter and Static Analyzer
in clang. The default remains to build those.

llvm-svn: 170134
2012-12-13 16:07:19 +00:00
Joel Jones 54594f258d Fix spelling
llvm-svn: 170130
2012-12-13 15:25:07 +00:00
NAKAMURA Takumi 887c8586e2 JITEventListener.h: Use llvm-config.h instead of config.h.
llvm-svn: 170129
2012-12-13 15:03:38 +00:00
NAKAMURA Takumi 38d2b2442f Revert r170020, "Simplify negated bit test", for now.
This assumes (1 << n) is always not zero. Consider n is greater than word size.
Although I know it is undefined, this transforms undefined behavior hidden.

This led clang unexpected behavior with some failures. I will investigate to fix undefined shl in clang.

llvm-svn: 170128
2012-12-13 14:28:16 +00:00
Dmitri Gribenko b70e6b64a5 Add a dummy documentation file to unbreak 'make install'. We need to find how
to package reST-formatted documentation.

llvm-svn: 170126
2012-12-13 13:37:35 +00:00
Eric Christopher a1bbeeca72 Revert "Restore the PHI optimization I accidently removed" temporarily since
it seems to be breaking self-host for a few people and is PR14592.

This reverts commit r170024.

llvm-svn: 170106
2012-12-13 06:48:05 +00:00
Eric Christopher c859c2912f Revert "Add a funciton to get the segment name of a section."
This reverts commit r170095 since it appears to be breaking the bots.

llvm-svn: 170105
2012-12-13 06:36:18 +00:00
Patrik Hagglund 5e6c361bc0 Change TargetLowering::getRegClassFor to take an MVT, instead of EVT.
Accordingly, add helper funtions getSimpleValueType (in parallel to
getValueType) in SDValue, SDNode, and TargetLowering.

This is the first, in a series of patches.

This is the second attempt. In the first attempt (r169837), a few
getSimpleVT() were hoisted too far, detected by bootstrap failures.

llvm-svn: 170104
2012-12-13 06:34:11 +00:00
Rafael Espindola bc8016d062 Add a funciton to get the segment name of a section.
On MachO, sections also have segment names. When a tool looking at a .o file
prints a segment name, this is what they mean. In reality, a .o has only one,
anonymous, segment.

This patch adds a MachO only function to fetch that segment name. I named it
getSectionFinalSegmentName since the main use for the name seems to be informing
the linker with segment this section should go to.

The patch also changes MachOObjectFile::getSectionName to return just the
section name instead of computing SegmentName,SectionName.

llvm-svn: 170095
2012-12-13 04:07:18 +00:00
Rafael Espindola a2c107e661 Missed these calls from the previous rename somehow.
llvm-svn: 170094
2012-12-13 03:42:31 +00:00
Rafael Espindola 319f74cd11 Rename isPowerOfTwo to isKnownToBeAPowerOfTwo.
In a previous thread it was pointed out that isPowerOfTwo is not a very precise
name since it can return false for powers of two if it is unable to show that
they are powers of two.

llvm-svn: 170093
2012-12-13 03:37:24 +00:00
Akira Hatanaka cf9a61b6ee [mips] Do not copy GOT address to register $gp if the function being called has
internal linkage.

llvm-svn: 170092
2012-12-13 03:17:29 +00:00
Michael Ilseman 536cc32ba0 Pattern matching code for intrinsics.
Provides m_Argument that allows matching against a CallSite's specified argument. Provides m_Intrinsic pattern that can be templatized over the intrinsic id and bind/match arguments similarly to other pattern matchers. Implementations provided for 0 to 4 arguments, though it's very simple to extend for more. Also provides example template specialization for bswap (m_BSwap) and example of code cleanup for its use.

llvm-svn: 170091
2012-12-13 03:13:36 +00:00
Eric Christopher cf6d6317cc Remove extraneous debugging code.
llvm-svn: 170090
2012-12-13 03:07:28 +00:00
Eric Christopher 996b2b7ae6 Use default label name for a section in emitting abbreviation
section to help prep some code to be split about.

llvm-svn: 170088
2012-12-13 03:00:38 +00:00
Eric Christopher 80882db88f Add a way of printing out an arbitrary label name for a section
given the section.

llvm-svn: 170087
2012-12-13 03:00:35 +00:00
Michael Ilseman eae9752381 m_CombineOr and m_CombineAnd pattern combinators
llvm-svn: 170086
2012-12-13 02:55:53 +00:00
Hao Liu 10be3b20f1 Define getHostCPUFeatures for ARM Linux platform
llvm-svn: 170085
2012-12-13 02:40:20 +00:00
Akira Hatanaka b2cc8a756f [mips] Delete all floating point instruction classes that are no longer used.
No functionality change.

llvm-svn: 170084
2012-12-13 02:05:02 +00:00