Greg Clayton [Tue, 12 Feb 2013 18:52:24 +0000 (18:52 +0000)]
<rdar://problem/
13178743>
Added a new "env" regular expression alias. If "env" is typed on its own "settings show target.env-vars" will be run. Otherwise it can be used to set and environment variable: "env FOO=BAR".
llvm-svn: 174991
Shankar Easwaran [Tue, 12 Feb 2013 18:46:53 +0000 (18:46 +0000)]
add support for merging common strings
llvm-svn: 174990
Chad Rosier [Tue, 12 Feb 2013 18:45:21 +0000 (18:45 +0000)]
[ms-inline asm] Add a few test cases for the parsing of hexidecimal integers.
llvm-svn: 174989
Dan Gohman [Tue, 12 Feb 2013 18:44:43 +0000 (18:44 +0000)]
Check that pointers are removed from maps before calling delete on the pointers,
for tidiness' sake.
llvm-svn: 174988
Greg Clayton [Tue, 12 Feb 2013 18:42:05 +0000 (18:42 +0000)]
<rdar://problem/
13184389>
_regexp-list needs to treat "list -" as "source list -r"
llvm-svn: 174987
Aaron Ballman [Tue, 12 Feb 2013 18:39:15 +0000 (18:39 +0000)]
Removing a signed/unsigned mismatch warning triggered in MSVC 11.
llvm-svn: 174986
Dan Gohman [Tue, 12 Feb 2013 18:38:36 +0000 (18:38 +0000)]
Minor code simplification.
llvm-svn: 174985
Matt Kopec [Tue, 12 Feb 2013 18:30:30 +0000 (18:30 +0000)]
Fix ELF parsing where undefined symbols were being added to the symbol table with the incorrect symbol type.
llvm-svn: 174984
Chad Rosier [Tue, 12 Feb 2013 18:29:02 +0000 (18:29 +0000)]
[ms-inline asm] Add support for lexing binary integers with a [bB] suffix.
This is complicated by backward labels (e.g., 0b can be both a backward label
and a binary zero). The current implementation assumes [0-9]b is always a
label and thus it's possible for 0b and 1b to not be interpreted correctly for
ms-style inline assembly. However, this is relatively simple to fix in the
inline assembly (i.e., drop the [bB]).
This patch also limits backward labels to [0-9]b, so that only 0b and 1b are
ambiguous.
Part of rdar://
12470373
llvm-svn: 174983
Dmitri Gribenko [Tue, 12 Feb 2013 18:26:08 +0000 (18:26 +0000)]
Documentation: HowToUseAttributes: formatting (use monospaced font)
llvm-svn: 174982
Krzysztof Parzyszek [Tue, 12 Feb 2013 18:00:14 +0000 (18:00 +0000)]
Allow optionally generating pubnames section in DWARF info. Introduce
option "generate-dwarf-pubnames" to control it, set to "false" by default.
llvm-svn: 174981
Dmitri Gribenko [Tue, 12 Feb 2013 17:27:41 +0000 (17:27 +0000)]
Accept over-qualified constructor in MSVC emulation mode
MSVC accepts this:
class A {
A::A();
};
Clang accepts regular member functions with extra qualification as an MS
extension, but not constructors. This changes the parser to defer rejecting
qualified constructors so that the same Sema logic can apply to constructors as
regular member functions. This also improves the error message when MS
extensions are disabled (in my opinion). Before it was:
/Users/jason/Desktop/test.cpp:2:8: error: expected member name or ';' after declaration specifiers
A::A();
~~~~ ^
1 error generated.
After:
/Users/jason/Desktop/test.cpp:2:6: error: extra qualification on member 'A'
A::A();
~~~^
1 error generated.
Patch by Jason Haslam.
llvm-svn: 174980
Kay Tiong Khoo [Tue, 12 Feb 2013 17:07:44 +0000 (17:07 +0000)]
added test cases for r174920 (prefetch disassembly)
llvm-svn: 174979
Daniel Jasper [Tue, 12 Feb 2013 16:51:23 +0000 (16:51 +0000)]
Fix bug in the adjustment to existing lines.
Before (if only the second line was reformatted):
void f() {}
void g() {}
After:
void f() {}
void g() {}
llvm-svn: 174978
Sergei Larin [Tue, 12 Feb 2013 16:36:03 +0000 (16:36 +0000)]
Equal treatment of labels and other terminators in MI DAG construction.
MI sched DAG construction allows targets to include terminators into scheduling DAG.
Extend this functionality to labels as well.
llvm-svn: 174977
Krzysztof Parzyszek [Tue, 12 Feb 2013 16:20:28 +0000 (16:20 +0000)]
Add support for the pubnames section to llvm-dwarfdump.
llvm-svn: 174976
Nico Weber [Tue, 12 Feb 2013 16:17:07 +0000 (16:17 +0000)]
Formatter: Correctly format stars in `sizeof(int**)` and similar places.
This redoes how '*' and '&' are classified as pointer / reference markers when
followed by ')', '>', or ','.
Previously, determineStarAmpUsage() marked a single '*' and '&' followed by
')', '>', or ',' as pointer or reference marker. Now, all '*'s and '&'s
preceding ')', '>', or ',' are marked as pointer / reference markers. Fixes
PR14884.
Since only the last '*' in 'int ***' was marked as pointer before (the rest
were unary operators, which don't reach spaceRequiredBetween()),
spaceRequiredBetween() now had to be thought about handing multiple '*'s in
sequence.
Before:
return sizeof(int * *);
Type **A = static_cast<Type * *>(P);
Now:
return sizeof(int**);
Type **A = static_cast<Type **>(P);
While here, also make all methods of AnnotatingParser except parseLine()
private.
Review URL: http://llvm-reviews.chandlerc.com/D384
llvm-svn: 174975
Paul Redmond [Tue, 12 Feb 2013 16:07:27 +0000 (16:07 +0000)]
Fix the lit test added in r174972
Patch by: Kevin Schoedel
llvm-svn: 174974
Jyotsna Verma [Tue, 12 Feb 2013 16:06:23 +0000 (16:06 +0000)]
Hexagon: Add support to generate predicated absolute addressing mode
instructions.
llvm-svn: 174973
Paul Redmond [Tue, 12 Feb 2013 15:21:21 +0000 (15:21 +0000)]
PR14562 - Truncation of left shift became undef
DAGCombiner::ReduceLoadWidth was converting (trunc i32 (shl i64 v, 32))
into (shl i32 v, 32) into undef. To prevent this, check the shift count
against the final result size.
Patch by: Kevin Schoedel
Reviewed by: Nadav Rotem
llvm-svn: 174972
Evgeniy Stepanov [Tue, 12 Feb 2013 14:37:55 +0000 (14:37 +0000)]
[sanitizer] Tests for scanf parser in allowGnuMalloc=false mode.
llvm-svn: 174971
Evgeniy Stepanov [Tue, 12 Feb 2013 14:36:22 +0000 (14:36 +0000)]
[msan] Allow zero buf pointer in getcwd() interceptor.
llvm-svn: 174970
Evgeniy Stepanov [Tue, 12 Feb 2013 14:29:34 +0000 (14:29 +0000)]
[sanitizer] More accurate scanf parsing without GNU extensions.
In __isoc99_*scanf we don't have to worry about GNUisms, and can parse
%a accurately.
Patch by Jakub Jelinek.
llvm-svn: 174969
Justin Holewinski [Tue, 12 Feb 2013 14:18:49 +0000 (14:18 +0000)]
[NVPTX] Disable vector registers
Vectors were being manually scalarized by the backend. Instead,
let the target-independent code do all of the work. The manual
scalarization was from a time before good target-independent support
for scalarization in LLVM. However, this forces us to specially-handle
vector loads and stores, which we can turn into PTX instructions that
produce/consume multiple operands.
llvm-svn: 174968
Edwin Vane [Tue, 12 Feb 2013 13:55:40 +0000 (13:55 +0000)]
Adding more overloads for allOf matcher
Adding overloads of allOf accepting 4 and 5 arguments.
Reviewer: klimek
llvm-svn: 174967
Timur Iskhodzhanov [Tue, 12 Feb 2013 13:22:47 +0000 (13:22 +0000)]
Rename -constructors test to just -structors as in fact it tests dtors too. Also, fix a minor typo in the test.
llvm-svn: 174966
Evgeniy Stepanov [Tue, 12 Feb 2013 12:45:29 +0000 (12:45 +0000)]
[asan] Add new __isoc99_*scanf to ASan intercepted functions list.
llvm-svn: 174965
Alexander Potapenko [Tue, 12 Feb 2013 12:41:12 +0000 (12:41 +0000)]
[ASan] Do not use kDefaultShort64bitShadowOffset on Mac, where the binaries may get mapped at 0x100000000+ and thus may interleave with the shadow.
llvm-svn: 174964
Michel Danzer [Tue, 12 Feb 2013 12:11:23 +0000 (12:11 +0000)]
R600: Fix regression with shadow array sampler on pre-SI GPUs.
'R600/SI: Use proper instructions for array/shadow samplers.' removed two
cases from TEX_SHADOW. Vincent Lejeune reported on IRC that this broke some
shadow array piglit tests with the r600g driver. Reinstating the removed
cases should fix this, and still works with radeonsi as well.
I will follow up with some lit tests which would have caught the regression.
NOTE: This is a candidate for the Mesa stable branch.
Tested-by: Vincent Lejeune <vljn@ovi.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 174963
Evgeniy Stepanov [Tue, 12 Feb 2013 12:02:49 +0000 (12:02 +0000)]
[sanitizer] Missing changes from r174960.
llvm-svn: 174962
Joe Abbey [Tue, 12 Feb 2013 11:45:22 +0000 (11:45 +0000)]
Adding a HowTo for Attributes.
This is based on Bill Wendling's email. No additional content has been added,
but now there's a place for Attributes to capture future information.
llvm-svn: 174961
Evgeniy Stepanov [Tue, 12 Feb 2013 11:34:52 +0000 (11:34 +0000)]
[sanitizer] Intercept __isoc99_*scanf.
llvm-svn: 174960
Kostya Serebryany [Tue, 12 Feb 2013 11:14:24 +0000 (11:14 +0000)]
[asan] fix tests for the new ABI
llvm-svn: 174959
Kostya Serebryany [Tue, 12 Feb 2013 11:11:58 +0000 (11:11 +0000)]
[asan] change the default mapping offset on x86_64 to 0x7fff8000. This gives roughly 5% speedup. Since this is an ABI change, bump the asan ABI version by renaming __asan_init to __asan_init_v1. compiler-rt part
llvm-svn: 174958
Kostya Serebryany [Tue, 12 Feb 2013 11:11:02 +0000 (11:11 +0000)]
[asan] change the default mapping offset on x86_64 to 0x7fff8000. This gives roughly 5% speedup. Since this is an ABI change, bump the asan ABI version by renaming __asan_init to __asan_init_v1. llvm part, compiler-rt part will follow
llvm-svn: 174957
Alexey Samsonov [Tue, 12 Feb 2013 10:46:39 +0000 (10:46 +0000)]
[MSan] symbolize correct PC when printing Summary message
llvm-svn: 174956
Bill Wendling [Tue, 12 Feb 2013 10:13:06 +0000 (10:13 +0000)]
Merge the collected attributes into the call instruction's attributes.
llvm-svn: 174955
Bill Wendling [Tue, 12 Feb 2013 09:14:20 +0000 (09:14 +0000)]
Test for string attributes and for attribute group output.
llvm-svn: 174954
Nick Lewycky [Tue, 12 Feb 2013 08:59:01 +0000 (08:59 +0000)]
Attempt to fix this test on i686 targets.
llvm-svn: 174953
Bill Wendling [Tue, 12 Feb 2013 08:13:50 +0000 (08:13 +0000)]
Have the bitcode writer and reader handle the new attribute references.
The bitcode writer emits a reference to the attribute group that the object at
the given index refers to. The bitcode reader is modified to read this in and
map it back to the attribute group.
llvm-svn: 174952
Nick Lewycky [Tue, 12 Feb 2013 08:08:54 +0000 (08:08 +0000)]
The meat of this patch is in BuildCXXMemberCalLExpr where we make it use
MarkMemberReferenced instead of marking functions referenced directly. An audit
of callers to MarkFunctionReferenced and DiagnoseUseOfDecl also caused a few
other changes:
* don't mark functions odr-used when considering them for an initialization
sequence. Do mark them referenced though.
* the function nominated by the cleanup attribute should be diagnosed.
* operator new/delete should be diagnosed when building a 'new' expression.
llvm-svn: 174951
Bill Wendling [Tue, 12 Feb 2013 08:01:22 +0000 (08:01 +0000)]
Use the AttributeSet as the 'key' to the map instead of the 'raw' pointer.
llvm-svn: 174950
Sean Callanan [Tue, 12 Feb 2013 08:01:13 +0000 (08:01 +0000)]
Made LLDB build with the latest Clang. This meant
changing the ClangASTSource to return a bool instead
of returning a list of results. Our testsuite mostly
works with this change, but some minor issues may
remain both on LLDB's side and on Clang's side.
llvm-svn: 174949
Bill Wendling [Tue, 12 Feb 2013 07:56:49 +0000 (07:56 +0000)]
Support string attributes in the AttrBuilder.
llvm-svn: 174948
Sean Callanan [Tue, 12 Feb 2013 07:56:36 +0000 (07:56 +0000)]
Fixed the way the ClangExpressionDeclMap looks
up variables in the current stack frame to avoid
mutual recursion between the expression parser
and the synthetic child providers. Variables
should only be looked up in a very simple way,
using no synthetic anything.
<rdar://problem/
13173454>
llvm-svn: 174947
John McCall [Tue, 12 Feb 2013 05:53:35 +0000 (05:53 +0000)]
Properly assemble PHIs after a null-checked invoke of objc_msgSend.
rdar://
12046763
llvm-svn: 174946
Cameron Zwarich [Tue, 12 Feb 2013 05:48:58 +0000 (05:48 +0000)]
Don't consider definitions by other PHIs live-in when trimming a PHI source's
live range after inserting a copy at the end of a block.
llvm-svn: 174945
Cameron Zwarich [Tue, 12 Feb 2013 05:48:56 +0000 (05:48 +0000)]
Fix indentation.
llvm-svn: 174944
Richard Smith [Tue, 12 Feb 2013 05:48:23 +0000 (05:48 +0000)]
Fix a bug reduced from a crash when trying to use modules with libc++. We check
the linkage of functions and variables while merging declarations from modules,
and we don't necessarily have enough of the rest of the AST loaded at that
point to allow us to compute linkage, so serialize it instead.
llvm-svn: 174943
Anton Yartsev [Tue, 12 Feb 2013 05:02:54 +0000 (05:02 +0000)]
+ specified progress information
llvm-svn: 174942
Anton Yartsev [Tue, 12 Feb 2013 04:45:48 +0000 (04:45 +0000)]
+ centered progress cells
+ added progress information for several checkers
llvm-svn: 174941
John McCall [Tue, 12 Feb 2013 03:51:46 +0000 (03:51 +0000)]
Call __cxa_begin_catch with the current exception before
calling std::terminate(). rdar://
11904428
llvm-svn: 174940
John McCall [Tue, 12 Feb 2013 03:51:38 +0000 (03:51 +0000)]
Change some CGF parameters to CGMs.
llvm-svn: 174939
Cameron Zwarich [Tue, 12 Feb 2013 03:49:25 +0000 (03:49 +0000)]
Add a hidden option to PHIElimination to split all critical edges. This is
particularly useful for catching issues with architectures that have exotic
terminators like MIPS.
llvm-svn: 174938
Cameron Zwarich [Tue, 12 Feb 2013 03:49:22 +0000 (03:49 +0000)]
Renumber SlotIndexes locally when a new block is inserted.
llvm-svn: 174937
Cameron Zwarich [Tue, 12 Feb 2013 03:49:20 +0000 (03:49 +0000)]
Add blocks to the LiveIntervalAnalysis RegMaskBlocks array when splitting
a critical edge.
llvm-svn: 174936
Cameron Zwarich [Tue, 12 Feb 2013 03:49:17 +0000 (03:49 +0000)]
Fix the updating of LiveIntervals after splitting a critical edge. PHI operand
live ranges should always be extended, and the only successor that should be
considered for extension of other ranges is the target of the split edge.
llvm-svn: 174935
Pete Cooper [Tue, 12 Feb 2013 03:14:50 +0000 (03:14 +0000)]
Check type for legality before forming a select from loads.
Sorry for the lack of a test case. I tried writing one for i386 as i know selects are illegal on this target, but they are actually considered legal by isel and expanded later.
I can't see any targets to trigger this, but checking for the legality of a node before forming it is general goodness.
llvm-svn: 174934
Arnold Schwaighofer [Tue, 12 Feb 2013 02:40:39 +0000 (02:40 +0000)]
ARM cost model: Add vector reverse shuffle costs
A reverse shuffle is lowered to a vrev and possibly a vext instruction (quad
word).
radar://
13171406
llvm-svn: 174933
Arnold Schwaighofer [Tue, 12 Feb 2013 02:40:37 +0000 (02:40 +0000)]
Cost model: Add check for reverse shuffles to CostModel analysis
Check for reverse shuffles in the CostModel analysis pass and query
TargetTransform info accordingly. This allows us we can write test cases for
reverse shuffles.
radar://
13171406
llvm-svn: 174932
Richard Smith [Tue, 12 Feb 2013 02:32:35 +0000 (02:32 +0000)]
Remove an assert which triggers when a decl context in a module hits the 'has
lexical storage but not visible storage' case in C++. It's unclear whether we
even need the special-case handling for C++, since it seems to be working
around our not serializing a lookup table for the TU in C. But in any case,
the assertion is incorrect.
llvm-svn: 174931
John McCall [Tue, 12 Feb 2013 02:08:12 +0000 (02:08 +0000)]
Perform placeholder conversions on the controller of a _Generic
expression.
llvm-svn: 174930
Arnold Schwaighofer [Tue, 12 Feb 2013 01:58:32 +0000 (01:58 +0000)]
ARM NEON: Handle v16i8 and v8i16 reverse shuffles
Lower reverse shuffles to a vrev64 and a vext instruction instead of the default
legalization of storing and loading to the stack. This is important because we
generate reverse shuffles in the loop vectorizer when we reverse store to an
array.
uint8_t Arr[N];
for (i = 0; i < N; ++i)
Arr[N - i - 1] = ...
radar://
13171760
llvm-svn: 174929
John McCall [Tue, 12 Feb 2013 01:29:43 +0000 (01:29 +0000)]
Diagnose loads of 'half' l-values in OpenCL.
Patch by Joey Gouly!
llvm-svn: 174928
Chad Rosier [Tue, 12 Feb 2013 01:12:24 +0000 (01:12 +0000)]
Update error message due to previous commit, r174926.
llvm-svn: 174927
Chad Rosier [Tue, 12 Feb 2013 01:00:01 +0000 (01:00 +0000)]
[ms-inline asm] Add support for lexing hexidecimal integers with a [hH] suffix.
Part of rdar://
12470373
llvm-svn: 174926
Lang Hames [Tue, 12 Feb 2013 00:44:43 +0000 (00:44 +0000)]
Backing out r174919 while I investigate a self-host bug on Takumi's builder.
llvm-svn: 174925
David Blaikie [Tue, 12 Feb 2013 00:40:41 +0000 (00:40 +0000)]
DIBuilder: make the return type of createBasicType more specific
llvm-svn: 174924
Daniel Malea [Tue, 12 Feb 2013 00:31:40 +0000 (00:31 +0000)]
Minor update to Vim frontend: simplify breakpoints display (and list unresolved breakpoints)
llvm-svn: 174923
John McCall [Tue, 12 Feb 2013 00:25:08 +0000 (00:25 +0000)]
In ARC, emit non-peepholed +1s within the full-expression instead
of immediately afterwards.
llvm-svn: 174922
John McCall [Tue, 12 Feb 2013 00:25:02 +0000 (00:25 +0000)]
Split a couple of tests out into their own file.
llvm-svn: 174921
Kay Tiong Khoo [Tue, 12 Feb 2013 00:19:12 +0000 (00:19 +0000)]
Added 0x0D to 2-byte opcode extension table for prefetch* variants
Fixed decode of existing 3dNow prefetchw instruction
Intel is scheduled to add a compatible prefetchw (same encoding) to future CPUs
llvm-svn: 174920
Lang Hames [Mon, 11 Feb 2013 23:44:11 +0000 (23:44 +0000)]
When generating IR for default copy-constructors, copy-assignment operators,
move-constructors and move-assignment operators, use memcpy to copy adjacent
POD members.
Previously, classes with one or more Non-POD members would fall back on
element-wise copies for all members, including POD members. This often
generated a lot of IR. Without padding metadata, it wasn't often possible
for the LLVM optimizers to turn the element-wise copies into a memcpy.
This code hasn't yet received any serious tuning. I didn't see any serious
regressions on a self-hosted clang build, or any of the nightly tests, but
I think it's important to get this out in the wild to get more testing.
Insights, feedback and comments welcome.
Many thanks to David Blaikie, Richard Smith, and especially John McCall for
their help and feedback on this work.
llvm-svn: 174919
Tanya Lattner [Mon, 11 Feb 2013 23:32:10 +0000 (23:32 +0000)]
Timing data was removed years ago. Remove these links.
llvm-svn: 174918
Michael J. Spencer [Mon, 11 Feb 2013 23:03:35 +0000 (23:03 +0000)]
[ELF] Add support for reading dynamic libraries.
llvm-svn: 174916
Hal Finkel [Mon, 11 Feb 2013 23:02:17 +0000 (23:02 +0000)]
BBVectorize: Don't over-search when building the dependency map
When building the pairable-instruction dependency map, don't search
past the last pairable instruction. For large blocks that have been
divided into multiple instruction groups, searching past the last
instruction in each group is very wasteful. This gives a 32% speedup
on the csa.ll test case from PR15222 (when using 50 instructions
in each group).
No functionality change intended.
llvm-svn: 174915
Hal Finkel [Mon, 11 Feb 2013 23:02:09 +0000 (23:02 +0000)]
BBVectorize: Omit unnecessary entries in PairableInstUsers
This map is queried only for instructions in pairs of pairable
instructions; so make sure that only pairs of pairable
instructions are added to the map. This gives a 3.5% speedup
on the csa.ll test case from PR15222.
No functionality change intended.
llvm-svn: 174914
Michael J. Spencer [Mon, 11 Feb 2013 22:51:07 +0000 (22:51 +0000)]
[Support][Compiler] Add LLVM_HAS_VARIADIC_TEMPLATES.
llvm-svn: 174913
Akira Hatanaka [Mon, 11 Feb 2013 22:35:40 +0000 (22:35 +0000)]
[mips] Expand pseudo instructions before they are emitted in
MipsCodeEmitter.cpp.
JALR and NOP are expanded by function emitPseudoExpansionLowering, which is not
called when the old JIT is used.
This fixes the following tests which have been failing on
llvm-mips-linux builder:
LLVM :: ExecutionEngine__2003-01-04-LoopTest.ll
LLVM :: ExecutionEngine__2003-05-06-LivenessClobber.ll
LLVM :: ExecutionEngine__2003-06-04-bzip2-bug.ll
LLVM :: ExecutionEngine__2005-12-02-TailCallBug.ll
LLVM :: ExecutionEngine__2003-10-18-PHINode-ConstantExpr-CondCode-Failure.ll
LLVM :: ExecutionEngine__hello2.ll
LLVM :: ExecutionEngine__stubs.ll
LLVM :: ExecutionEngine__test-branch.ll
LLVM :: ExecutionEngine__test-call.ll
LLVM :: ExecutionEngine__test-common-symbols.ll
LLVM :: ExecutionEngine__test-loadstore.ll
LLVM :: ExecutionEngine__test-loop.ll
llvm-svn: 174912
Bill Wendling [Mon, 11 Feb 2013 22:33:26 +0000 (22:33 +0000)]
Rename AttributeSets to AttributeGroups so that it's more meaningful.
llvm-svn: 174911
Bill Wendling [Mon, 11 Feb 2013 22:32:29 +0000 (22:32 +0000)]
Use a std::map so that we record the group ID.
llvm-svn: 174910
Bill Wendling [Mon, 11 Feb 2013 22:31:34 +0000 (22:31 +0000)]
Rename to something more sensible. No functionality change.
llvm-svn: 174909
Akira Hatanaka [Mon, 11 Feb 2013 22:03:52 +0000 (22:03 +0000)]
[mips] Fix indentation.
llvm-svn: 174907
Richard Smith [Mon, 11 Feb 2013 22:02:16 +0000 (22:02 +0000)]
Don't bother reconciling external visible decls against our current set of
declarations if we didn't have a lookup map when the external decls were added.
llvm-svn: 174906
Michael Ilseman [Mon, 11 Feb 2013 21:41:44 +0000 (21:41 +0000)]
Optimization: bitcast (<1 x ...> insertelement ..., X, ...) to ... ==> bitcast X to ...
llvm-svn: 174905
Krzysztof Parzyszek [Mon, 11 Feb 2013 21:37:55 +0000 (21:37 +0000)]
Extend Hexagon hardware loop generation to handle various additional cases:
- variety of compare instructions,
- loops with no preheader,
- arbitrary lower and upper bounds.
llvm-svn: 174904
Michael Ilseman [Mon, 11 Feb 2013 21:36:49 +0000 (21:36 +0000)]
Remove trailing whitespace
llvm-svn: 174903
Daniel Dunbar [Mon, 11 Feb 2013 21:04:34 +0000 (21:04 +0000)]
[tests] Another batch of timeout increases.
llvm-svn: 174902
Krzysztof Parzyszek [Mon, 11 Feb 2013 20:04:29 +0000 (20:04 +0000)]
Implement HexagonInstrInfo::analyzeCompare.
llvm-svn: 174901
Kay Tiong Khoo [Mon, 11 Feb 2013 19:46:36 +0000 (19:46 +0000)]
*fixed disassembly of some i386 system insts with intel syntax
*added file for test cases for i386 intel syntax
llvm-svn: 174900
Fariborz Jahanian [Mon, 11 Feb 2013 19:30:33 +0000 (19:30 +0000)]
objective-C modern translator: Fixes a mistranslation
of @throw statement by finding location of the ';'
correctly. // rdar://
13186010
llvm-svn: 174898
Jim Ingham [Mon, 11 Feb 2013 19:05:29 +0000 (19:05 +0000)]
Forgot to add the testsuite for the changes I checked in on Friday.
llvm-svn: 174897
Justin Holewinski [Mon, 11 Feb 2013 18:56:35 +0000 (18:56 +0000)]
[NVPTX] Remove NoCapture from address space conversion intrinsics. NoCapture is not valid in this case, and was causing incorrect optimizations.
llvm-svn: 174896
Douglas Gregor [Mon, 11 Feb 2013 18:16:18 +0000 (18:16 +0000)]
[Modules] Cope better with top-level declarations loaded after being declared in the current translation unit <rdar://problem/
13189985>.
These two related tweaks to keep the information associated with a
given identifier correct when the identifier has been given some
top-level information (say, a top-level declaration) and more
information is then loaded from a module. The first ensures that an
identifier that was "interesting" before being loaded from an AST is
considered to be different from its on-disk counterpart. Otherwise, we
lose such changes when writing the current translation unit as a
module.
Second, teach the code that injects AST-loaded names into the
identifier chain for name lookup to keep the most recent declaration,
so that we don't end up confusing our declaration chains by having a
different declaration in there.
llvm-svn: 174895
Tobias Grosser [Mon, 11 Feb 2013 17:52:36 +0000 (17:52 +0000)]
[isl-codegen]: Fix off by one in getNumberOfIterations
We need to remove one dimension. Any is correct as long as it exists. We have
choosen for whatever reason the dimension #dims - 2. This is incorrect if
there is just one dimension. For CLooG this case did never happen. For isl
however, the case can happen and causes undefined behavior including crashes.
We choose now always the last dimension #dims - 1. We could have choosen
dimension '0' but the last dimension is what we remove conceptionally in the
algorithm, so it seems better to actually program it that way.
While at it remove another piece of undefined behavior.
llvm-svn: 174894
Hal Finkel [Mon, 11 Feb 2013 17:19:34 +0000 (17:19 +0000)]
BBVectorize: Eliminate one more restricted linear search
This eliminates one more linear search over a range of
std::multimap entries. This gives a 22% speedup on the
csa.ll test case from PR15222.
No functionality change intended.
llvm-svn: 174893
Daniel Malea [Mon, 11 Feb 2013 17:18:14 +0000 (17:18 +0000)]
Add Vim frontend to LLDB.
- Access any LLDB CLI command in Vim by typing ":L<command>". Tab-completion
works too!
- See source locations for breakpoints and the current PC with vim "marks"
and highlights.
- Examine backtraces, locals, disassembly, registers, and breakpoints in
dedicated Vim windows.
- See when in-scope variables and registers change by watching for (red)
highlights.
This plugin opens multiple Vim "windows" to display debugger information.
To quit all windows at the same time use ":qa". The alternative would be
":q" to close each window separately.
This plugin is known to work on Mac OS X (Mountain Lion) with MacVim and
the system-provided terminal Vim, and on Linux (Ubuntu 12.04 and 12.10)
with GVim and the terminal Vim from the "vim-gnome" package.
llvm-svn: 174892
Tim Northover [Mon, 11 Feb 2013 16:28:12 +0000 (16:28 +0000)]
AArch64: generate dwarfdump test rather than include .o in subversion
llvm-svn: 174891
Michel Danzer [Mon, 11 Feb 2013 15:58:21 +0000 (15:58 +0000)]
R600/SI: Use V_ADD_F32 instead of V_MOV_B32 for clamp/neg/abs modifiers.
The modifiers don't seem to have any effect with V_MOV_B32, supposedly it's
meant to just move bits untouched.
Fixes 46 piglit tests with radeonsi, though unfortunately 11 of those had
just regressed because they started using the clamp modifier.
NOTE: This is a candidate for the Mesa stable branch.
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 174890
Nico Weber [Mon, 11 Feb 2013 15:32:15 +0000 (15:32 +0000)]
Formatter: Detect ObjC message expressions after 'in' in loop
Before:
for (id foo in[self getStuffFor : bla]) {
}
Now:
for (id foo in [self getStuffFor:bla]) {
}
"in" is treated as loop keyword if the line starts with "for", and as a
regular identifier else. To check for "in", its IdentifierInfo is handed
through a few layers.
llvm-svn: 174889