Greg Clayton [Thu, 15 Nov 2012 18:05:43 +0000 (18:05 +0000)]
<rdar://problem/
11782181>
Fixed an issue where lldb was setting breakpoints on too many methods when a partial function name with namespaces or class qualifiers was used. For example setting a breakpoint of "Foo::dealloc" was accidentally settings breakpoints on all objective C functions whose selector was "dealloc"...
llvm-svn: 168053
Howard Hinnant [Thu, 15 Nov 2012 18:00:42 +0000 (18:00 +0000)]
Remove aborts under __dynamic_cast which were under _LIBCXX_DYNAMIC_FALLBACK. Change all type_info comparisons to use an inlined is_equal helper. However no change in functionality for this latter change at this time. This is just to encapsulate the comparison and make it a little easier to switch back and forth for testing/debugging.
llvm-svn: 168052
Sergei Larin [Thu, 15 Nov 2012 17:45:50 +0000 (17:45 +0000)]
Fix indeterminism in MI scheduler DAG construction.
Similarly to several recent fixes throughout the code replace std::map use with the MapVector.
Add find() method to the MapVector.
llvm-svn: 168051
Dmitry Vyukov [Thu, 15 Nov 2012 17:40:49 +0000 (17:40 +0000)]
tsan: eevn better handling of signals
add interceptor for poll()
in addition process signals in every atomic op
in addition process signals in blocking libc functions
llvm-svn: 168050
Dmitri Gribenko [Thu, 15 Nov 2012 16:51:49 +0000 (16:51 +0000)]
Use empty parens for empty function parameter list instead of '(void)'.
llvm-svn: 168049
Dmitri Gribenko [Thu, 15 Nov 2012 16:50:59 +0000 (16:50 +0000)]
FileCheck: remove useless 'continue' at the end of a 'while(){}' loop.
llvm-svn: 168048
Benjamin Kramer [Thu, 15 Nov 2012 16:40:35 +0000 (16:40 +0000)]
Simplify code. No functionality change.
llvm-svn: 168047
Alexander Potapenko [Thu, 15 Nov 2012 15:24:42 +0000 (15:24 +0000)]
[ASan] Revert r168040 and r168043 and take a cleaner solution suggested by Kostya: return the known frame name for fake stack instead of looking it up.
llvm-svn: 168046
Benjamin Kramer [Thu, 15 Nov 2012 15:18:42 +0000 (15:18 +0000)]
Do not cache a pointer to ExprEvalContexts.back().
It may become a dangling pointer if the underlying SmallVector reallocates.
Sadly the testcase is really large and doesn't reduce well because of
SmallVector's reallocation patterns.
Fixes PR14336.
llvm-svn: 168045
Alexander Potapenko [Thu, 15 Nov 2012 14:59:19 +0000 (14:59 +0000)]
[ASan] Minor fix: return to the last byte of the fake stack if we've raced by.
llvm-svn: 168043
Duncan Sands [Thu, 15 Nov 2012 14:45:30 +0000 (14:45 +0000)]
Do not handle void types in DataLayout. Patch by Patrick Hägglund.
llvm-svn: 168042
Dmitri Gribenko [Thu, 15 Nov 2012 14:28:07 +0000 (14:28 +0000)]
Use empty parens for empty function parameter list instead of '(void)'.
llvm-svn: 168041
Alexander Potapenko [Thu, 15 Nov 2012 13:40:44 +0000 (13:40 +0000)]
[ASan] Poison the leftmost shadow byte with a special value so that we can find
the beginning of the fake frame when reporting an use-after-return error.
Fixes http://code.google.com/p/address-sanitizer/issues/detail?id=126
llvm-svn: 168040
Alexey Samsonov [Thu, 15 Nov 2012 12:40:37 +0000 (12:40 +0000)]
[UBSan] Add support for building ubsan runtime library on Linux with 'make'. Clang part.
llvm-svn: 168039
Alexey Samsonov [Thu, 15 Nov 2012 12:37:55 +0000 (12:37 +0000)]
[UBSan] Add support for building ubsan runtime library on Linux with 'make'. Compiler-rt part.
llvm-svn: 168038
Hans Wennborg [Thu, 15 Nov 2012 11:40:00 +0000 (11:40 +0000)]
Make GlobalOpt be conservative with TLS variables (PR14309)
For global variables that get the same value stored into them
everywhere, GlobalOpt will replace them with a constant. The problem is
that a thread-local GlobalVariable looks like one value (the address of
the TLS var), but is different between threads.
This patch introduces Constant::isThreadDependent() which returns true
for thread-local variables and constants which depend on them (e.g. a GEP
into a thread-local array), and teaches GlobalOpt not to track such
values.
llvm-svn: 168037
Guy Benyei [Thu, 15 Nov 2012 10:35:47 +0000 (10:35 +0000)]
Add support for SPIR64 target - the 64bit counterpart of SPIR.
The new OpenCL SPIR extension spec will define separate SPIR for 32 and 64 bit architectures.
llvm-svn: 168036
Duncan Sands [Thu, 15 Nov 2012 09:58:38 +0000 (09:58 +0000)]
Fix a crash observed by Shuxin Yang. The issue here is that LinearizeExprTree,
the utility for extracting a chain of operations from the IR, thought that it
might as well combine any constants it came across (rather than just returning
them along with everything else). On the other hand, the factorization code
would like to see the individual constants (this is quite reasonable: it is
much easier to pull a factor of 3 out of 2*3 than it is to pull it out of 6;
you may think 6/3 isn't so hard, but due to overflow it's not as easy to undo
multiplications of constants as it may at first appear). This patch therefore
makes LinearizeExprTree stupider: it now leaves optimizing to the optimization
part of reassociate, and sticks to just analysing the IR.
llvm-svn: 168035
Alexander Potapenko [Thu, 15 Nov 2012 08:32:16 +0000 (08:32 +0000)]
[ASan] Add the "lea $imm(%rip),%rax" instruction to mach_override.c
The need for this has been reported by Jack Howarth (howarth@bromo.med.uc.edu) who's porting ASan-Darwin to GCC
llvm-svn: 168032
Nick Lewycky [Thu, 15 Nov 2012 08:19:20 +0000 (08:19 +0000)]
Teach the uninitialized field warning about anonymous structs and union members.
Fixes PR14073!
llvm-svn: 168031
Craig Topper [Thu, 15 Nov 2012 08:09:46 +0000 (08:09 +0000)]
Revert changing FNEG of v4f32 to Expand. It's legal.
llvm-svn: 168030
Craig Topper [Thu, 15 Nov 2012 08:06:12 +0000 (08:06 +0000)]
Make FNEG and FABS of v4f32 Expand.
llvm-svn: 168029
Craig Topper [Thu, 15 Nov 2012 08:02:19 +0000 (08:02 +0000)]
Make a bunch of floating point operations on vectors Expand so that instruction selection won't fail.
llvm-svn: 168028
Lang Hames [Thu, 15 Nov 2012 07:51:26 +0000 (07:51 +0000)]
Make -ffp-contract a codegen option, rather than a laguage option. This makes
more sense anyway - it determines how expressions are codegen'd. It also ensures
that -ffp-contract=fast has the intended effect when compiling LLVM IR.
llvm-svn: 168027
Craig Topper [Thu, 15 Nov 2012 07:01:39 +0000 (07:01 +0000)]
Add missing documentation for llvm.exp2, llvm.log10, and llvm.log2.
llvm-svn: 168026
Craig Topper [Thu, 15 Nov 2012 06:51:10 +0000 (06:51 +0000)]
Add llvm.ceil, llvm.trunc, llvm.rint, llvm.nearbyint intrinsics.
llvm-svn: 168025
Nick Lewycky [Thu, 15 Nov 2012 05:36:36 +0000 (05:36 +0000)]
Revert r167567, restoring the ability of clang to run gcc in cases where it
can't handle the input file type. This resulted in PR14338.
llvm-svn: 168024
Richard Trieu [Thu, 15 Nov 2012 03:43:50 +0000 (03:43 +0000)]
Fix an off-by-one error by switching < to <= in -Wtautological-constant-out-of-range-compare and added test case.
llvm-svn: 168023
Daniel Jasper [Thu, 15 Nov 2012 03:29:05 +0000 (03:29 +0000)]
Do not use data recursion in ASTMatchFinder.
The matchers rely on the complete AST being traversed as shown by the new test cases.
llvm-svn: 168022
Andrew Trick [Thu, 15 Nov 2012 02:32:22 +0000 (02:32 +0000)]
Fix an obvious merge bug in -join-globalcopies (disabled).
Jakub Staszak spotted this in review. I don't notice these things
until I manually rerun benchmarks. But reducing unit tests is a very
high priority.
llvm-svn: 168021
Jordan Rose [Thu, 15 Nov 2012 02:17:09 +0000 (02:17 +0000)]
[analyzer] Fix test case broken by previous commit.
llvm-svn: 168020
Jordan Rose [Thu, 15 Nov 2012 02:07:23 +0000 (02:07 +0000)]
[analyzer] Make sure calls in synthesized functions have valid path locations.
We do this by using the "most recent" good location: if a synthesized
function 'A' calls another function 'B', the path notes for the call to 'B'
will be placed at the same location as the path note for calling 'A'.
Similarly, the call to 'A' will have a note saying "Entered call from...",
and now we just don't emit that (since the user doesn't have a body to look
at anyway).
Previously, we were doing this for the "Calling..." notes, but not for the
"Entered call from..." or "Returning to caller". This caused a crash when
the path entered and then exiting a call within a synthesized body.
<rdar://problem/
12657843>
llvm-svn: 168019
Sean Callanan [Thu, 15 Nov 2012 02:02:04 +0000 (02:02 +0000)]
In cases where the Objective-C ivar symbols are stripped out,
expressions that refer to ivars will not work because Clang
emits IR that refers to them to get the ivar offsets.
However, it is possible to search the runtime for these values.
I have added support for reading the relevant tables to the
Objective-C runtime, and extended ClangExpressionDeclMap to
query that information if and only if it doesn't find the symbols
in the binary.
Also added a testcase.
<rdar://problem/
12628122>
llvm-svn: 168018
Argyrios Kyrtzidis [Thu, 15 Nov 2012 01:31:39 +0000 (01:31 +0000)]
[PCH] Reading expressions from attributes should be done using ReadExpr(),
not ReadExpr().
Also add a test case making sure the thread safety attributes work as expected
when they come from a PCH.
Fixes rdar://
12584141 & http://llvm.org/PR13982
llvm-svn: 168017
Eli Friedman [Thu, 15 Nov 2012 01:21:59 +0000 (01:21 +0000)]
Fix a trivial bool-related bug I spotted while skimming David Fang's
current list of powerpc-darwin8 failures.
llvm-svn: 168016
Tanya Lattner [Thu, 15 Nov 2012 01:13:31 +0000 (01:13 +0000)]
Add link to cfe-users mailing list.
llvm-svn: 168015
Eric Christopher [Thu, 15 Nov 2012 00:59:52 +0000 (00:59 +0000)]
Add some release notes that say we removed the CellSPU port.
llvm-svn: 168014
NAKAMURA Takumi [Thu, 15 Nov 2012 00:35:50 +0000 (00:35 +0000)]
InstCombineAndOrXor.cpp: Escape bracket in doxygen description. [-Wdocumentation]
llvm-svn: 168013
Richard Smith [Thu, 15 Nov 2012 00:31:27 +0000 (00:31 +0000)]
Per [basic.lookup.classref]p3, in an expression of the form p->~type-name, the
type-name is looked up in the context of the complete postfix-expression. Don't
forget to pass the scope into this lookup when the type-name is a template-id;
it might name an alias template which can't be found within the class itself.
Bug spotted by Johannes Schaub on #llvm.
llvm-svn: 168011
Eli Friedman [Thu, 15 Nov 2012 00:29:07 +0000 (00:29 +0000)]
Fix DiagnoseBitwisePrecedence so it doesn't cast "-1" to the type
BinaryOperator::Opcode. This is bad form, and the behavior of the static_cast
in this case is unspecified according to the standard.
Fixes a warning that showed up from r167992 on self-host.
llvm-svn: 168010
Jakub Staszak [Thu, 15 Nov 2012 00:25:36 +0000 (00:25 +0000)]
Use LLVM_DELETED_FUNCTION.
llvm-svn: 168009
Owen Anderson [Thu, 15 Nov 2012 00:14:15 +0000 (00:14 +0000)]
Add doInitialization and doFinalization methods to ModulePass's, to allow them to be re-initialized and reused on multiple Module's.
Patch by Pedro Artigas.
llvm-svn: 168008
Fariborz Jahanian [Thu, 15 Nov 2012 00:01:28 +0000 (00:01 +0000)]
objective-C blocks: make cc1 flag -encode-extended-block-signature
the default. // rdar://
12109031
llvm-svn: 168007
Jakub Staszak [Wed, 14 Nov 2012 23:58:57 +0000 (23:58 +0000)]
Remove unneeded #includes.
llvm-svn: 168006
Eli Friedman [Wed, 14 Nov 2012 23:57:08 +0000 (23:57 +0000)]
Make template diffing handle integral expressions of various widths correctly.
PR14342.
llvm-svn: 168005
Richard Smith [Wed, 14 Nov 2012 23:55:25 +0000 (23:55 +0000)]
Add -cc1 option -fno-diagnostics-use-presumed-location, a handy mode for
working with preprocessed testcases. This causes source locations in
diagnostics to point at the spelling location instead of the presumed location,
while still keeping the semantic effects of the line directives (entering and
leaving system-header mode, primarily).
llvm-svn: 168004
Argyrios Kyrtzidis [Wed, 14 Nov 2012 23:52:19 +0000 (23:52 +0000)]
[utils/ClangDataFormat.py] Add data formatter for StringRef.
llvm-svn: 168003
Argyrios Kyrtzidis [Wed, 14 Nov 2012 23:52:11 +0000 (23:52 +0000)]
[utils/ClangDataFormat.py] In the summary of SourceLocation, include whether it is
local or loaded.
llvm-svn: 168002
NAKAMURA Takumi [Wed, 14 Nov 2012 23:46:15 +0000 (23:46 +0000)]
NVPTXISelLowering.cpp: Fix warnings. [-Wunused-variable]
llvm-svn: 168001
Enrico Granata [Wed, 14 Nov 2012 23:45:48 +0000 (23:45 +0000)]
<rdar://problem/
12408181> Test case to make sure this area of ObjC support does not regress in the future
llvm-svn: 168000
Bill Schmidt [Wed, 14 Nov 2012 23:23:27 +0000 (23:23 +0000)]
This patch is in preparation for adding medium code model support to the
PPC64 target. The five tests modified herein test code generation that is
sensitive to the code model selected. So I've added -code-model=small to
the RUN commands for each.
Since small code model is the default, this has no effect for now; but this
prepares us for eventually changing the default to medium code model for PPC64.
Test changes verified with small and medium code model as default on
powerpc64-unknown-linux-gnu. All tests continue to pass.
llvm-svn: 167999
Sean Silva [Wed, 14 Nov 2012 23:15:51 +0000 (23:15 +0000)]
docs: Improve typographical correctness.
llvm-svn: 167998
Fariborz Jahanian [Wed, 14 Nov 2012 23:11:38 +0000 (23:11 +0000)]
objective-C blocks: under cc1 flag -encode-extended-block-signature,
generate expanded signature encoding to include types as we
already do this for protocol method lists.
// rdar://
12109031
llvm-svn: 167997
Sean Silva [Wed, 14 Nov 2012 23:11:10 +0000 (23:11 +0000)]
docs: Sphinxify TestSuiteMakefileGuide
Some small related fixups to TestingGuide too.
llvm-svn: 167996
Jordan Rose [Wed, 14 Nov 2012 23:09:52 +0000 (23:09 +0000)]
[analyzer] Fix test in previous commit.
llvm-svn: 167995
Jordan Rose [Wed, 14 Nov 2012 23:03:55 +0000 (23:03 +0000)]
[analyzer] Add a test case for printing a path note at a PreStmt point.
This is also a false-positive test case for <rdar://problem/
12415065>.
<rdar://problem/
12687586>
llvm-svn: 167994
Richard Trieu [Wed, 14 Nov 2012 22:50:24 +0000 (22:50 +0000)]
Improve -Wtautological-constant-out-of-range-compare by taking into account
type conversion between integers. This allows the warning to be more accurate.
Also, turned the warning off in an analyzer test. The relavent test cases
are covered by the tests in Sema.
llvm-svn: 167992
Jakub Staszak [Wed, 14 Nov 2012 22:42:17 +0000 (22:42 +0000)]
Use reserve() to avoid vector reallocation.
llvm-svn: 167991
Douglas Gregor [Wed, 14 Nov 2012 22:29:20 +0000 (22:29 +0000)]
Teach the AST importer to merge enumerator constants. Fixes
<rdar://problem/
12676166>, and tested on the LLDB side of the world.
llvm-svn: 167990
Jakub Staszak [Wed, 14 Nov 2012 22:24:01 +0000 (22:24 +0000)]
Make sure to not get AVX code on an AVX-capable host. Revealed in r167967.
llvm-svn: 167989
NAKAMURA Takumi [Wed, 14 Nov 2012 22:22:37 +0000 (22:22 +0000)]
test/CodeGen/Hexagon/postinc-load.ll: Suppress it for now. It triggered the failure on i686 hosts.
llvm-svn: 167988
Eric Christopher [Wed, 14 Nov 2012 22:13:56 +0000 (22:13 +0000)]
Few more small CellSPU removals.
llvm-svn: 167987
Eric Christopher [Wed, 14 Nov 2012 22:10:47 +0000 (22:10 +0000)]
Fix CMake build.
llvm-svn: 167986
Eli Friedman [Wed, 14 Nov 2012 22:09:59 +0000 (22:09 +0000)]
When evaluating variably modified types for function parameters, dig out the
type as written from the ParmVarDecl; it's unclear whether the standard
(C99 6.9.1p10) requires this, but we're following the precedent set by gcc,
and hopefully nobody will ever ask about this again.
PR9559 / <rdar://problem/
12621983>.
llvm-svn: 167985
Eric Christopher [Wed, 14 Nov 2012 22:09:20 +0000 (22:09 +0000)]
Remove the CellSPU port.
Approved by Chris Lattner.
llvm-svn: 167984
Eric Christopher [Wed, 14 Nov 2012 22:08:59 +0000 (22:08 +0000)]
Remove the cellspu port.
Approved by Chris Lattner.
llvm-svn: 167983
NAKAMURA Takumi [Wed, 14 Nov 2012 21:45:43 +0000 (21:45 +0000)]
ParseTemplate.cpp: Prune obsolete descriptions in ParseSingleDeclarationAfterTemplate(), for now. [-Wdocumentation]
/// \param TemplateParams if non-NULL, the template parameter lists
/// that preceded this declaration. In this case, the declaration is a
/// template declaration, out-of-line definition of a template, or an
/// explicit template specialization. When NULL, the declaration is an
/// explicit template instantiation.
///
/// \param TemplateLoc when TemplateParams is NULL, the location of
/// the 'template' keyword that indicates that we have an explicit
/// template instantiation.
llvm-svn: 167982
Anna Zaks [Wed, 14 Nov 2012 21:32:16 +0000 (21:32 +0000)]
[analyzer] Ensure that CmpRuns recursively walks the output directory.
llvm-svn: 167981
Howard Hinnant [Wed, 14 Nov 2012 21:17:15 +0000 (21:17 +0000)]
Restrict optimized __pad_and_output implementation detail to desired releases.
llvm-svn: 167980
Sean Silva [Wed, 14 Nov 2012 21:09:30 +0000 (21:09 +0000)]
docs: Sphinxify TestingGuide
llvm-svn: 167979
Alexander Kornienko [Wed, 14 Nov 2012 21:07:37 +0000 (21:07 +0000)]
Support for [[@LINE]], [[@LINE+<offset>]], [[@LINE-<offset>]] expressions in
FileCheck.
llvm-svn: 167978
Jakub Staszak [Wed, 14 Nov 2012 21:03:40 +0000 (21:03 +0000)]
Fix invalid asserts, use llvm_unreachable instead.
llvm-svn: 167976
NAKAMURA Takumi [Wed, 14 Nov 2012 21:01:40 +0000 (21:01 +0000)]
llvm/test/CodeGen/X86/memset.ll: FileCheck-ize, and add another case on +avx.
llvm-svn: 167975
Jyotsna Verma [Wed, 14 Nov 2012 20:38:48 +0000 (20:38 +0000)]
Added multiclass for post-increment load instructions.
llvm-svn: 167974
Benjamin Kramer [Wed, 14 Nov 2012 20:31:42 +0000 (20:31 +0000)]
Force CPU in test so we don't accidentally get AVX code on an AVX-capable host.
llvm-svn: 167973
Jakub Staszak [Wed, 14 Nov 2012 20:31:04 +0000 (20:31 +0000)]
canJoinPhys method doesn't modify CoalescerPair. Make it const.
llvm-svn: 167972
Alexander Kornienko [Wed, 14 Nov 2012 20:26:19 +0000 (20:26 +0000)]
Added %(line), %(line+<number>), %(line-<number>) substitutions to lit
llvm-svn: 167971
Chad Rosier [Wed, 14 Nov 2012 20:25:37 +0000 (20:25 +0000)]
Remove dead code.
llvm-svn: 167970
Jakub Staszak [Wed, 14 Nov 2012 20:21:29 +0000 (20:21 +0000)]
Fix comment.
llvm-svn: 167969
Jakub Staszak [Wed, 14 Nov 2012 20:18:34 +0000 (20:18 +0000)]
Remove DOS line endings.
llvm-svn: 167968
Benjamin Kramer [Wed, 14 Nov 2012 20:08:40 +0000 (20:08 +0000)]
X86: Enable SSE memory intrinsics even when stack alignment is less than 16 bytes.
The stack realignment code was fixed to work when there is stack realignment and
a dynamic alloca is present so this shouldn't cause correctness issues anymore.
Note that this also enables generation of AVX instructions for memset
under the assumptions:
- Unaligned loads/stores are always fast on CPUs supporting AVX
- AVX is not slower than SSE
We may need some tweaked heuristics if one of those assumptions turns out not to
be true.
Effectively reverts r58317. Part of PR2962.
llvm-svn: 167967
Hal Finkel [Wed, 14 Nov 2012 19:53:27 +0000 (19:53 +0000)]
Replace std::vector -> SmallVector in BBVectorize
For now, this uses 8 on-stack elements. I'll need to do some profiling
to see if this is the best number.
Pointed out by Jakob in post-commit review.
llvm-svn: 167966
Nadav Rotem [Wed, 14 Nov 2012 19:47:48 +0000 (19:47 +0000)]
Update my email address and update the code ownership
llvm-svn: 167965
Dmitri Gribenko [Wed, 14 Nov 2012 19:42:32 +0000 (19:42 +0000)]
FileCheck.rst: change formatting of code-like constructs to use a monospaced
font. These were formatted in bold, but that's not correct.
llvm-svn: 167964
Nadav Rotem [Wed, 14 Nov 2012 19:39:15 +0000 (19:39 +0000)]
The code pattern "imm0_255_neg" is used for checking if an immediate value is a small negative number.
This patch changes the definition of negative from -0..-255 to -1..-255. I am changing this because of
a bug that we had in some of the patterns that assumed that "subs" of zero does not set the carry flag.
rdar://
12028498
llvm-svn: 167963
Justin Holewinski [Wed, 14 Nov 2012 19:36:27 +0000 (19:36 +0000)]
Add myself as code owner for NVPTX target
llvm-svn: 167962
Sean Silva [Wed, 14 Nov 2012 19:34:48 +0000 (19:34 +0000)]
docs: nuke GCCFEBuildInstrs.html
llvm-svn: 167961
Justin Holewinski [Wed, 14 Nov 2012 19:19:16 +0000 (19:19 +0000)]
[NVPTX] Implement custom lowering of loads/stores for i1
Loads from i1 become loads from i8 followed by trunc
Stores to i1 become zext to i8 followed by store to i8
Fixes PR13291
llvm-svn: 167948
Anton Korobeynikov [Wed, 14 Nov 2012 19:17:44 +0000 (19:17 +0000)]
Fix comment
llvm-svn: 167947
Argyrios Kyrtzidis [Wed, 14 Nov 2012 19:16:13 +0000 (19:16 +0000)]
In ExpressionEvaluationContextRecord manage LambdaMangle with a shared
pointer, otherwise we will double free it when ExpressionEvaluationContextRecord
gets copied.
Fixes crash in rdar://
12645424 & http://llvm.org/PR14252
llvm-svn: 167946
Anton Korobeynikov [Wed, 14 Nov 2012 19:13:30 +0000 (19:13 +0000)]
Fix really stupid ARM EHABI info generation bug: we should not emit
eh table and handler data if there are no landing pads in the function.
Patch by Logan Chien with some cleanups from me.
llvm-svn: 167945
Chad Rosier [Wed, 14 Nov 2012 18:43:21 +0000 (18:43 +0000)]
Claim ownership.
llvm-svn: 167943
Hal Finkel [Wed, 14 Nov 2012 18:38:11 +0000 (18:38 +0000)]
Fix the largest offender of determinism in BBVectorize
Iterating over the children of each node in the potential vectorization
plan must happen in a deterministic order (because it affects which children
are erased when two children conflict). There was no need for this data
structure to be a map in the first place, so replacing it with a vector
is a small change.
I believe that this was the last remaining instance if iterating over the
elements of a Dense* container where the iteration order could matter.
There are some remaining iterations over std::*map containers where the order
might matter, but so long as the Value* for instructions in a block increase
with the order of the instructions in the block (or decrease) monotonically,
then this will appear to be deterministic.
llvm-svn: 167942
Benjamin Kramer [Wed, 14 Nov 2012 18:17:45 +0000 (18:17 +0000)]
Sort the code owner list alphabetically. Add myself as lib/DebugInfo owner.
llvm-svn: 167940
Jim Grosbach [Wed, 14 Nov 2012 18:04:47 +0000 (18:04 +0000)]
X86: Better diagnostics for 32-bit vs. 64-bit mode mismatches.
When an instruction as written requires 32-bit mode and we're assembling
in 64-bit mode, or vice-versa, issue a more specific diagnostic about
what's wrong.
rdar://
12700702
llvm-svn: 167937
Matt Beaumont-Gay [Wed, 14 Nov 2012 17:58:11 +0000 (17:58 +0000)]
s/assert/llvm_unreachable/
llvm-svn: 167936
John McCall [Wed, 14 Nov 2012 17:48:31 +0000 (17:48 +0000)]
The ObjC++-to-C++ personality trick is only necessary on NeXT runtimes,
which is not coincidentally the only place it works, either (because
of how it tests for EH_TYPE symbols).
llvm-svn: 167935
Fariborz Jahanian [Wed, 14 Nov 2012 17:43:08 +0000 (17:43 +0000)]
fixes a buildbot failure.
llvm-svn: 167934
Eric Christopher [Wed, 14 Nov 2012 17:33:40 +0000 (17:33 +0000)]
Grab debug information for code ownership.
llvm-svn: 167933
Fariborz Jahanian [Wed, 14 Nov 2012 17:27:27 +0000 (17:27 +0000)]
Fix 80-column violation.
llvm-svn: 167932