[llvm-testresults] buildbot failure in lab.llvm.org on phase3 - tree health

llvmlab-buildmaster at lab.llvm.org llvmlab-buildmaster at lab.llvm.org
Fri Apr 18 23:05:32 PDT 2014


The Buildbot has detected a new failure on builder phase3 - tree health while building lab.llvm.org.
Full details are available at:
 http://lab.llvm.org:8013/builders/phase3%20-%20tree%20health/builds/2335

Buildbot URL: http://lab.llvm.org:8013/

Buildslave for this Build: macpro1

Build Reason: scheduler
Build Source Stamp: 206659
Blamelist: aaronballman,anemet,arsenm,atrick,benlangmuir,bogner,chandlerc,d0k,dblaikie,dexonsmith,eugenis,garious,gribozavr,mcrosier,rnk,samsonov,tfiala,timurrrr,tnorthover,yrnkrn

BUILD FAILED: failed

sincerely,
 -The Buildbot


================================================================================

CHANGES:
Files:
 lib/Target/ARM64/ARM64ISelLowering.cpp
 test/CodeGen/AArch64/neon-copyPhysReg-tuple.ll
 test/CodeGen/AArch64/neon-extract.ll
 test/CodeGen/ARM64/aarch64-neon-copyPhysReg-tuple.ll
On: smooshlab-project
At: Fri 18 Apr 2014 06:00:58
Changed By: tnorthover
Comments: AArch64/ARM64: improve spotting of EXT instructions from VECTOR_SHUFFLE.

We couldn't cope if the first mask element was UNDEF before, which
isn't ideal.Properties: 
  phase_id: r206594-t20140418_070329-b19015



File: lib/msan/tests/CMakeLists.txt
On: smooshlab-project
At: Fri 18 Apr 2014 06:16:41
Changed By: eugenis
Comments: [msan] Add missing quotes.
Properties: 
  phase_id: r206594-t20140418_070329-b19015



File: lib/Analysis/ThreadSafety.cpp
On: smooshlab-project
At: Fri 18 Apr 2014 06:20:41
Changed By: aaronballman
Comments: Updating to use more range-based for loops, nullptr and auto. No functional changes.Properties: 
  phase_id: r206594-t20140418_070329-b19015



Files:
 lib/Target/ARM64/ARM64ISelLowering.cpp
 lib/Target/ARM64/ARM64TargetTransformInfo.cpp
 test/CodeGen/ARM64/aarch64-neon-misc.ll
On: smooshlab-project
At: Fri 18 Apr 2014 06:26:41
Changed By: tnorthover
Comments: AArch64/ARM64: add non-scalar lowering for more FCVT operations.Properties: 
  phase_id: r206594-t20140418_070329-b19015



Files:
 test/CodeGen/AArch64/neon-crypto.ll
 test/CodeGen/AArch64/neon-diagnostics.ll
 test/CodeGen/AArch64/neon-facge-facgt.ll
 test/CodeGen/AArch64/neon-fma.ll
 test/CodeGen/AArch64/neon-fpround_f128.ll
 test/CodeGen/AArch64/neon-frsqrt-frecp.ll
 test/CodeGen/AArch64/neon-halving-add-sub.ll
 test/CodeGen/AArch64/neon-load-store-v1i32.ll
 test/CodeGen/AArch64/neon-max-min-pairwise.ll
 test/CodeGen/AArch64/neon-max-min.ll
 test/CodeGen/AArch64/neon-misc-scalar.ll
 test/CodeGen/AArch64/neon-misc.ll
 test/CodeGen/AArch64/neon-mla-mls.ll
 test/CodeGen/AArch64/neon-mov.ll
 test/CodeGen/AArch64/neon-mul-div.ll
 test/CodeGen/AArch64/neon-or-combine.ll
 test/CodeGen/AArch64/neon-perm.ll
 test/CodeGen/AArch64/neon-rounding-halving-add.ll
 test/CodeGen/AArch64/neon-rounding-shift.ll
 test/CodeGen/AArch64/neon-saturating-add-sub.ll
 test/CodeGen/AArch64/neon-saturating-rounding-shift.ll
 test/CodeGen/AArch64/neon-saturating-shift.ll
 test/CodeGen/ARM64/aarch64-neon-misc.ll
 test/CodeGen/ARM64/aarch64-neon-mul-div.ll
On: smooshlab-project
At: Fri 18 Apr 2014 06:26:42
Changed By: tnorthover
Comments: AArch64/ARM64: port more AArch64 tests to ARM64.Properties: 
  phase_id: r206594-t20140418_070329-b19015



File: lib/asan/tests/asan_test.cc
On: smooshlab-project
At: Fri 18 Apr 2014 06:36:58
Changed By: eugenis
Comments: [asan] Reenable tests that should pass since PR19207 is fixed.
Properties: 
  phase_id: r206594-t20140418_070329-b19015



Files:
 lib/CodeGen/TargetInfo.cpp
 test/CodeGen/arm64-aapcs-arguments.c
On: smooshlab-project
At: Fri 18 Apr 2014 06:56:41
Changed By: tnorthover
Comments: ARM64: make sure the caller is expected to extend in AAPCS.

This is one of those DarwinPCS differences. It'd been caught in
arguments, but not return values.Properties: 
  phase_id: r206594-t20140418_070329-b19015



Files:
 include/clang/Basic/Module.h
 include/clang/Lex/ModuleMap.h
 lib/Basic/Module.cpp
 lib/Lex/ModuleMap.cpp
On: smooshlab-project
At: Fri 18 Apr 2014 07:46:41
Changed By: gribozavr
Comments: Add more constness to module-related APIs
Properties: 
  phase_id: r206614-t20140418_084039-b19018



Files:
 lib/Target/ARM64/ARM64InstrInfo.td
 test/CodeGen/AArch64/neon-shl-ashr-lshr.ll
 test/CodeGen/ARM64/vshift.ll
On: smooshlab-project
At: Fri 18 Apr 2014 08:06:42
Changed By: tnorthover
Comments: ARM64: add extra NEG pattern.Properties: 
  phase_id: r206614-t20140418_084039-b19018



Files:
 lib/Target/ARM64/ARM64AsmPrinter.cpp
 test/CodeGen/ARM64/subsections.ll
On: smooshlab-project
At: Fri 18 Apr 2014 08:06:42
Changed By: tnorthover
Comments: ARM64: don't emit .subsections_via_symbols on ELF.

Part of PR19455.Properties: 
  phase_id: r206614-t20140418_084039-b19018



Files:
 lib/Target/ARM64/ARM64TargetMachine.cpp
 test/CodeGen/ARM64/collect-loh.ll
On: smooshlab-project
At: Fri 18 Apr 2014 08:06:42
Changed By: tnorthover
Comments: ARM64: disable generation of .loh directives outside MachO.

Part of PR19455.Properties: 
  phase_id: r206614-t20140418_084039-b19018



Files:
 include/llvm/ADT/ScopedHashTable.h
 include/llvm/ADT/StringMap.h
 include/llvm/Support/Allocator.h
On: smooshlab-project
At: Fri 18 Apr 2014 08:06:42
Changed By: d0k
Comments: Allocator: Remove ReferenceAdder hack.

This was a workaround for compilers that had issues with reference
collapsing.Properties: 
  phase_id: r206614-t20140418_084039-b19018



Files:
 test/CodeGen/AArch64/neon-shift-left-long.ll
 test/CodeGen/AArch64/neon-shift.ll
 test/CodeGen/AArch64/neon-simd-ldst-multi-elem.ll
 test/CodeGen/AArch64/neon-simd-ldst-one.ll
 test/CodeGen/AArch64/neon-simd-ldst.ll
 test/CodeGen/ARM64/aarch64-neon-simd-ldst-one.ll
On: smooshlab-project
At: Fri 18 Apr 2014 08:06:42
Changed By: tnorthover
Comments: AArch64/ARM64: add more NEON tests.

Mostly no testing this time, since they were just wrangling
target-specific intrinsics.Properties: 
  phase_id: r206614-t20140418_084039-b19018



File: test/CodeGenCXX/microsoft-abi-vtables-multiple-nonvirtual-inheritance-no-thunks.cpp
On: smooshlab-project
At: Fri 18 Apr 2014 08:20:41
Changed By: timurrrr
Comments: Split out the no-thunk multiple inheritance tests

Also, intentionally duplicate base class definitions per test, so it's easier to copy tests while debugging failuresProperties: 
  phase_id: r206614-t20140418_084039-b19018



Files:
 include/llvm/ADT/ArrayRef.h
 include/llvm/ADT/StringRef.h
 include/llvm/CodeGen/MachineValueType.h
On: smooshlab-project
At: Fri 18 Apr 2014 09:46:41
Changed By: d0k
Comments: Make the copy member of StringRef/ArrayRef generic wrt allocators.

Doesn't make sense to restrict this to BumpPtrAllocator. While there
replace an explicit loop with std::equal. Some standard libraries know
how to compile this down to a ::memcmp call if possible.Properties: 
  phase_id: r206635-t20140418_125842-b19030



Files:
 include/llvm/MC/MCModule.h
 include/llvm/Support/LineIterator.h
On: smooshlab-project
At: Fri 18 Apr 2014 09:56:41
Changed By: d0k
Comments: Add some missing includes for various standard library implementations.Properties: 
  phase_id: r206635-t20140418_125842-b19030



File: include/llvm/Support/LineIterator.h
On: smooshlab-project
At: Fri 18 Apr 2014 10:06:41
Changed By: d0k
Comments: LineIterator: Add DataTypes.h for int64_t on MSVC.Properties: 
  phase_id: r206635-t20140418_125842-b19030



File: source/Plugins/Process/POSIX/POSIXThread.cpp
On: smooshlab-project
At: Fri 18 Apr 2014 10:10:41
Changed By: tfiala
Comments: Address hung tests in Linux.

Follow-up patch coming to address test failures exposed by this change.

Properties: 
  phase_id: r206635-t20140418_125842-b19030



File: test/functionalities/data-formatter/ptr_ref_typedef/TestPtrRef2Typedef.py
On: smooshlab-project
At: Fri 18 Apr 2014 10:16:58
Changed By: tfiala
Comments: Fix TestPtrRef2Typedef with new const adornment on expected ref type.
Properties: 
  phase_id: r206635-t20140418_125842-b19030



File: test/functionalities/attach_resume/TestAttachResume.py
On: smooshlab-project
At: Fri 18 Apr 2014 10:16:59
Changed By: tfiala
Comments: Marked TestAttachResume.process_attach_continue_interrupt_detach() as XFAIL on Linux per pr19478.
Properties: 
  phase_id: r206635-t20140418_125842-b19030



Files:
 test/CodeGen/SPARC/2011-01-19-DelaySlot.ll
 test/CodeGen/X86/atom-bypass-slow-division-64.ll
On: smooshlab-project
At: Fri 18 Apr 2014 10:30:41
Changed By: dexonsmith
Comments: Add some target triples for better determinism

These tests were failing on some buildbots after r206548 (reverted in
r206556), but passing locally.

They were missing target triples, so maybe that's the problem?Properties: 
  phase_id: r206635-t20140418_125842-b19030



Files:
 include/llvm/Analysis/BlockFrequencyInfoImpl.h
 lib/Analysis/BlockFrequencyInfo.cpp
 lib/Analysis/BlockFrequencyInfoImpl.cpp
 lib/Analysis/CMakeLists.txt
 lib/CodeGen/MachineBlockFrequencyInfo.cpp
 test/Analysis/BlockFrequencyInfo/bad_input.ll
 test/Analysis/BlockFrequencyInfo/basic.ll
 test/Analysis/BlockFrequencyInfo/double_exit.ll
 test/Analysis/BlockFrequencyInfo/irreducible.ll
 test/Analysis/BlockFrequencyInfo/loop_with_branch.ll
 test/Analysis/BlockFrequencyInfo/nested_loop_with_branches.ll
 test/CodeGen/XCore/llvm-intrinsics.ll
On: smooshlab-project
At: Fri 18 Apr 2014 10:30:42
Changed By: dexonsmith
Comments: Reapply "blockfreq: Rewrite BlockFrequencyInfoImpl"

This reverts commit r206556, effectively reapplying commit r206548 and
its fixups in r206549 and r206550.

In an intervening commit I've added target triples to the tests that
were failing remotely [1] (but passing locally).  I'm hoping the mystery
is solved?  I'll revert this again if the tests are still failing
remotely.

[1]: http://bb.pgr.jp/builders/ninja-x64-msvc-RA-centos6/builds/1816Properties: 
  phase_id: r206635-t20140418_125842-b19030



Files:
 lib/DebugInfo/DWARFDebugAranges.cpp
 lib/DebugInfo/DWARFDebugInfoEntry.cpp
 lib/DebugInfo/DWARFDebugInfoEntry.h
 lib/DebugInfo/DWARFDebugRangeList.cpp
 lib/DebugInfo/DWARFDebugRangeList.h
 lib/DebugInfo/DWARFUnit.cpp
 lib/DebugInfo/DWARFUnit.h
On: smooshlab-project
At: Fri 18 Apr 2014 10:36:41
Changed By: samsonov
Comments: [DWARF parser] Refactor fetching DIE address ranges.

Add a helper method to get address ranges specified in a DIE
(either by DW_AT_low_pc/DW_AT_high_pc, or by DW_AT_ranges). Use it
to untangle and simplify the code.

No functionality change.
Properties: 
  phase_id: r206635-t20140418_125842-b19030



File: lib/CodeGen/ScheduleDAGInstrs.cpp
On: smooshlab-project
At: Fri 18 Apr 2014 10:46:41
Changed By: atrick
Comments: Better comments to explain buffered/unbuffered processor resources.Properties: 
  phase_id: r206635-t20140418_125842-b19030



File: lib/Analysis/BlockFrequencyInfoImpl.cpp
On: smooshlab-project
At: Fri 18 Apr 2014 10:46:41
Changed By: dexonsmith
Comments: Fixing MSVC after r206622?Properties: 
  phase_id: r206635-t20140418_125842-b19030



File: utils/llvm-build/llvmbuild/main.py
On: smooshlab-project
At: Fri 18 Apr 2014 10:50:41
Changed By: garious
Comments: Fixed llvm-build when no targets are enabledProperties: 
  phase_id: r206635-t20140418_125842-b19030



Files:
 include/llvm/Analysis/BlockFrequencyInfoImpl.h
 lib/Analysis/BlockFrequencyInfo.cpp
 lib/Analysis/BlockFrequencyInfoImpl.cpp
 lib/Analysis/CMakeLists.txt
 lib/CodeGen/MachineBlockFrequencyInfo.cpp
 test/Analysis/BlockFrequencyInfo/bad_input.ll
 test/Analysis/BlockFrequencyInfo/basic.ll
 test/Analysis/BlockFrequencyInfo/double_exit.ll
 test/Analysis/BlockFrequencyInfo/irreducible.ll
 test/Analysis/BlockFrequencyInfo/loop_with_branch.ll
 test/Analysis/BlockFrequencyInfo/nested_loop_with_branches.ll
 test/CodeGen/XCore/llvm-intrinsics.ll
On: smooshlab-project
At: Fri 18 Apr 2014 11:06:41
Changed By: dexonsmith
Comments: Revert "blockfreq: Rewrite BlockFrequencyInfoImpl" (#2)

This reverts commit r206622 and the MSVC fixup in r206626.

Apparently the remotely failing tests are still failing, despite my
attempt to fix the nondeterminism in r206621.Properties: 
  phase_id: r206635-t20140418_125842-b19030



File: include/llvm/ADT/StringExtras.h
On: smooshlab-project
At: Fri 18 Apr 2014 11:20:41
Changed By: arsenm
Comments: Fix uint -> size_t conversion warning.

This warning is disabled for the LLVM build,
but external users of the header can still
run into this.

Patch by Ke BaiProperties: 
  phase_id: r206635-t20140418_125842-b19030



File: include/llvm/Bitcode/LLVMBitCodes.h
On: smooshlab-project
At: Fri 18 Apr 2014 11:30:41
Changed By: rnk
Comments: Update comment in LLVMBitCodes.h to reflect the actual bitcode recordProperties: 
  phase_id: r206635-t20140418_125842-b19030



Files:
 include/llvm/MC/MCAssembler.h
 lib/MC/ELFObjectWriter.cpp
 lib/MC/MCMachOStreamer.cpp
 lib/MC/MachObjectWriter.cpp
 lib/MC/WinCOFFObjectWriter.cpp
On: smooshlab-project
At: Fri 18 Apr 2014 11:36:41
Changed By: dblaikie
Comments: Add range access to MCAssembler's symbol collection.Properties: 
  phase_id: r206635-t20140418_125842-b19030



File: lib/DebugInfo/DWARFDebugInfoEntry.cpp
On: smooshlab-project
At: Fri 18 Apr 2014 12:10:41
Changed By: d0k
Comments: DebugInfo: Remove some initializer lists to make MSVC happy again.Properties: 
  phase_id: r206635-t20140418_125842-b19030



Files:
 lib/Target/X86/X86ISelLowering.cpp
 test/CodeGen/X86/vec_shuffle-41.ll
On: smooshlab-project
At: Fri 18 Apr 2014 12:56:41
Changed By: anemet
Comments: [X86] Improve buildFromShuffleMostly for AVX

For a 256-bit BUILD_VECTOR consisting mostly of shuffles of 256-bit vectors,
both the BUILD_VECTOR and its operands may need to be legalized in multiple
steps.  Consider:

(v8f32 (BUILD_VECTOR (extract_vector_elt (v8f32 %vreg0,) Constant<1>),
                     (extract_vector_elt %vreg0, Constant<2>),
                     (extract_vector_elt %vreg0, Constant<3>),
                     (extract_vector_elt %vreg0, Constant<4>),
                     (extract_vector_elt %vreg0, Constant<5>),
                     (extract_vector_elt %vreg0, Constant<6>),
                     (extract_vector_elt %vreg0, Constant<7>),
                     %vreg1))

a. We can't build a 256-bit vector efficiently so, we need to split it into
two 128-bit vecs and combine them with VINSERTX128.

b. Operands like (extract_vector_elt (v8f32 %vreg0), Constant<7>) needs to be
split into a VEXTRACTX128 and a further extract_vector_elt from the
resulting 128-bit vector.

c. The extract_vector_elt from b. is lowered into a shuffle to the first
element and a movss.

Depending on the order in which we legalize the BUILD_VECTOR and its
operands[1], buildFromShuffleMostly may be faced with:

(v4f32 (BUILD_VECTOR (extract_vector_elt
                      (vector_shuffle<1,u,u,u> (extract_subvector %vreg0, Constant<4>), undef),
                      Constant<0>),
                     (extract_vector_elt
                      (vector_shuffle<2,u,u,u> (extract_subvector %vreg0, Constant<4>), undef),
                      Constant<0>),
                     (extract_vector_elt
                      (vector_shuffle<3,u,u,u> (extract_subvector %vreg0, Constant<4>), undef),
                      Constant<0>),
                     %vreg1))

In order to figure out the underlying vector and their identity we need to see
through the shuffles.

[1] Note that the order in which operations and their operands are legalized is
only guaranteed in the first iteration of LegalizeDAG.

Fixes <rdar://problem/16296956>Properties: 
  phase_id: r206635-t20140418_125842-b19030



Files:
 include/llvm/ADT/ImmutableSet.h
 lib/Analysis/BasicAliasAnalysis.cpp
 lib/Analysis/CostModel.cpp
On: smooshlab-project
At: Fri 18 Apr 2014 12:56:41
Changed By: d0k
Comments: Remove a couple of redundant copies of SmallVector::operator==.

No functionality change.Properties: 
  phase_id: r206635-t20140418_125842-b19030



Files:
 include/clang/Basic/OnDiskHashTable.h
 include/clang/Serialization/ASTReader.h
 include/clang/Serialization/Module.h
 lib/Frontend/CacheTokens.cpp
 lib/Lex/PTHLexer.cpp
 lib/Serialization/ASTReaderInternals.h
 lib/Serialization/ASTWriter.cpp
 lib/Serialization/GlobalModuleIndex.cpp
On: smooshlab-project
At: Fri 18 Apr 2014 13:06:41
Changed By: bogner
Comments: Remove OnDiskHashTable.h, since it's been moved to llvmProperties: 
  phase_id: r206652-t20140418_143504-b19037



Files:
 lib/Frontend/CacheTokens.cpp
 lib/Lex/PTHLexer.cpp
 lib/Serialization/ASTReaderInternals.h
 lib/Serialization/ASTWriter.cpp
 lib/Serialization/GlobalModuleIndex.cpp
On: smooshlab-project
At: Fri 18 Apr 2014 13:36:41
Changed By: bogner
Comments: Teach users of OnDiskHashTable to define hash_value and offset types

This paves the way to making OnDiskHashTable work with hashes that are
not 32 bits wide and to making OnDiskHashTable work very large hash
tables. The LLVM change to use these types is upcoming.Properties: 
  phase_id: r206652-t20140418_143504-b19037



File: lib/DebugInfo/DWARFUnit.cpp
On: smooshlab-project
At: Fri 18 Apr 2014 13:40:41
Changed By: samsonov
Comments: [DWARF parser] Respect address ranges specified in compile unit DIE.

When address ranges for compile unit are specified in compile unit DIE
itself, there is no need to collect ranges from children subprogram DIEs.

This change speeds up llvm-symbolizer on Clang-produced binaries with
full debug info. For instance, symbolizing a first address in a 1Gb binary
is now 2x faster (1s vs. 2s).
Properties: 
  phase_id: r206652-t20140418_143504-b19037



File: include/llvm/Support/OnDiskHashTable.h
On: smooshlab-project
At: Fri 18 Apr 2014 13:50:41
Changed By: bogner
Comments: OnDiskHashTable: Expect the Info type to declare the hash size

This changes the on-disk hash to get the size of a hash value from the
Info type, so that clients can be more flexible with the types of hash
they use.Properties: 
  phase_id: r206652-t20140418_143504-b19037



File: include/llvm/Support/OnDiskHashTable.h
On: smooshlab-project
At: Fri 18 Apr 2014 13:50:41
Changed By: bogner
Comments: OnDiskHashTable: Expect the Info type to declare the offset type

This changes the on-disk hash to get the type to use for offsets from
the Info type, so that clients can be more flexible with the size of
table they support.Properties: 
  phase_id: r206652-t20140418_143504-b19037



File: lib/Frontend/ASTUnit.cpp
On: smooshlab-project
At: Fri 18 Apr 2014 13:50:41
Changed By: benlangmuir
Comments: Don't read CompilerInstance fields that don't exist in ASTUnit

When transferring data from a CompilerInstance in an error path we need
to consider cases where the various fields are uninitialized.Properties: 
  phase_id: r206652-t20140418_143504-b19037



File: lib/Analysis/LazyCallGraph.cpp
On: smooshlab-project
At: Fri 18 Apr 2014 13:56:59
Changed By: chandlerc
Comments: [LCG] Fix the bugs that Ben pointed out in code review (and the MSan bot
caught). Sad that we don't have warnings for these things, but bleh, no
idea how to fix that.Properties: 
  phase_id: r206652-t20140418_143504-b19037



File: test/CodeGen/X86/tls.ll
On: smooshlab-project
At: Fri 18 Apr 2014 14:20:41
Changed By: yrnkrn
Comments: Expanded test for x86-pc-windows-gnu and x86_64-pc-windows-gnu environments.

Properties: 
  phase_id: r206652-t20140418_143504-b19037



File: docs/Passes.rst
On: smooshlab-project
At: Fri 18 Apr 2014 14:30:41
Changed By: rnk
Comments: Remove -simplify-libcalls pass form Passes documentation

This pass was removed in r184459.

Also added note that the InstCombine pass does library call
simplification.

Patch slightly modified from one by Daniel Liew
<daniel.liew at imperial.ac.uk>!Properties: 
  phase_id: r206652-t20140418_143504-b19037



Files:
 lib/Target/ARM64/ARM64.td
 lib/Target/ARM64/ARM64SchedA53.td
 lib/Target/ARM64/ARM64SchedCyclone.td
 test/CodeGen/ARM64/misched-basic-A53.ll
On: smooshlab-project
At: Fri 18 Apr 2014 14:30:41
Changed By: mcrosier
Comments: [ARM64] Ports the Cortex-A53 Machine Model description from AArch64.

Summary:
This port includes the rudimentary latencies that were provided for
the Cortex-A53 Machine Model in the AArch64 backend. It also changes
the SchedAlias for COPY in the Cyclone model to an explicit
WriteRes mapping to avoid conflicts in other subtargets.

Differential Revision: http://reviews.llvm.org/D3427
Patch by Dave Estes <cestes at codeaurora.org>!Properties: 
  phase_id: r206652-t20140418_143504-b19037



Files:
 lib/MC/ELFObjectWriter.cpp
 test/MC/ELF/compression.s
On: smooshlab-project
At: Fri 18 Apr 2014 14:36:41
Changed By: dblaikie
Comments: Update the fragments of symbols in compressed sections.

While unnamed relocations are already cached in side tables in
ELFObjectWriter::RecordRelocation, symbols still need their fragments
updated to refer to the newly compressed fragment (even if that fragment
isn't big enough to fit the offset). Even though we only create
temporary symbols in debug info sections this comes up in 32 bit builds
where even temporary symbols in mergeable sections (such as debug_str)
have to be emitted as named symbols.

I tried a few other ways to do this but they all didn't work for various
reasons:

1) Canonicalize the MCSymbolData in RecordRelocation, nulling out the
Fragment (so it didn't have to be updated by CompressDebugSection). This
doesn't work because some code relies on symbols having fragments to
indicate that they're defined, I think.

2) Canonicalize the MCSymbolData in RecordRelocation to be "first
fragment + absolute offset" so it would be cheaper to just test and
update the fragment in CompressDebugSections. This doesn't work because
the offset computed in RecordRelocation isn't that of the symbol's
fragment, it's the passed in fragment (I haven't figured out what that
fragment is - perhaps it's the location where the relocation is to be
written). And if the fragment offset has to be computed only for this
use we might as well just do it when we need to, in
CompressDebugSection.

I also added an assert to help catch this a bit more clearly, even
though it is UB. The test case improvements would either assert fail
and/or valgrind vail without the fix, even if they wouldn't necessarily
fail the FileCheck output.Properties: 
  phase_id: r206659-t20140418_151017-b19040



Files:
 include/llvm/DebugInfo/DIContext.h
 lib/DebugInfo/DWARFContext.cpp
 tools/llvm-dwarfdump/llvm-dwarfdump.cpp
 tools/llvm-objdump/MachODump.cpp
 tools/llvm-rtdyld/llvm-rtdyld.cpp
 tools/llvm-symbolizer/LLVMSymbolize.cpp
On: smooshlab-project
At: Fri 18 Apr 2014 14:46:41
Changed By: samsonov
Comments: [DWARF parser] Turn DILineInfo into a struct.

Immutable DILineInfo doesn't bring any benefits and complicates
code. Also, use std::string instead of SmallString<16> for file
and function names - their length can vary significantly.

No functionality change.
Properties: 
  phase_id: r206659-t20140418_151017-b19040



Files:
 CMakeLists.txt
 cmake/config-ix.cmake
 cmake/modules/AddSphinxTarget.cmake
 cmake/modules/FindSphinx.cmake
 docs/CMakeLists.txt
On: smooshlab-project
At: Fri 18 Apr 2014 14:56:41
Changed By: rnk
Comments: Added Sphinx documentation generation to CMake build system.

The option LLVM_ENABLE_SPHINX option enables the "docs-llvm-html",
"docs-llvm-man" targets but does not build them by default. The
following CMake options have been added that control what targets are
made available

SPHINX_OUTPUT_HTML
SPHINX_OUTPUT_MAN

If LLVM_BUILD_DOCS is enabled then the enabled docs-llvm-* targets will
be built by default and if ``make install`` is run then docs-llvm-html
and docs-llvm-man will be installed (tested on Linux only).

The add_sphinx_target function is in its own file so it can be included
by other projects that use Sphinx for their documentation.

Patch by Daniel Liew <daniel.liew at imperial.ac.uk>!Properties: 
  phase_id: r206659-t20140418_151017-b19040



Files:
 include/llvm/ProfileData/InstrProf.h
 include/llvm/ProfileData/InstrProfReader.h
 include/llvm/ProfileData/InstrProfWriter.h
 lib/ProfileData/InstrProf.cpp
 lib/ProfileData/InstrProfIndexed.h
 lib/ProfileData/InstrProfReader.cpp
 lib/ProfileData/InstrProfWriter.cpp
 test/tools/llvm-profdata/errors.test
 test/tools/llvm-profdata/simple.test
 tools/llvm-profdata/llvm-profdata.cpp
On: smooshlab-project
At: Fri 18 Apr 2014 15:00:41
Changed By: bogner
Comments: ProfileData: Add support for the indexed instrprof format

This adds support for an indexed instrumentation based profiling
format, which is just a small header and an on disk hash table.  This
format will be used by clang's -fprofile-instr-use= for PGO.Properties: 
  phase_id: r206659-t20140418_151017-b19040



File: lib/CodeGen/CodeGenPGO.cpp
On: smooshlab-project
At: Fri 18 Apr 2014 15:00:41
Changed By: bogner
Comments: [Cleanup] Remove a trailing whitespaceProperties: 
  phase_id: r206659-t20140418_151017-b19040



Files:
 lib/CodeGen/CMakeLists.txt
 lib/CodeGen/CodeGenModule.cpp
 lib/CodeGen/CodeGenModule.h
 lib/CodeGen/CodeGenPGO.cpp
 lib/CodeGen/CodeGenPGO.h
 tools/driver/CMakeLists.txt
 tools/driver/Makefile
On: smooshlab-project
At: Fri 18 Apr 2014 15:00:41
Changed By: bogner
Comments: CodeGen: Use LLVM's InstrProfReader in -fprofile-instr-use=

Update clang to use the InstrProfReader from LLVM to read
instrumentation based profile data. This also switches us from the
naive text format to the binary format, since that's what's
implemented in the reader.Properties: 
  phase_id: r206659-t20140418_151017-b19040



Files:
 lib/MC/ELFObjectWriter.cpp
 test/MC/ELF/compression.s
On: smooshlab-project
At: Fri 18 Apr 2014 15:00:41
Changed By: dblaikie
Comments: Compress debug sections only when beneficial.

Both ZLIB and the debug info compressed section header ("ZLIB" + the
size of the uncompressed data) take some constant overhead so in some
cases the compressed data is actually larger than the uncompressed data.
In these cases, just don't compress or rename the section at all.Properties: 
  phase_id: r206659-t20140418_151017-b19040



LOGS:






More information about the llvm-testresults mailing list