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

llvmlab-buildmaster at lab.llvm.org llvmlab-buildmaster at lab.llvm.org
Mon Jan 20 21:42:54 PST 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/2200

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

Buildslave for this Build: macpro1

Build Reason: scheduler
Build Source Stamp: 199688
Blamelist: aaronballman,adibiagio,adrian,alp,chandlerc,chapuni,djasper,dwmw2,eugenis,fjahanian,hfinkel,jamesm,rafael,redstar,resistor

BUILD FAILED: failed

sincerely,
 -The Buildbot


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

CHANGES:
Files:
 include/llvm/MC/MCExpr.h
 lib/MC/MCExpr.cpp
 lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp
 test/MC/ARM/symbol-variants.s
On: smooshlab-project
At: Mon 20 Jan 2014 03:10:37
Changed By: redstar
Comments: ARM: add tlsldo relocation

Add support for the symbol(tlsldo) relocation. This is required in order to 
solve PR18554.

Reviewed by R. Golin, A. Korobeynikov.
Properties: 
  phase_id: r199646-t20140120_035943-b15742



Files:
 include/llvm/IR/Verifier.h
 include/llvm/InitializePasses.h
 lib/IR/Core.cpp
 lib/IR/Verifier.cpp
 test/Other/new-pass-manager.ll
 tools/opt/NewPMDriver.cpp
 tools/opt/NewPMDriver.h
 tools/opt/Passes.cpp
 tools/opt/Passes.h
 tools/opt/opt.cpp
On: smooshlab-project
At: Mon 20 Jan 2014 03:40:33
Changed By: chandlerc
Comments: [PM] Wire up the Verifier for the new pass manager and connect it to the
various opt verifier commandline options.

Mostly mechanical wiring of the verifier to the new pass manager.
Exercises one of the more unusual aspects of it -- a pass can be either
a module or function pass interchangably. If this is ever problematic,
we can make things more constrained, but for things like the verifier
where there is an "obvious" applicability at both levels, it seems
convenient.

This is the next-to-last piece of basic functionality left to make the
opt commandline driving of the new pass manager minimally functional for
testing and further development. There is still a lot to be done there
(notably the factoring into .def files to kill the current boilerplate
code) but it is relatively uninteresting. The only interesting bit left
for minimal functionality is supporting the registration of analyses.
I'm planning on doing that on top of the .def file switch mostly because
the boilerplate for the analyses would be significantly worse.Properties: 
  phase_id: r199646-t20140120_035943-b15742



Files:
 include/llvm/ADT/Triple.h
 lib/Support/Triple.cpp
 lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp
 lib/Target/X86/X86Subtarget.cpp
 test/MC/X86/ret.s
 test/MC/X86/x86-16.s
On: smooshlab-project
At: Mon 20 Jan 2014 04:10:33
Changed By: dwmw2
Comments: [x86] Support i386-*-*-code16 triple for emitting 16-bit codeProperties: 
  phase_id: r199654-t20140120_045916-b15743



Files:
 lib/Target/X86/Disassembler/X86Disassembler.cpp
 lib/Target/X86/Disassembler/X86Disassembler.h
On: smooshlab-project
At: Mon 20 Jan 2014 04:10:34
Changed By: dwmw2
Comments: [x86] Infer disassembler mode from SubtargetInfo feature bits

Aside from cleaning up the code, this also adds support for the -code16
environment and actually enables the MODE_16BIT mode that was previously
not accessible.

There is no point adding any testing for 16-bit yet though; basically
nothing will work because we aren't handling the OpSize prefix correctly
for 16-bit mode.Properties: 
  phase_id: r199654-t20140120_045916-b15743



Files:
 lib/Target/X86/Disassembler/X86DisassemblerDecoder.c
 test/MC/Disassembler/X86/x86-16.txt
On: smooshlab-project
At: Mon 20 Jan 2014 04:10:34
Changed By: dwmw2
Comments: [x86] Fix 16-bit handling of OpSize bit

When disassembling in 16-bit mode the meaning of the OpSize bit is
inverted. Instructions found in the IC_OPSIZE context will actually
*not* have the 0x66 prefix, and instructions in the IC context will
have the 0x66 prefix. Make use of the existing special-case handling
for the 0x66 prefix being in the wrong place, to cope with this.Properties: 
  phase_id: r199654-t20140120_045916-b15743



Files:
 lib/Target/X86/X86InstrControl.td
 test/MC/Disassembler/X86/x86-16.txt
On: smooshlab-project
At: Mon 20 Jan 2014 04:10:34
Changed By: dwmw2
Comments: [x86] Fix disassembly of callw instruction

Not quite sure why this was marked isAsmParserOnly, but it means that the
disassembler can't see it either.Properties: 
  phase_id: r199654-t20140120_045916-b15743



Files:
 lib/Target/X86/X86InstrInfo.td
 test/MC/Disassembler/X86/x86-16.txt
On: smooshlab-project
At: Mon 20 Jan 2014 04:10:34
Changed By: dwmw2
Comments: [x86] Rename MOVSD/STOSD/LODSD/OUTSD to MOVSL/STOSL/LODSL/OUTSL

The disassembler has a special case for 'L' vs. 'W' in its heuristic for
checking for 32-bit and 16-bit equivalents. We could expand the heuristic,
but better just to be consistent in using the 'L' suffix.Properties: 
  phase_id: r199654-t20140120_045916-b15743



Files:
 lib/Target/X86/Disassembler/X86DisassemblerDecoder.c
 test/MC/Disassembler/X86/x86-16.txt
On: smooshlab-project
At: Mon 20 Jan 2014 04:10:34
Changed By: dwmw2
Comments: [x86] Fix 16-bit disassembly of JCXZ/JECXZProperties: 
  phase_id: r199654-t20140120_045916-b15743



Files:
 lib/Target/X86/Disassembler/X86DisassemblerDecoderCommon.h
 test/MC/Disassembler/X86/moffs.txt
 utils/TableGen/X86DisassemblerTables.cpp
 utils/TableGen/X86RecognizableInstr.cpp
On: smooshlab-project
At: Mon 20 Jan 2014 04:10:34
Changed By: dwmw2
Comments: [x86] Fix disassembly of MOV16ao16 et al.

The addition of IC_OPSIZE_ADSIZE in r198759 wasn't quite complete. It
also turns out to have been unnecessary. The disassembler handles the
AdSize prefix for itself, and doesn't care about the difference between
(e.g.) MOV8ao8 and MOB8ao8_16 definitions. So just let them coexist and
don't worry about it.Properties: 
  phase_id: r199654-t20140120_045916-b15743



File: lib/msandr/msandr.cc
On: smooshlab-project
At: Mon 20 Jan 2014 05:16:33
Changed By: eugenis
Comments: [msandr] Access app TLS directly in native exec mode.

In optimized hybrid execution we do not use DynamoRIO private loader, which
mangles TLS access, so we can access the application's TLS directly.

Patch by Qin Zhao.
Properties: 
  phase_id: r199655-t20140120_060352-b15744



File: lib/CodeGen/ScheduleDAGInstrs.cpp
On: smooshlab-project
At: Mon 20 Jan 2014 06:10:33
Changed By: hfinkel
Comments: Track multiple stores per object when using AA in ScheduleDAGInstrs

When using AA to break false chain dependencies, we need to track multiple
stores per object in ScheduleDAGInstrs. Historically, we tracked potential alias
chains at the object level, and so all loads of an object would retain
dependencies on any store to that object. With AA, however, this is not
sufficient: non-overlapping stores and loads to the same object all need to be
tested for dependencies separately, we cannot only test all loads to an object
against only the last store (see PR18497 for an explicit example).

To mitigate any unwelcome compile-time impact when not using AA, only one store
is kept in the list per object when not using AA.

This, along with a stack coloring change to come shortly, will provide a test
case, fix PR18497 (and allow LLVM to compile itself using -enable-aa-sched-mi
on x86-64).Properties: 
  phase_id: r199659-t20140120_065632-b15745



Files:
 lib/CodeGen/StackColoring.cpp
 test/CodeGen/X86/misched-aa-colored.ll
 test/CodeGen/X86/pr14090.ll
On: smooshlab-project
At: Mon 20 Jan 2014 06:10:33
Changed By: hfinkel
Comments: Update IR when merging slots in stack coloring

The way that stack coloring updated MMOs when merging stack slots, while
correct, is suboptimal, and is incompatible with the use of AA during
instruction scheduling. The solution, which involves the use of const_cast (and
more importantly, updating the IR from within an MI-level pass), obviously
requires some explanation:

When the stack coloring pass was originally committed, the code in
ScheduleDAGInstrs::buildSchedGraph tracked possible alias sets by using
GetUnderlyingObject, and all load/store and store/store memory control
dependencies where added between SUs at the object level (where only one
object, that returned by GetUnderlyingObject, was used to identify the object
associated with each MMO). When stack coloring merged stack slots, it would
replace MMOs derived from the remapped alloca with the alloca with which the
remapped alloca was being replaced. Because ScheduleDAGInstrs only used single
objects, and tracked alias sets at the object level, this was a fine solution.

In r169744, (Andy and) I updated the code in ScheduleDAGInstrs to use
GetUnderlyingObjects, and track alias sets using, potentially, multiple
underlying objects for each MMO. This was done, primarily, to provide the
ability to look through PHIs, and provide better scheduling for
induction-variable-dependent loads and stores inside loops. At this point, the
MMO-updating code in stack coloring became suboptimal, because it would clear
the MMOs for (i.e. completely pessimize) all instructions for which r169744
might help in scheduling. Updating the IR directly is the simplest fix for this
(and the one with, by far, the least compile-time impact), but others are
possible (we could give each MMO a small vector of potential values, or make
use of a remapping table, constructed from MFI, inside ScheduleDAGInstrs).

Unfortunately, replacing all MMO values derived from the remapped alloca with
the base replacement alloca fundamentally breaks our ability to use AA during
instruction scheduling (which is critical to performance on some targets). The
reason is that the original MMO might have had an offset (either constant or
dynamic) from the base remapped alloca, and that offset is not present in the
updated MMO. One possible way around this would be to use
GetPointerBaseWithConstantOffset, and update not only the MMO's value, but also
its offset based on the original offset. Unfortunately, this solution would
only handle constant offsets, and for safety (because AA is not completely
restricted to deducing relationships with constant offsets), we would need to
clear all MMOs without constant offsets over the entire function. This would be
an even worse pessimization than the current single-object restriction. Any
other solution would involve passing around a vector of remapped allocas, and
teaching AA to use it, introducing additional complexity and overhead into AA.

Instead, when remapping an alloca, we replace all IR uses of that alloca as
well (optionally inserting a bitcast as necessary). This is even more efficient
that the old MMO-updating code in the stack coloring pass (because it removes
the need to call GetUnderlyingObject on all MMO values), removes the
single-object pessimization in the default configuration, and enables the
correct use of AA during instruction scheduling (all without any additional
overhead).

LLVM now no longer miscompiles itself on x86_64 when using -enable-misched
-enable-aa-sched-mi -misched-bottomup=0 -misched-topdown=0 -misched=shuffle!
Fixed PR18497.

Because the alloca replacement is now done at the IR level, unless the MMO
directly refers to the remapped alloca, the change cannot be seen at the MI
level. As a result, there is no good way to fix test/CodeGen/X86/pr14090.ll.Properties: 
  phase_id: r199659-t20140120_065632-b15745



File: test/CodeGen/X86/misched-aa-colored.ll
On: smooshlab-project
At: Mon 20 Jan 2014 06:16:33
Changed By: hfinkel
Comments: Fix misched-aa-colored.ll to require asserts.

-misched=shuffle is NDEBUG only. Maybe we should change that.Properties: 
  phase_id: r199659-t20140120_065632-b15745



File: lib/Format/Format.cpp
On: smooshlab-project
At: Mon 20 Jan 2014 06:20:37
Changed By: djasper
Comments: clang-format: Leave 2 empty lines in Google's JavaScript style.

As per the style guide, two lines are required between top-level
elements.Properties: 
  phase_id: r199669-t20140120_082122-b15746



File: test/CodeGen/X86/misched-aa-colored.ll
On: smooshlab-project
At: Mon 20 Jan 2014 06:26:34
Changed By: hfinkel
Comments: Fix misched-aa-colored.ll to require asserts (trying again)

Perhaps it needs to be in caps.Properties: 
  phase_id: r199669-t20140120_082122-b15746



File: include/clang/Basic/Attr.td
On: smooshlab-project
At: Mon 20 Jan 2014 06:26:34
Changed By: aaronballman
Comments: HasFunctionProto is a more strict version of FunctionLike. Since attribute subjects are inclusive (passing a single subject test means no subject-related diagnostic will fire), these two subjects should not be combined.Properties: 
  phase_id: r199669-t20140120_082122-b15746



Files:
 include/clang/Basic/Attr.td
 lib/Sema/SemaDeclAttr.cpp
 test/Sema/nonnull.c
On: smooshlab-project
At: Mon 20 Jan 2014 06:26:34
Changed By: aaronballman
Comments: Making some minor improvements to r199626.Properties: 
  phase_id: r199669-t20140120_082122-b15746



File: lib/Sema/SemaDeclAttr.cpp
On: smooshlab-project
At: Mon 20 Jan 2014 07:16:33
Changed By: aaronballman
Comments: Since the diagnostics engine understands Attr objects, this code is no longer required -- we can just pass in the attribute directly.Properties: 
  phase_id: r199669-t20140120_082122-b15746



Files:
 include/clang/Basic/TargetInfo.h
 lib/CodeGen/CodeGenModule.cpp
On: smooshlab-project
At: Mon 20 Jan 2014 07:26:33
Changed By: rafael
Comments: Remove virtual methods that were added in 2009 and still had 1 implementation.Properties: 
  phase_id: r199669-t20140120_082122-b15746



File: lib/Sema/SemaDeclAttr.cpp
On: smooshlab-project
At: Mon 20 Jan 2014 07:30:33
Changed By: aaronballman
Comments: Fixing a typo (turned out to be harmless since the default priority values are the same between the two attributes).Properties: 
  phase_id: r199669-t20140120_082122-b15746



File: tools/opt/AnalysisWrappers.cpp
On: smooshlab-project
At: Mon 20 Jan 2014 07:56:33
Changed By: chapuni
Comments: Whitespace.Properties: 
  phase_id: r199669-t20140120_082122-b15746



File: test/CodeGenObjC/2010-02-01-utf16-with-null.m
On: smooshlab-project
At: Mon 20 Jan 2014 08:06:34
Changed By: rafael
Comments: Make the test more strict.Properties: 
  phase_id: r199669-t20140120_082122-b15746



File: test/CodeGenObjC/2010-02-01-utf16-with-null.m
On: smooshlab-project
At: Mon 20 Jan 2014 08:26:33
Changed By: rafael
Comments: Add a triple. Should fix the 64 bit bots.Properties: 
  phase_id: r199677-t20140120_101834-b15750



File: lib/Sema/SemaDeclAttr.cpp
On: smooshlab-project
At: Mon 20 Jan 2014 08:26:34
Changed By: aaronballman
Comments: Formatting cleanups; no functional changes.Properties: 
  phase_id: r199677-t20140120_101834-b15750



Files:
 lib/Format/TokenAnnotator.cpp
 unittests/Format/FormatTestProto.cpp
On: smooshlab-project
At: Mon 20 Jan 2014 08:56:33
Changed By: djasper
Comments: clang-format: Properly format custom options in protocol buffer definitions.

Before:
  option(my_option) = "abc";

After:
  option (my_option) = "abc";Properties: 
  phase_id: r199677-t20140120_101834-b15750



File: cmake/modules/LLVMProcessSources.cmake
On: smooshlab-project
At: Mon 20 Jan 2014 09:16:33
Changed By: chapuni
Comments: [CMake] LLVMProcessSources.cmake: Add include(CMakeParseArguments).

I didn't realize that cmake_parse_arguments() would require explicit inclusion.Properties: 
  phase_id: r199677-t20140120_101834-b15750



Files:
 lib/Target/ARM/ARMExpandPseudoInsts.cpp
 lib/Target/ARM/ARMInstrNEON.td
 test/CodeGen/ARM/vdup.ll
On: smooshlab-project
At: Mon 20 Jan 2014 09:20:33
Changed By: jamesm
Comments: Remove the useless pseudo instructions VDUPfdf and VDUPfqf, replacing them with patterns to match VDUPLN.Properties: 
  phase_id: r199677-t20140120_101834-b15750



Files:
 include/clang/Basic/Attr.td
 include/clang/Parse/Parser.h
 include/clang/Sema/AttributeList.h
 lib/Parse/ParseDecl.cpp
 lib/Parse/Parser.cpp
 lib/Sema/AttributeList.cpp
 utils/TableGen/ClangAttrEmitter.cpp
On: smooshlab-project
At: Mon 20 Jan 2014 09:26:37
Changed By: aaronballman
Comments: Remove some hard-coded specialness for thread-safety attributes from the parser, and made it more declarative. If an attribute is allowed to appear on a function definition when late parsed, it can now use the FunctionDefinition attribute subject. It's treated as a FunctionDecl for most purposes, except it also gets exposed on the AttributeList so that it can be used while parsing.Properties: 
  phase_id: r199677-t20140120_101834-b15750



Files:
 docs/InternalsManual.rst
 include/clang/AST/Attr.h
 include/clang/Basic/Attr.td
 lib/Sema/SemaDecl.cpp
 utils/TableGen/ClangAttrEmitter.cpp
On: smooshlab-project
At: Mon 20 Jan 2014 10:16:33
Changed By: aaronballman
Comments: Exposed a declarative way to specify that an attribute can be duplicated when merging attributes on a declaration. This replaces some hard-coded functionality from Sema.Properties: 
  phase_id: r199677-t20140120_101834-b15750



File: lib/CodeGen/SelectionDAG/DAGCombiner.cpp
On: smooshlab-project
At: Mon 20 Jan 2014 10:50:33
Changed By: resistor
Comments: Allow SMUL_LOHI and UMUL_LOHI to be narrow to MUL on targets where MUL is Custom rather than Legal.  Even if the target is doing some kind of expansion for MUL, it's pretty much guaranteed to be more efficent than whatever it does for SMUL_LOHI or UMUL_LOHI!
Properties: 
  phase_id: r199679-t20140120_105234-b15751



File: docs/InternalsManual.rst
On: smooshlab-project
At: Mon 20 Jan 2014 10:50:33
Changed By: aaronballman
Comments: Adding a bit of documentation that was missed with r198883 (when ParseArgumentsAsUnevaluated was added).Properties: 
  phase_id: r199679-t20140120_105234-b15751



Files:
 lib/Target/ARM/ARMAsmPrinter.cpp
 test/DebugInfo/ARM/sectionorder.ll
On: smooshlab-project
At: Mon 20 Jan 2014 11:26:33
Changed By: adrian
Comments: Revert "Debug info: On ARM ensure that the data sections come before the"
Cut back on the cargo cult. The order of __DATA sections doesn't affect
generated code.

This reverts commit r197922.Properties: 
  phase_id: r199681-t20140120_112834-b15752



Files:
 lib/Target/ARM/ARMAsmPrinter.cpp
 test/DebugInfo/ARM/sectionorder.ll
On: smooshlab-project
At: Mon 20 Jan 2014 11:26:34
Changed By: adrian
Comments: Debug info: On ARM ensure that all __TEXT sections come before the
optional DWARF sections, so compiling with -g does not result in
different code being generated for PC-relative loads.

This is reapplying a diet r197922 (__TEXT-only).Properties: 
  phase_id: r199681-t20140120_112834-b15752



Files:
 include/clang/Basic/ObjCRuntime.h
 lib/Driver/Tools.cpp
 test/Driver/darwin-objc-defaults.m
On: smooshlab-project
At: Mon 20 Jan 2014 11:40:33
Changed By: fjahanian
Comments: ObjectiveC driver. reinstate -fno-objc-legacy-dispatch behavior 
when the deployment target is 10.5. // rdar://15852259
Properties: 
  phase_id: r199688-t20140120_124642-b15755



Files:
 lib/Target/X86/X86ISelLowering.cpp
 test/CodeGen/X86/avx-blend.ll
 test/CodeGen/X86/blend-msb.ll
 test/CodeGen/X86/sse-scalar-fp-arith-2.ll
 test/CodeGen/X86/sse2-blend.ll
 test/CodeGen/X86/sse41-blend.ll
 test/CodeGen/X86/vselect.ll
On: smooshlab-project
At: Mon 20 Jan 2014 11:46:33
Changed By: adibiagio
Comments: [X86] Teach how to combine a vselect into a movss/movsd

Add target specific rules for combining vselect dag nodes into movss/movsd
when possible.

If the vector type of the vselect dag node in input is either MVT::v4i13 or
MVT::v4f32, then try to fold according to rules:

  1) fold (vselect (build_vector (0, -1, -1, -1)), A, B) -> (movss A, B)
  2) fold (vselect (build_vector (-1, 0, 0, 0)), A, B) -> (movss B, A)

If the vector type of the vselect dag node in input is either MVT::v2i64 or
MVT::v2f64 (and we have SSE2), then try to fold according to rules:

  3) fold (vselect (build_vector (0, -1)), A, B) -> (movsd A, B)
  4) fold (vselect (build_vector (-1, 0)), A, B) -> (movsd B, A)

Properties: 
  phase_id: r199688-t20140120_124642-b15755



Files:
 include/llvm/CodeGen/StackProtector.h
 lib/CodeGen/StackColoring.cpp
 lib/CodeGen/StackProtector.cpp
On: smooshlab-project
At: Mon 20 Jan 2014 11:56:33
Changed By: hfinkel
Comments: Update StackProtector when coloring merges stack slots

StackProtector keeps a ValueMap of alloca instructions to layout kind tags for
use by PEI and other later passes. When stack coloring replaces one alloca with
a bitcast to another one, the key replacement in this map does not work.
Instead, provide an interface to manage this updating directly. This seems like
an improvement over the old behavior, where the layout map would not get
updated at all when the stack slots were merged. In practice, however, there is
likely no observable difference because PEI only did anything special with
'large array' kinds, and if one large array is merged with another, than the
replacement should already have been a large array.

This is an attempt to unbreak the clang-x86_64-darwin11-RA builder.Properties: 
  phase_id: r199688-t20140120_124642-b15755



File: lib/CodeGen/CodeGenModule.cpp
On: smooshlab-project
At: Mon 20 Jan 2014 12:20:33
Changed By: rafael
Comments: Simplify further.

Thanks to David Blaikie for the push.Properties: 
  phase_id: r199688-t20140120_124642-b15755



Files:
 include/clang/AST/ASTContext.h
 include/clang/AST/CanonicalType.h
 include/clang/AST/DataRecursiveASTVisitor.h
 include/clang/AST/DeclObjC.h
 include/clang/AST/RecursiveASTVisitor.h
 include/clang/AST/Type.h
 include/clang/AST/TypeLoc.h
 include/clang/CodeGen/CGFunctionInfo.h
 include/clang/Sema/Sema.h
 lib/AST/ASTContext.cpp
 lib/AST/ASTImporter.cpp
 lib/AST/Decl.cpp
 lib/AST/DeclObjC.cpp
 lib/AST/ItaniumMangle.cpp
 lib/AST/Mangle.cpp
 lib/AST/MangleNumberingContext.cpp
 lib/AST/MicrosoftMangle.cpp
 lib/AST/Type.cpp
 lib/AST/TypePrinter.cpp
 lib/AST/VTableBuilder.cpp
 lib/Analysis/BodyFarm.cpp
 lib/CodeGen/CGCall.cpp
 lib/CodeGen/CGClass.cpp
 lib/CodeGen/CGDebugInfo.cpp
 lib/CodeGen/CGExprCXX.cpp
 lib/CodeGen/CodeGenFunction.h
 lib/CodeGen/CodeGenTypes.cpp
 lib/Index/USRGeneration.cpp
 lib/Rewrite/Frontend/RewriteModernObjC.cpp
 lib/Rewrite/Frontend/RewriteObjC.cpp
 lib/Sema/Sema.cpp
 lib/Sema/SemaAccess.cpp
 lib/Sema/SemaChecking.cpp
 lib/Sema/SemaCodeComplete.cpp
 lib/Sema/SemaDecl.cpp
 lib/Sema/SemaDeclAttr.cpp
 lib/Sema/SemaDeclCXX.cpp
 lib/Sema/SemaExceptionSpec.cpp
 lib/Sema/SemaExpr.cpp
 lib/Sema/SemaExprCXX.cpp
 lib/Sema/SemaLambda.cpp
 lib/Sema/SemaLookup.cpp
 lib/Sema/SemaOverload.cpp
 lib/Sema/SemaTemplate.cpp
 lib/Sema/SemaTemplateDeduction.cpp
 lib/Sema/SemaTemplateInstantiateDecl.cpp
 lib/Sema/SemaType.cpp
 lib/Sema/TreeTransform.h
 lib/Serialization/ASTWriter.cpp
 lib/StaticAnalyzer/Checkers/CheckSecuritySyntaxOnly.cpp
 lib/StaticAnalyzer/Checkers/RetainCountChecker.cpp
 tools/libclang/CXType.cpp
On: smooshlab-project
At: Mon 20 Jan 2014 12:36:33
Changed By: alp
Comments: Rename FunctionProtoType accessors from 'arguments' to 'parameters'

Fix a perennial source of confusion in the clang type system: Declarations and
function prototypes have parameters to which arguments are supplied, so calling
these 'arguments' was a stretch even in C mode, let alone C++ where default
arguments, templates and overloading make the distinction important to get
right.

Readability win across the board, especially in the casting, ADL and
overloading implementations which make a lot more sense at a glance now.

Will keep an eye on the builders and update dependent projects shortly.

No functional change.Properties: 
  phase_id: r199688-t20140120_124642-b15755



Files:
 lib/CodeGen/CodeGenModule.cpp
 test/CodeGen/cfstring.c
 test/CodeGen/darwin-string-literals.c
 test/CodeGen/utf16-cfstrings.c
 test/CodeGenObjC/2009-08-05-utf16.m
 test/CodeGenObjC/2010-02-01-utf16-with-null.m
 test/CodeGenObjC/constant-strings.m
On: smooshlab-project
At: Mon 20 Jan 2014 12:40:33
Changed By: rafael
Comments: Give explicit sections for string constants used in NSStrings.

Without them they can be merged with non unnamed_addr constants during LTO.
The resulting constant is not unnamed_addr and goes in a different section,
which causes ld64 to crash.

A testcase that would crash before:

* file1.mm:
void g(id notification) {
  [notification valueForKey:@"name"];
}

* file2.cpp:
extern const char js_name_str[] = "name";

* file3.cpp
extern bool JS_GetProperty(const char *name);
extern const char js_name_str[];
bool js_ReportUncaughtException() { JS_GetProperty(js_name_str); }

run

clang file1.mm  -o file1.o -c -w -emit-llvm
clang file2.cpp -o file2.o -c -w -emit-llvm
clang file3.cpp -o file3.o -c -w

ld -dylib -o XUL file1.o file2.o file3.o -undefined dynamic_lookup.Properties: 
  phase_id: r199688-t20140120_124642-b15755



LOGS:






More information about the llvm-testresults mailing list