- Feb 08, 2013
-
-
Reed Kotler authored
same so we put in the comment field an indicator when we think we are emitting the 16 bit version. For the direct object emitter, the difference is important as well as for other passes which need an accurate count of program size. There will be other similar putbacks to this for various instructions. llvm-svn: 174747
-
Hal Finkel authored
Previously, even when a pre-increment load or store was generated, we often needed to keep a copy of the original base register for use with other offsets. If all of these offsets are constants (including the offset which was combined into the addressing mode), then this is clearly unnecessary. This change adjusts these other offsets to use the new incremented address. llvm-svn: 174746
-
Douglas Gregor authored
read another one, just as we do for types. llvm-svn: 174745
-
Douglas Gregor authored
llvm-svn: 174744
-
Hal Finkel authored
This is a follow-up to the cost-model change in r174713 which splits the cost of a memory operation between the address computation and the actual memory access. In r174713, this cost is always added to the memory operation cost, and so BBVectorize will do the same. Currently, this new cost function is used only by ARM, and I don't have any ARM test cases for BBVectorize. Assistance in generating some good ARM test cases for BBVectorize would be greatly appreciated! llvm-svn: 174743
-
Bill Schmidt authored
llvm-svn: 174742
-
Bob Wilson authored
Aside from the question of whether we report a warning or an error when we can't satisfy a requested stack object alignment, the current implementation of this is not good. We're not providing any source location in the diagnostics and the current warning is not connected to any warning group so you can't control it. We could improve the source location somewhat, but we can do a much better job if this check is implemented in the front-end, so let's do that instead. <rdar://problem/13127907> llvm-svn: 174741
-
Hal Finkel authored
This updates the current references to links that work for me. In the future, we should update the list of references itself to provide information on newer architecture variants. Thanks to Sean Silva for pointing out that the current links were broken! llvm-svn: 174739
-
Manuel Klimek authored
llvm-svn: 174738
-
Manuel Klimek authored
This correctly formats: { a; } where { is incorrectly indented by 2, but is at level 0, when reformatting only 'a;'. llvm-svn: 174737
-
Ted Kremenek authored
Fixes <rdar://problem/12322528>. llvm-svn: 174736
-
Enrico Granata authored
llvm-svn: 174735
-
Argyrios Kyrtzidis authored
'override' on the method. This was fixed in a previous commit, generally handling attributes that are at the end of the declaration. rdar://13140589 llvm-svn: 174734
-
Howard Hinnant authored
llvm-svn: 174733
-
Howard Hinnant authored
llvm-svn: 174732
-
Howard Hinnant authored
llvm-svn: 174731
-
Ted Kremenek authored
llvm-svn: 174730
-
Fariborz Jahanian authored
involving property getter expressions on rhs of property setter. // rdar://13138459 llvm-svn: 174729
-
Daniel Dunbar authored
llvm-svn: 174726
-
Bill Schmidt authored
Thanks to help from Nadav and Hal, I have a more reasonable (and even correct!) approach. This specifically penalizes the insertelement and extractelement operations for the performance hit that will occur on PowerPC processors. llvm-svn: 174725
-
Chad Rosier authored
isn't using the default calling convention. However, if the transformation is from a call to inline IR, then the calling convention doesn't matter. rdar://13157990 llvm-svn: 174724
-
Jakob Stoklund Olesen authored
llvm-svn: 174723
-
Daniel Dunbar authored
- Patch by Michael van der Westhuizen: -- r174404 accidentally removed stdc format, limit and constant macros from the Linux test runner logic. This small patch re-adds the macros. Making this change fixes the following tests on Linux: - depr/depr.c.headers/inttypes_h.pass.cpp - depr/depr.c.headers/stdint_h.pass.cpp - input.output/file.streams/c.files/cinttypes.pass.cpp - language.support/cstdint/cstdint.syn/cstdint.pass.cpp -- llvm-svn: 174722
-
Daniel Dunbar authored
- Basically I just ran the thread tests many many times on a busy machine and bumped the timeouts whenever I hit a test failure. - This is obviously subpar, but is the best I can do without the tests being rewritten to not depend on arbitrary timeouts. llvm-svn: 174721
-
Manuel Klimek authored
Fixes llvm.org/PR14916. llvm-svn: 174720
-
Fariborz Jahanian authored
rewriting bug where #ifdef ended up on the same line as the attribute declaration. llvm-svn: 174719
-
Daniel Jasper authored
They are much easier to handle when attached to the previous token. Before: unsigned Indent = formatFirstToken(TheLine.First, IndentForLevel[TheLine.Level] >= 0 ? IndentForLevel[TheLine.Level] : TheLine.Level * 2, TheLine.InPPDirective, PreviousEndOfLineColumn); After: unsigned Indent = formatFirstToken( TheLine.First, IndentForLevel[TheLine.Level] >= 0 ? IndentForLevel[TheLine.Level] : TheLine.Level * 2, TheLine.InPPDirective, PreviousEndOfLineColumn); llvm-svn: 174718
-
David Tweed authored
of lines which weren't being explicitly looked at and were printing incorrect results. These values clearly must lie within 32 bits, so the casts are definitely safe. llvm-svn: 174717
-
Daniel Jasper authored
With this patch, the formatter introduces 'fake' parenthesis according to the operator precedence of binary operators. Before: return aaaa & AAAAAAAAAAAAAAAAAAAAAAAAAAAAA || bbbb & BBBBBBBBBBBBBBBBBBBBBBBBBBBBB || cccc & CCCCCCCCCCCCCCCCCCCCCCCCCC || dddd & DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD; f(aaaaaaaaaaaaaaaaaaaa && aaaaaaaaaaaaaaaaaaaa, aaaaaaaaaaaaaaaaaaaa && aaaaaaaaaaaaaaaaaaaa, aaaaaaaaaaaaaaaaaaaa && aaaaaaaaaaaaaaaaaaaa); After: return aaaa & AAAAAAAAAAAAAAAAAAAAAAAAAAAAA || bbbb & BBBBBBBBBBBBBBBBBBBBBBBBBBBBB || cccc & CCCCCCCCCCCCCCCCCCCCCCCCCC || dddd & DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD; f(aaaaaaaaaaaaaaaaaaaa && aaaaaaaaaaaaaaaaaaaa, aaaaaaaaaaaaaaaaaaaa && aaaaaaaaaaaaaaaaaaaa, aaaaaaaaaaaaaaaaaaaa && aaaaaaaaaaaaaaaaaaaa); Future improvements: - Get rid of some of the hacky ways to nicely format certain constructs. - Merge this parser and the AnnotatingParser as we now have several parsers that analyze (), [], etc. llvm-svn: 174714
-
Arnold Schwaighofer authored
Adds a function to target transform info to query for the cost of address computation. The cost model analysis pass now also queries this interface. The code in LoopVectorize adds the cost of address computation as part of the memory instruction cost calculation. Only there, we know whether the instruction will be scalarized or not. Increase the penality for inserting in to D registers on swift. This becomes necessary because we now always assume that address computation has a cost and three is a closer value to the architecture. radar://13097204 llvm-svn: 174713
-
Alexey Samsonov authored
Update tests for DWARF parser: store sources next to pre-built object files and provide build instructions llvm-svn: 174711
-
Evgeniy Stepanov authored
llvm-svn: 174710
-
Michael Kuperstein authored
llvm-svn: 174709
-
Evgeniy Stepanov authored
llvm-svn: 174708
-
Timur Iskhodzhanov authored
llvm-svn: 174707
-
Timur Iskhodzhanov authored
llvm-svn: 174706
-
Evgeniy Stepanov authored
llvm-svn: 174705
-
Evgeniy Stepanov authored
This a rewrite of the scanf parser. The new implementation is pretty close to the spec, with a few shortcuts taken here and there. It is conservative, i.e. it gives up parsing if it does not understand some part of the format string, or runs into an ambiguous % spec. It does not handle some rarely used parts of the spec, like %n$ - for now. I'm also moving parser call to after the original *scanf function completes, so that we can find out the store size of %s directive by the use of strlen() on the target buffer. llvm-svn: 174704
-
Daniel Jasper authored
Before: [pboard setData:[NSData dataWithBytes:&button length:sizeof(button)] forType:kBookmarkButtonDragType]; After: [pboard setData:[NSData dataWithBytes:&button length:sizeof(button)] forType:kBookmarkButtonDragType]; llvm-svn: 174701
-
Tim Northover authored
My previous attempt was extremely deficient, allowing more volatiles to be introduced and not even checking all of the ones that are present. This attempt doesn't try to keep track of the values stored or offsets within particular objects, just that the correct objects are accessed in a correctly volatile manner throughout. llvm-svn: 174700
-