oota-llvm.git
10 years ago[PowerPC] Support @toc@h modifier
Ulrich Weigand [Fri, 21 Jun 2013 14:43:10 +0000 (14:43 +0000)]
[PowerPC] Support @toc@h modifier

This adds the relocation type and other necessary infrastructure
to use the @toc@h modifier in the assembler.

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

10 years ago[PowerPC] Support @h modifier
Ulrich Weigand [Fri, 21 Jun 2013 14:42:49 +0000 (14:42 +0000)]
[PowerPC] Support @h modifier

This adds necessary infrastructure to support the @h modifier.
Note that all required relocation types were already present
(and unused).

This patch provides support for using @h in the assembler;
it would also be possible to now use this feature in code
generated by the compiler, but this is not done yet.

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

10 years ago[PowerPC] Rename some more VK_PPC_ enums
Ulrich Weigand [Fri, 21 Jun 2013 14:42:20 +0000 (14:42 +0000)]
[PowerPC] Rename some more VK_PPC_ enums

This renames more VK_PPC_ enums, to make them more closely reflect
the @modifier string they represent.  This also prepares for adding
a bunch of new VK_PPC_ enums in upcoming patches.

For consistency, some MO_ flags related to VK_PPC_ enums are
likewise renamed.

No change in behaviour.

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

10 years agoadd Function::removeFnAttr()
Kostya Serebryany [Fri, 21 Jun 2013 07:38:09 +0000 (07:38 +0000)]
add Function::removeFnAttr()

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

10 years agoFix an ordering problem in the test.
Manuel Klimek [Fri, 21 Jun 2013 07:23:14 +0000 (07:23 +0000)]
Fix an ordering problem in the test.

The output can be in different orders, which breaks the test in some
situations. I have not yet found out what the root cause of the order
difference is. This fixes our internal build. If it is not the right
solution, feel free to roll back.

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

10 years ago[objcarcopts] Encapsulate PtrState.RRI.ReleaseMetadata into the methods PtrState...
Michael Gottesman [Fri, 21 Jun 2013 07:03:07 +0000 (07:03 +0000)]
[objcarcopts] Encapsulate PtrState.RRI.ReleaseMetadata into the methods PtrState.GetReleaseMetadata() and PtrState.SetReleaseMetadata().

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

10 years ago[objcarcopts] Encapsulate PtrState.RRI.IsTailCallRelease into the method PtrState...
Michael Gottesman [Fri, 21 Jun 2013 07:00:44 +0000 (07:00 +0000)]
[objcarcopts] Encapsulate PtrState.RRI.IsTailCallRelease into the method PtrState.IsTailCallRelease() and PtrState.SetTailCallRelease().

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

10 years ago[obcjarcopts] Encapsulate PtrState.RRI.KnownSafe in the methods PtrState.IsKnownSafe...
Michael Gottesman [Fri, 21 Jun 2013 06:59:02 +0000 (06:59 +0000)]
[obcjarcopts] Encapsulate PtrState.RRI.KnownSafe in the methods PtrState.IsKnownSafe and PtrState.SetKnownSafe.

This is apart of a series of patches to encapsulate PtrState.RRI and
make PtrState.RRI a private field of PtrState.

*NOTE* This is actually the second commit in the patch stream. I should
have put this note on the first such commit r184528.

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

10 years ago[objcarcopts] Some more minor code cleanups/comment additions.
Michael Gottesman [Fri, 21 Jun 2013 06:54:31 +0000 (06:54 +0000)]
[objcarcopts] Some more minor code cleanups/comment additions.

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

10 years ago[objcarcopts] Refactor out the RRInfo merging code from PtrState into RRInfo::Merge.
Michael Gottesman [Fri, 21 Jun 2013 05:42:08 +0000 (05:42 +0000)]
[objcarcopts] Refactor out the RRInfo merging code from PtrState into RRInfo::Merge.

I also added some comments and performed minor code cleanups.

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

10 years agoSLP Vectorizer: do not search for store-chains that are wider than the vector-registe...
Nadav Rotem [Fri, 21 Jun 2013 04:18:13 +0000 (04:18 +0000)]
SLP Vectorizer: do not search for store-chains that are wider than the vector-register size.

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

10 years ago[APFloat] Added missing doxygen module closing statement.
Michael Gottesman [Fri, 21 Jun 2013 04:14:17 +0000 (04:14 +0000)]
[APFloat] Added missing doxygen module closing statement.

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

10 years agoDebugInfo: When asm printing include a '[def]' tag for tag decls that are definitions...
David Blaikie [Fri, 21 Jun 2013 03:41:54 +0000 (03:41 +0000)]
DebugInfo: When asm printing include a '[def]' tag for tag decls that are definitions (& rename the 'fwd' tag to 'decl' for clarity)

This change is version locked with a change in Clang, so expect some
transient buildbot fallout.

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

10 years agoAdd a release note for removing the simplify-libcalls pass.
Meador Inge [Fri, 21 Jun 2013 03:08:23 +0000 (03:08 +0000)]
Add a release note for removing the simplify-libcalls pass.

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

10 years ago[docs] Fix broken link.
Sean Silva [Fri, 21 Jun 2013 01:11:52 +0000 (01:11 +0000)]
[docs] Fix broken link.

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

10 years ago[yaml2obj][ELF] Allow expressing undefined symbols.
Sean Silva [Fri, 21 Jun 2013 01:11:48 +0000 (01:11 +0000)]
[yaml2obj][ELF] Allow expressing undefined symbols.

Previously we unconditionally enforced that section references in
symbols in the YAML had a name that was a section name present in the
object, and linked the references to that section. Now, permit empty
section names (already the default, if the `Section` key is not
provided) to indicate SHN_UNDEF.

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

10 years agoUnbreak bots. Didn't realize this was a C++11 feature.
Sean Silva [Fri, 21 Jun 2013 00:33:01 +0000 (00:33 +0000)]
Unbreak bots. Didn't realize this was a C++11 feature.

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

10 years ago[docs] Fix formatting.
Sean Silva [Fri, 21 Jun 2013 00:27:54 +0000 (00:27 +0000)]
[docs] Fix formatting.

'\n' was displaying as 'n'

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

10 years ago[yaml2obj][ELF] Don't explicitly set `Binding` with STB_*
Sean Silva [Fri, 21 Jun 2013 00:27:50 +0000 (00:27 +0000)]
[yaml2obj][ELF] Don't explicitly set `Binding` with STB_*

Instead, just have 3 sub-lists, one for each of
{STB_LOCAL,STB_GLOBAL,STB_WEAK}.

This allows us to be a lot more explicit w.r.t. the symbol ordering in
the object file, because if we allowed explicitly setting the STB_*
`Binding` key for the symbol, then we might have ended up having to
shuffle STB_LOCAL symbols to the front of the list, which is likely to
cause confusion and potential for error.

Also, this new approach is simpler ;)

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

10 years agoARM: Remove a (false) dependency on the memoryoperand's value as we do not use
Quentin Colombet [Thu, 20 Jun 2013 22:51:44 +0000 (22:51 +0000)]
ARM: Remove a (false) dependency on the memoryoperand's value as we do not use
it at the moment.
This allows to form more paired loads even when stack coloring pass destroys the
memoryoperand's value.

<rdar://problem/13978317>

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

10 years ago[PowerPC] Clean up VK_PPC_TOC... names
Ulrich Weigand [Thu, 20 Jun 2013 22:39:42 +0000 (22:39 +0000)]
[PowerPC] Clean up VK_PPC_TOC... names

This is another minor cleanup; to bring enum names in line
with the corresponding @modifier names, this renames:

  VK_PPC_TOC -> VK_PPC_TOCBASE
  VK_PPC_TOC_ENTRY -> VK_PPC_TOC16

No code change intended.

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

10 years agoUpdate the X86 disassembler to use xacquire and xrelease when appropriate.
Kevin Enderby [Thu, 20 Jun 2013 22:32:18 +0000 (22:32 +0000)]
Update the X86 disassembler to use xacquire and xrelease when appropriate.

This is a bit tricky as the xacquire and xrelease hints use the same bytes,
0xf2 and 0xf3, as the repne and rep prefixes.

Fortunately llvm has different llvm MCInst Opcode enums for rep/xrelease
and repne/xacquire. So to make this work a boolean was added the
InternalInstruction struct as part of the Prefix state which is set with the
added logic in readPrefixes() when decoding an instruction to determine
if these prefix bytes are to be disassembled as xacquire or xrelease.  Then
we let the matcher pick the normal prefix instructionID and we change the
Opcode after that when it is set into the MCInst being created.

rdar://11019859

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

10 years agoAdd another fixme.
Rafael Espindola [Thu, 20 Jun 2013 22:07:53 +0000 (22:07 +0000)]
Add another fixme.

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

10 years agoAdd a fixme.
Rafael Espindola [Thu, 20 Jun 2013 22:04:56 +0000 (22:04 +0000)]
Add a fixme.

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

10 years ago[PowerPC] Minor cleanup in PPCELFObjectWriter::getRelocTypeInner
Ulrich Weigand [Thu, 20 Jun 2013 22:04:40 +0000 (22:04 +0000)]
[PowerPC] Minor cleanup in PPCELFObjectWriter::getRelocTypeInner

This just re-sorts the big switch statement in
PPCELFObjectWriter::getRelocTypeInner to follow
the (numerical) order of the reloc types, and
fixes a couple of whitespace issues.

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

10 years agoRemove last use of PathV1.h from Archive.cpp.
Rafael Espindola [Thu, 20 Jun 2013 22:02:10 +0000 (22:02 +0000)]
Remove last use of PathV1.h from Archive.cpp.

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

10 years agoR600/SI: Expand sub for v2i32 and v4i32 for SI
Tom Stellard [Thu, 20 Jun 2013 21:55:37 +0000 (21:55 +0000)]
R600/SI: Expand sub for v2i32 and v4i32 for SI

Also add a v2i32 test to the existing v4i32 test.

Patch by: Aaron Watry

Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
Signed-off-by: Aaron Watry<awatry@gmail.com>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184482 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoR600/SI: Expand add for v2i32 and v4i32
Tom Stellard [Thu, 20 Jun 2013 21:55:30 +0000 (21:55 +0000)]
R600/SI: Expand add for v2i32 and v4i32

Also add SI tests to existing file and a v2i32 test for both
R600 and SI.

Patch by: Aaron Watry

Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
Signed-off-by: Aaron Watry <awatry@gmail.com>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184481 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoR600: Expand v2i32 load/store instead of custom lowering
Tom Stellard [Thu, 20 Jun 2013 21:55:23 +0000 (21:55 +0000)]
R600: Expand v2i32 load/store instead of custom lowering

The custom lowering causes llc to crash with a segfault.

Ideally, the custom lowering can be fixed, but this allows
programs which load/store v2i32 to work without crashing.

Patch by: Aaron Watry

Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
Signed-off-by: Aaron Watry<awatry@gmail.com>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184480 91177308-0d34-0410-b5e6-96231b3b80d8

10 years agoMinor grammar and word usage fix to 'returned' parameter attribute section of LangRef
Stephen Lin [Thu, 20 Jun 2013 21:55:10 +0000 (21:55 +0000)]
Minor grammar and word usage fix to 'returned' parameter attribute section of LangRef

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

10 years agomake getLastModificationTime const. Move it with the other getters.
Rafael Espindola [Thu, 20 Jun 2013 21:51:49 +0000 (21:51 +0000)]
make getLastModificationTime const. Move it with the other getters.

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

10 years ago[yaml2obj][ELF] Add support for st_value and st_size.
Sean Silva [Thu, 20 Jun 2013 20:59:47 +0000 (20:59 +0000)]
[yaml2obj][ELF] Add support for st_value and st_size.

After this patch, the ELF file produced by
`yaml2obj-elf-symbol-basic.yaml`, when linked and executed on x86_64
(under SysV ABI, obviously; I tested on Linux), produces a working
executable that goes into an infinite loop!

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

10 years ago[yaml2obj][ELF] Allow symbols to reference sections.
Sean Silva [Thu, 20 Jun 2013 20:59:41 +0000 (20:59 +0000)]
[yaml2obj][ELF] Allow symbols to reference sections.

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

10 years ago[yaml2obj][ELF] Add the section name -> section index map to State.
Sean Silva [Thu, 20 Jun 2013 20:59:34 +0000 (20:59 +0000)]
[yaml2obj][ELF] Add the section name -> section index map to State.

One of the key things that the YAML format abstracts over is the use of
section numbers for referencing sections. Instead, textual section names
are used, which yaml2obj then translates into appropriate section
numbers. (Technically ELF doesn't care about section names (only section
numbers), but since this is a testing tool, readability counts).

This simplifies using section names as symbolic references in various
parts of the code. An upcoming commit will use this to allow symbols to
reference sections.

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

10 years agoAdd a setLastModificationAndAccessTime to PathV2.
Rafael Espindola [Thu, 20 Jun 2013 20:56:14 +0000 (20:56 +0000)]
Add a setLastModificationAndAccessTime to PathV2.

With this we can remove the last use of PathV1 from llvm-ar.cpp.

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

10 years ago[mips] Remove Triple:mips from SupportedArchs in MCJIT unittests
Akira Hatanaka [Thu, 20 Jun 2013 20:33:06 +0000 (20:33 +0000)]
[mips] Remove Triple:mips from SupportedArchs in MCJIT unittests

MIPS does not handle multiple relocations correctly, so two tests from the
unittests are expected to fail. These are:
 - MCJITTest.return_global and
 - MCJITTest.multiple_functions.

Until the multiple relocations are fixed, XFAIL the MCJIT unittests for
MIPS. This issue is tracked as Bug 16250.

Patch by Petar Jovanovic.

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

10 years agoUse a raw_fd_ostream instead of a std::ofstream.
Rafael Espindola [Thu, 20 Jun 2013 19:50:39 +0000 (19:50 +0000)]
Use a raw_fd_ostream instead of a std::ofstream.

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

10 years agoRemove the simplify-libcalls pass (finally)
Meador Inge [Thu, 20 Jun 2013 19:48:07 +0000 (19:48 +0000)]
Remove the simplify-libcalls pass (finally)

This commit completely removes what is left of the simplify-libcalls
pass.  All of the functionality has now been migrated to the instcombine
and functionattrs passes.  The following C API functions are now NOPs:

  1. LLVMAddSimplifyLibCallsPass
  2. LLVMPassManagerBuilderSetDisableSimplifyLibCalls

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

10 years ago[yaml2obj][ELF] Start factoring into "single point of truth".
Sean Silva [Thu, 20 Jun 2013 19:11:44 +0000 (19:11 +0000)]
[yaml2obj][ELF] Start factoring into "single point of truth".

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

10 years ago[yaml2obj][ELF] Just let this class own its buffer.
Sean Silva [Thu, 20 Jun 2013 19:11:41 +0000 (19:11 +0000)]
[yaml2obj][ELF] Just let this class own its buffer.

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

10 years agoRemove a trivial use of sys::Path.
Rafael Espindola [Thu, 20 Jun 2013 18:55:44 +0000 (18:55 +0000)]
Remove a trivial use of sys::Path.

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

10 years ago[ReleaseNotes] Added bullet point stating that APFloat::isNormal() is now IEEE 754R...
Michael Gottesman [Thu, 20 Jun 2013 18:47:51 +0000 (18:47 +0000)]
[ReleaseNotes] Added bullet point stating that APFloat::isNormal() is now IEEE 754R-2008 compliant and that the relevant method renaming occurred.

For more information see r184449, r184350, r184356, r184366.

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

10 years agoAdd support for getting the last modification time from a file_status.
Rafael Espindola [Thu, 20 Jun 2013 18:42:04 +0000 (18:42 +0000)]
Add support for getting the last modification time from a file_status.

Use that in llvm-ar.cpp to replace a use of sys::PathWithStatus.

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

10 years ago[APFloat] Rename isIEEENormal => isNormal and remove old isNormal method.
Michael Gottesman [Thu, 20 Jun 2013 18:34:38 +0000 (18:34 +0000)]
[APFloat] Rename isIEEENormal => isNormal and remove old isNormal method.

The old isNormal is already functionally replaced by the method isFiniteNonZero
in r184350 and all references to said method were replaced in LLVM/clang in
r184356/134366.

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

10 years agoUse only the filename when deciding if a file is a duplicate.
Rafael Espindola [Thu, 20 Jun 2013 18:30:37 +0000 (18:30 +0000)]
Use only the filename when deciding if a file is a duplicate.

Matches gnu ar behavior.

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

10 years ago[APFloat] Fix typo in test so we actually test if we handle denormals.
Michael Gottesman [Thu, 20 Jun 2013 18:25:16 +0000 (18:25 +0000)]
[APFloat] Fix typo in test so we actually test if we handle denormals.

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

10 years agoClang-format the SLP vectorizer. No functionality change.
Nadav Rotem [Thu, 20 Jun 2013 17:54:36 +0000 (17:54 +0000)]
Clang-format the SLP vectorizer. No functionality change.

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

10 years agoThis reverts r155000.
Joey Gouly [Thu, 20 Jun 2013 17:42:36 +0000 (17:42 +0000)]
This reverts r155000.
The cdp2 instruction should have the same restrictions as cdp on the
co-processor registers.

VFP instructions on v8/AArch32 share the same encoding space as cdp2.

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

10 years agoSLPVectorization: Add a basic support for cross-basic block slp vectorization.
Nadav Rotem [Thu, 20 Jun 2013 17:41:45 +0000 (17:41 +0000)]
SLPVectorization:  Add a basic support for cross-basic block slp vectorization.

We collect gather sequences when we vectorize basic blocks. Gather sequences are excellent
hints for vectorization of other basic blocks.

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

10 years agoGive this X86-specific test a triple so it's actually X86-specific.
David Blaikie [Thu, 20 Jun 2013 17:31:32 +0000 (17:31 +0000)]
Give this X86-specific test a triple so it's actually X86-specific.

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

10 years ago[PowerPC] Remove unused parameter
Ulrich Weigand [Thu, 20 Jun 2013 16:58:14 +0000 (16:58 +0000)]
[PowerPC] Remove unused parameter

The isDarwin parameter to the llvm::LowerPPCMachineInstrToMCInst
routine is now no longer needed; remove it.

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

10 years agoChange the debug type to match the debug type that is used by vecutils.cpp.
Nadav Rotem [Thu, 20 Jun 2013 16:38:05 +0000 (16:38 +0000)]
Change the debug type to match the debug type that is used by vecutils.cpp.
This change makes it easier to filter debug messages.

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

10 years ago[PowerPC] Add missing build dependency
Ulrich Weigand [Thu, 20 Jun 2013 16:38:00 +0000 (16:38 +0000)]
[PowerPC] Add missing build dependency

This (hopefully) fixes build failures resulting from r184436;
the PowerPC asm parser now depends on PowerPC target expresssions.

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

10 years ago[MC] Support @ variants with directional labels
Ulrich Weigand [Thu, 20 Jun 2013 16:24:17 +0000 (16:24 +0000)]
[MC] Support @ variants with directional labels

The assembler parser common code supports recognizing symbol variants
using the @ modifer.  On PowerPC, it should also be possible to use
(some of) those modifiers with directional labels, like "1f@l".

This patch adds support for accepting symbol variants on directional
labels as well.

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

10 years ago[PowerPC] Optimize @ha/@l constructs
Ulrich Weigand [Thu, 20 Jun 2013 16:23:52 +0000 (16:23 +0000)]
[PowerPC] Optimize @ha/@l constructs

This patch adds support for having the assembler optimize fixups
to constructs like "symbol@ha" or "symbol@l" if "symbol" can be
resolved at assembler time.

This optimization is already present in the PPCMCExpr.cpp code
for handling PPC_HA16/PPC_LO16 target expressions.  However,
those target expression were used only on Darwin targets.

This patch changes target expression code so that they are
usable also with the GNU assembler (using the @ha / @l syntax
instead of the ha16() / lo16() syntax), and changes the
MCInst lowering code to generate those target expressions
where appropriate.

It also changes the asm parser to generate HA16/LO16 target
expressions when parsing assembler source that uses the
@ha / @l modifiers.  The effect is that now the above-
mentioned optimization automatically becomes available
for those situations too.

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

10 years ago[PowerPC] Support compare mnemonics with implied CR0
Ulrich Weigand [Thu, 20 Jun 2013 16:15:12 +0000 (16:15 +0000)]
[PowerPC] Support compare mnemonics with implied CR0

Just like for branch mnemonics (where support was recently added), the
assembler is supposed to support extended mnemonics for the compare
instructions where no condition register is specified explicitly
(and CR0 is assumed implicitly).

This patch adds support for those extended compare mnemonics.

Index: llvm-head/test/MC/PowerPC/ppc64-encoding-ext.s
===================================================================
--- llvm-head.orig/test/MC/PowerPC/ppc64-encoding-ext.s
+++ llvm-head/test/MC/PowerPC/ppc64-encoding-ext.s
@@ -449,21 +449,37 @@

 # CHECK: cmpdi 2, 3, 128                 # encoding: [0x2d,0x23,0x00,0x80]
          cmpdi 2, 3, 128
+# CHECK: cmpdi 0, 3, 128                 # encoding: [0x2c,0x23,0x00,0x80]
+         cmpdi 3, 128
 # CHECK: cmpd 2, 3, 4                    # encoding: [0x7d,0x23,0x20,0x00]
          cmpd 2, 3, 4
+# CHECK: cmpd 0, 3, 4                    # encoding: [0x7c,0x23,0x20,0x00]
+         cmpd 3, 4
 # CHECK: cmpldi 2, 3, 128                # encoding: [0x29,0x23,0x00,0x80]
          cmpldi 2, 3, 128
+# CHECK: cmpldi 0, 3, 128                # encoding: [0x28,0x23,0x00,0x80]
+         cmpldi 3, 128
 # CHECK: cmpld 2, 3, 4                   # encoding: [0x7d,0x23,0x20,0x40]
          cmpld 2, 3, 4
+# CHECK: cmpld 0, 3, 4                   # encoding: [0x7c,0x23,0x20,0x40]
+         cmpld 3, 4

 # CHECK: cmpwi 2, 3, 128                 # encoding: [0x2d,0x03,0x00,0x80]
          cmpwi 2, 3, 128
+# CHECK: cmpwi 0, 3, 128                 # encoding: [0x2c,0x03,0x00,0x80]
+         cmpwi 3, 128
 # CHECK: cmpw 2, 3, 4                    # encoding: [0x7d,0x03,0x20,0x00]
          cmpw 2, 3, 4
+# CHECK: cmpw 0, 3, 4                    # encoding: [0x7c,0x03,0x20,0x00]
+         cmpw 3, 4
 # CHECK: cmplwi 2, 3, 128                # encoding: [0x29,0x03,0x00,0x80]
          cmplwi 2, 3, 128
+# CHECK: cmplwi 0, 3, 128                # encoding: [0x28,0x03,0x00,0x80]
+         cmplwi 3, 128
 # CHECK: cmplw 2, 3, 4                   # encoding: [0x7d,0x03,0x20,0x40]
          cmplw 2, 3, 4
+# CHECK: cmplw 0, 3, 4                   # encoding: [0x7c,0x03,0x20,0x40]
+         cmplw 3, 4

 # FIXME: Trap mnemonics

Index: llvm-head/lib/Target/PowerPC/PPCInstrInfo.td
===================================================================
--- llvm-head.orig/lib/Target/PowerPC/PPCInstrInfo.td
+++ llvm-head/lib/Target/PowerPC/PPCInstrInfo.td
@@ -2201,3 +2201,12 @@ defm : BranchExtendedMnemonic<"ne", 68>;
 defm : BranchExtendedMnemonic<"nu", 100>;
 defm : BranchExtendedMnemonic<"ns", 100>;

+def : InstAlias<"cmpwi $rA, $imm", (CMPWI CR0, gprc:$rA, s16imm:$imm)>;
+def : InstAlias<"cmpw $rA, $rB", (CMPW CR0, gprc:$rA, gprc:$rB)>;
+def : InstAlias<"cmplwi $rA, $imm", (CMPLWI CR0, gprc:$rA, u16imm:$imm)>;
+def : InstAlias<"cmplw $rA, $rB", (CMPLW CR0, gprc:$rA, gprc:$rB)>;
+def : InstAlias<"cmpdi $rA, $imm", (CMPDI CR0, g8rc:$rA, s16imm:$imm)>;
+def : InstAlias<"cmpd $rA, $rB", (CMPD CR0, g8rc:$rA, g8rc:$rB)>;
+def : InstAlias<"cmpldi $rA, $imm", (CMPLDI CR0, g8rc:$rA, u16imm:$imm)>;
+def : InstAlias<"cmpld $rA, $rB", (CMPLD CR0, g8rc:$rA, g8rc:$rB)>;
+

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

10 years agoFix get_magic() handling of short reads.
Evgeniy Stepanov [Thu, 20 Jun 2013 15:56:05 +0000 (15:56 +0000)]
Fix get_magic() handling of short reads.

PR16389

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

10 years agoRemove the transitional GetUniqueID.
Rafael Espindola [Thu, 20 Jun 2013 15:20:11 +0000 (15:20 +0000)]
Remove the transitional GetUniqueID.

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

10 years agoRename fs::GetUniqueID to fs::getUniqueID to match the style guide.
Rafael Espindola [Thu, 20 Jun 2013 15:06:35 +0000 (15:06 +0000)]
Rename fs::GetUniqueID to fs::getUniqueID to match the style guide.

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

10 years agoRemove MSan hack that is no longer needed.
Evgeniy Stepanov [Thu, 20 Jun 2013 14:19:10 +0000 (14:19 +0000)]
Remove MSan hack that is no longer needed.

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

10 years agoFix typos "metatadata" -> "metadata" in the LangRef.
Stefanus Du Toit [Thu, 20 Jun 2013 14:02:44 +0000 (14:02 +0000)]
Fix typos "metatadata" -> "metadata" in the LangRef.

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

10 years agoMake sure ar is creating a new file instead of updating an existing one.
Rafael Espindola [Thu, 20 Jun 2013 13:44:49 +0000 (13:44 +0000)]
Make sure ar is creating a new file instead of updating an existing one.

Should fix the bots that are seeing a corrupted file from a previous run.

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

10 years agoAdd r184420 back, but also handle long file names.
Rafael Espindola [Thu, 20 Jun 2013 13:41:51 +0000 (13:41 +0000)]
Add r184420 back, but also handle long file names.

Original message:

Don't include directory names in archives.

This matches the behavior of both gnu and os x versions of ar.

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

10 years agoRevert "Don't include directory names in archives."
Rafael Espindola [Thu, 20 Jun 2013 13:23:48 +0000 (13:23 +0000)]
Revert "Don't include directory names in archives."

This reverts commit 184420.
Investigating the bot failures.

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

10 years agoDon't include directory names in archives.
Rafael Espindola [Thu, 20 Jun 2013 13:16:44 +0000 (13:16 +0000)]
Don't include directory names in archives.

This matches the behavior of both gnu and os x versions of ar.

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

10 years agoRemove remaining bits of the old LLVM specific symtab handling.
Rafael Espindola [Thu, 20 Jun 2013 13:00:30 +0000 (13:00 +0000)]
Remove remaining bits of the old LLVM specific symtab handling.

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

10 years agoRemove more unused functions.
Rafael Espindola [Thu, 20 Jun 2013 12:45:47 +0000 (12:45 +0000)]
Remove more unused functions.

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

10 years agoRemove unused methods.
Rafael Espindola [Thu, 20 Jun 2013 12:42:00 +0000 (12:42 +0000)]
Remove unused methods.

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

10 years agoUse the simpler sys::fs::exists.
Rafael Espindola [Thu, 20 Jun 2013 12:04:39 +0000 (12:04 +0000)]
Use the simpler sys::fs::exists.

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

10 years agoConvert a use of sys::Path.
Rafael Espindola [Thu, 20 Jun 2013 11:59:19 +0000 (11:59 +0000)]
Convert a use of sys::Path.

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

10 years agoOptimize register parsing for MipsAsmParser. Allow symbolic aliases for FPU registers.
Vladimir Medic [Thu, 20 Jun 2013 11:21:49 +0000 (11:21 +0000)]
Optimize register parsing for MipsAsmParser. Allow symbolic aliases for FPU registers.

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

10 years agoRemove static, because it was messing everything up.
Bill Wendling [Thu, 20 Jun 2013 06:51:06 +0000 (06:51 +0000)]
Remove static, because it was messing everything up.

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

10 years agoDebugInfo: don't use location lists when the location covers the whole function anyway
David Blaikie [Thu, 20 Jun 2013 00:25:24 +0000 (00:25 +0000)]
DebugInfo: don't use location lists when the location covers the whole function anyway

Fix up three tests - one that was relying on abbreviation number,
another relying on a location list in this case (& testing raw asm,
changed that to use dwarfdump on the debug_info now that that's where
the location is), and another which was added in r184368 - exposing a
bug in that fix that is exposed when we emit the location inline rather
than through a location list. Fix that bug while I'm here.

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

10 years ago[Support/CrashRecoveryContext] Make sure CrashRecoveryContext does not clear the...
Argyrios Kyrtzidis [Wed, 19 Jun 2013 22:53:45 +0000 (22:53 +0000)]
[Support/CrashRecoveryContext] Make sure CrashRecoveryContext does not clear the thread-local "CurrentContext"
in the "parent" thread, when we are using CrashRecoveryContext::RunSafelyOnThread.

When using CrashRecoveryContext::RunSafelyOnThread, we would set a CrashRecoveryContextImpl* to a thread-local variable
for the "child" thread, but CrashRecoveryContext would erroneously clear it in the "parent" thread.

The result was that if CrashRecoveryContext::RunSafelyOnThread was called again in the "child" thread it would mess up
crash-recovery for its parent.

A test for this will be added in the clang repository.
rdar://14204560

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

10 years agoThis is now a duplicate.
Bill Wendling [Wed, 19 Jun 2013 22:16:33 +0000 (22:16 +0000)]
This is now a duplicate.

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

10 years agoMake the '==' operator inline.
Bill Wendling [Wed, 19 Jun 2013 22:16:11 +0000 (22:16 +0000)]
Make the '==' operator inline.

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

10 years agoMake this static inline to avoid duplicates.
Bill Wendling [Wed, 19 Jun 2013 22:12:11 +0000 (22:12 +0000)]
Make this static inline to avoid duplicates.

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

10 years agoMake the comparison operators non-member functions.
Bill Wendling [Wed, 19 Jun 2013 22:09:25 +0000 (22:09 +0000)]
Make the comparison operators non-member functions.

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

10 years agoSpelling correction
David Blaikie [Wed, 19 Jun 2013 22:00:13 +0000 (22:00 +0000)]
Spelling correction

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

10 years agoDon't pass in the TargetInstrInfo into the register info object. It doesn't use it.
Bill Wendling [Wed, 19 Jun 2013 21:59:00 +0000 (21:59 +0000)]
Don't pass in the TargetInstrInfo into the register info object. It doesn't use it.

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

10 years agoDebugInfo: PR14763/r183329 correct the location of indirect parameters
David Blaikie [Wed, 19 Jun 2013 21:55:13 +0000 (21:55 +0000)]
DebugInfo: PR14763/r183329 correct the location of indirect parameters

We had been papering over a problem with location info for non-trivial
types passed by value by emitting their type as references (this caused
the debugger to interpret the location information correctly, but broke
the type of the function). r183329 corrected the type information but
lead to the debugger interpreting the pointer parameter as the value -
the debug info describing the location needed an extra dereference.

Use a new flag in DIVariable to add the extra indirection (either by
promoting an existing DW_OP_reg (parameter passed in a register) to
DW_OP_breg + 0 or by adding DW_OP_deref to an existing DW_OP_breg + n
(parameter passed on the stack).

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

10 years ago[APFloat] Changed APFloat::isNormal => APFloat::isFiniteNonZero for all tests in...
Michael Gottesman [Wed, 19 Jun 2013 21:53:45 +0000 (21:53 +0000)]
[APFloat] Changed APFloat::isNormal => APFloat::isFiniteNonZero for all tests in unittests.

I forgot to to do this in r184356. The only references were in APFloatTest.cpp.

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

10 years agoDebugInfo: Specify that a value is stored indirectly
David Blaikie [Wed, 19 Jun 2013 21:52:48 +0000 (21:52 +0000)]
DebugInfo: Specify that a value is stored indirectly

This is a precursor to fix a regression caused by PR14763/r183329 where
the location of a non-trivial pass-by-value parameter ends up
incorrectly referring directly to the parameter (a pointer) rather than
the object pointed to by the pointer.

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

10 years agoSpell correct (s/begining/beginning/)
David Blaikie [Wed, 19 Jun 2013 21:42:05 +0000 (21:42 +0000)]
Spell correct (s/begining/beginning/)

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

10 years agollvm-dwarfdump: Add support for dumping the .debug_loc section
David Blaikie [Wed, 19 Jun 2013 21:37:13 +0000 (21:37 +0000)]
llvm-dwarfdump: Add support for dumping the .debug_loc section

This is a basic implementation - we still don't have any support (that I
know of) for dumping DWARF expressions in a meaningful way, so the
location information itself is just printed as a sequence of bytes as we
do elsewhere.

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

10 years agoAccess the TargetLoweringInfo from the TargetMachine object instead of caching it...
Bill Wendling [Wed, 19 Jun 2013 21:36:55 +0000 (21:36 +0000)]
Access the TargetLoweringInfo from the TargetMachine object instead of caching it. The TLI may change between functions. No functionality change.

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

10 years agoRemove unused function.
Rafael Espindola [Wed, 19 Jun 2013 21:33:52 +0000 (21:33 +0000)]
Remove unused function.

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

10 years ago[MC/DWARF] Generate multiple .debug_line entries for adjacent .loc directives
Ulrich Weigand [Wed, 19 Jun 2013 21:27:27 +0000 (21:27 +0000)]
[MC/DWARF] Generate multiple .debug_line entries for adjacent .loc directives

The compiler occasionally generates multiple .loc directives in a row
(at the same instruction address).  These need to be transformed into
multple actual .debug_line table entries, since they are used to signal
certain information to the debugger (e.g. if the opening brace of a
function body is on the same line as the declaration).

The MCAsmStreamer version of EmitDwarfLocDirective handles this
correctly by emitting a .loc directive every time it is called.
However, the MCObjectStream version simply defaults to recording
the information and emitting only a single table entry later,
e.g. when EmitInstruction is called.

This patch introduces a MCAsmStreamer::EmitDwarfLocDirective
version that emits a line table entry for a .loc directive
that may already be pending before recording the new directive.
(This is similar to how this is handled in GNU as.)

With this patch (and the code alignment factor patch) applied,
I'm now getting identical DWARF .debug sections for all test-suite
object files on PowerPC for the internal and the external assembler.

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

10 years ago[APFloat] Converted all references to APFloat::isNormal => APFloat::isFiniteNonZero.
Michael Gottesman [Wed, 19 Jun 2013 21:23:18 +0000 (21:23 +0000)]
[APFloat] Converted all references to APFloat::isNormal => APFloat::isFiniteNonZero.

Turns out all the references were in llvm and not in clang.

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

10 years agoReally fix the missing header :-(
Rafael Espindola [Wed, 19 Jun 2013 21:21:43 +0000 (21:21 +0000)]
Really fix the missing header :-(

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

10 years agoAdd missing include found by the bots.
Rafael Espindola [Wed, 19 Jun 2013 21:20:41 +0000 (21:20 +0000)]
Add missing include found by the bots.

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

10 years agoRemove last use of PathV1.h from Archive.h
Rafael Espindola [Wed, 19 Jun 2013 21:13:59 +0000 (21:13 +0000)]
Remove last use of PathV1.h from Archive.h

Store the individual fields we need instead of a sys::FileStatus.

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

10 years agoAccess the TargetLoweringInfo from the TargetMachine object instead of caching it...
Bill Wendling [Wed, 19 Jun 2013 21:07:11 +0000 (21:07 +0000)]
Access the TargetLoweringInfo from the TargetMachine object instead of caching it. The TLI may change between functions. No functionality change.

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

10 years agoModified the implementation of fs::GetUniqueID on Windows such that it actually finds...
Aaron Ballman [Wed, 19 Jun 2013 21:03:50 +0000 (21:03 +0000)]
Modified the implementation of fs::GetUniqueID on Windows such that it actually finds a unique identifier for a file.  Also adds unit tests for GetUniqueID.

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

10 years ago[APFloat] Added isFiniteNonZero predicate.
Michael Gottesman [Wed, 19 Jun 2013 21:00:17 +0000 (21:00 +0000)]
[APFloat] Added isFiniteNonZero predicate.

This is the first patch in a series of patches to rename isNormal =>
isFiniteNonZero and isIEEENormal => isNormal. In order to prevent careless
errors on my part the overall plan is:

1. Add the isFiniteNonZero predicate with tests. I can do this in a method
independent of isNormal. (This step is this patch).
2. Convert all references to isNormal with isFiniteNonZero. My plan is to
comment out isNormal locally and continually convert isNormal references =>
isFiniteNonZero until llvm/clang compiles.
3. Remove old isNormal and rename isIEEENormal to isNormal.
4. Look through all of said references from patch 2 and see if we can simplify
them by using the new isNormal.

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

10 years agoAccess the TargetLoweringInfo from the TargetMachine object instead of caching it...
Bill Wendling [Wed, 19 Jun 2013 20:51:24 +0000 (20:51 +0000)]
Access the TargetLoweringInfo from the TargetMachine object instead of caching it. The TLI may change between functions. No functionality change.

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

10 years agoAdd operator!= as the compliment to operator==. This is for a future change.
Bill Wendling [Wed, 19 Jun 2013 20:50:12 +0000 (20:50 +0000)]
Add operator!= as the compliment to operator==. This is for a future change.

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

10 years agoDon't cache the TLI object since we have access to it through TargetMachine already.
Bill Wendling [Wed, 19 Jun 2013 20:32:16 +0000 (20:32 +0000)]
Don't cache the TLI object since we have access to it through TargetMachine already.

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

10 years ago[APFloat] Expose isSmallest/isLargest as public methods.
Michael Gottesman [Wed, 19 Jun 2013 20:31:54 +0000 (20:31 +0000)]
[APFloat] Expose isSmallest/isLargest as public methods.

I have had several requests to expose these two methods as public for various
potential optimizations.

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

10 years agoAllow creation of single-byte MCAtoms.
Ahmed Bougacha [Wed, 19 Jun 2013 20:18:59 +0000 (20:18 +0000)]
Allow creation of single-byte MCAtoms.

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