Michael Gottesman [Sun, 3 Feb 2013 09:57:15 +0000 (09:57 +0000)]
Added clarification paragraph to LangRef's documentation of
GlobalVariable about LLVM's assumptions vis-a-vis Global Variable
initial values and Global Variable initializers.
This is in preparation for adding the new keyword
externally_initialized.
Specifically, the patch explains how LLVM optimizes global initializers
by assumign that global variables defined within the module are not
modified from their initial values before the start of the global
initializer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174269
91177308-0d34-0410-b5e6-
96231b3b80d8
David Blaikie [Sat, 2 Feb 2013 05:56:24 +0000 (05:56 +0000)]
Remove the (apparently) unnecessary debug info metadata indirection.
The main lists of debug info metadata attached to the compile_unit had an extra
layer of metadata nodes they went through for no apparent reason. This patch
removes that (& still passes just as much of the GDB 7.5 test suite). If anyone
can show evidence as to why these extra metadata nodes are there I'm open to
reverting this patch & documenting why they're there.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174266
91177308-0d34-0410-b5e6-
96231b3b80d8
Reed Kotler [Sat, 2 Feb 2013 04:07:35 +0000 (04:07 +0000)]
Start static relocation implementation for mips16.
This checkin makes hello world work.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174264
91177308-0d34-0410-b5e6-
96231b3b80d8
Manman Ren [Sat, 2 Feb 2013 01:34:38 +0000 (01:34 +0000)]
Removing ssp and uwtable from the testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174259
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Sat, 2 Feb 2013 00:52:44 +0000 (00:52 +0000)]
Remove AttrBuilder::Raw().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174251
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Sat, 2 Feb 2013 00:42:06 +0000 (00:42 +0000)]
Use the AttributeSet's iterators.
Use the AttributeSet's iterators in AttrBuilder::hasAttributes() when
determining of the intersection of the AttrBuilder and AttributeSet is non-null.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174250
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Sat, 2 Feb 2013 00:25:26 +0000 (00:25 +0000)]
Revert accidental commit (ran svn commit from wrong directory).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174241
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Sat, 2 Feb 2013 00:22:37 +0000 (00:22 +0000)]
This patch makes "&Cls::purevfn" not an odr use. This isn't what the standard
says, but that's a defect (to be filed). "Cls::purevfn()" is still an odr use.
Also fixes a bug in the previous patch that caused us to not mark the function
referenced just because we didn't want to mark it odr used.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174240
91177308-0d34-0410-b5e6-
96231b3b80d8
Shuxin Yang [Sat, 2 Feb 2013 00:22:03 +0000 (00:22 +0000)]
rdar://
13126763
Fix a bug in DAGCombine. The symptom is mistakenly optimizing expression
"x + x*x" into "x * 3.0".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174239
91177308-0d34-0410-b5e6-
96231b3b80d8
Manman Ren [Sat, 2 Feb 2013 00:02:03 +0000 (00:02 +0000)]
Correct indentation for dumping LexicalScope.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174237
91177308-0d34-0410-b5e6-
96231b3b80d8
Manman Ren [Fri, 1 Feb 2013 23:54:37 +0000 (23:54 +0000)]
[Dwarf] avoid emitting multiple AT_const_value for static memebers.
Testing case is reduced from MultiSource/BenchMarks/Prolangs-C++/deriv1.
rdar://problem/
13071590
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174235
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Schmidt [Fri, 1 Feb 2013 23:10:09 +0000 (23:10 +0000)]
Add notes about future PowerPC features
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174232
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Schmidt [Fri, 1 Feb 2013 22:59:51 +0000 (22:59 +0000)]
LLVM enablement for some older PowerPC CPUs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174230
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Fri, 1 Feb 2013 22:32:30 +0000 (22:32 +0000)]
Change the AttributeImpl to hold a single Constant* for the values.
This Constant could be an aggregate to represent multiple values.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174228
91177308-0d34-0410-b5e6-
96231b3b80d8
Preston Gurd [Fri, 1 Feb 2013 20:41:27 +0000 (20:41 +0000)]
This patch aims to improve compile time performance by increasing
the SCEV vector size in LoopStrengthReduce. It is observed that
the BaseRegs vector size is 4 in most cases,
and elements are frequently copied when it is initialized as
SmallVector<const SCEV *, 2> BaseRegs.
Our benchmark results show that the compilation time performance
improved by ~0.5%.
Patch by Wan Xiaofei.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174219
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 1 Feb 2013 19:37:52 +0000 (19:37 +0000)]
Add a testcase for some past-the-end address subtleties.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174210
91177308-0d34-0410-b5e6-
96231b3b80d8
David Sehr [Fri, 1 Feb 2013 19:28:09 +0000 (19:28 +0000)]
Two changes relevant to LEA and x32:
1) allows the use of RIP-relative addressing in 32-bit LEA instructions under
x86-64 (ILP32 and LP64)
2) separates the size of address registers in 64-bit LEA instructions from
control by ILP32/LP64.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174208
91177308-0d34-0410-b5e6-
96231b3b80d8
Nadav Rotem [Fri, 1 Feb 2013 19:25:23 +0000 (19:25 +0000)]
Fix errant fallthrough in the generation of the lifetime markers.
Found by Alexander Kornienko.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174207
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Fri, 1 Feb 2013 18:57:06 +0000 (18:57 +0000)]
Fix misplaced 'break'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174205
91177308-0d34-0410-b5e6-
96231b3b80d8
Chad Rosier [Fri, 1 Feb 2013 17:49:07 +0000 (17:49 +0000)]
Use a continue to simplify loop and reduce indentation. No functional change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174198
91177308-0d34-0410-b5e6-
96231b3b80d8
Jyotsna Verma [Fri, 1 Feb 2013 16:40:06 +0000 (16:40 +0000)]
Hexagon: Test case to confirm generation of indexed loads with zero offset.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174196
91177308-0d34-0410-b5e6-
96231b3b80d8
Jyotsna Verma [Fri, 1 Feb 2013 16:36:16 +0000 (16:36 +0000)]
Replace LDriu*[bhdw]_indexed_V4 instructions with "def Pats".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174193
91177308-0d34-0410-b5e6-
96231b3b80d8
Jyotsna Verma [Fri, 1 Feb 2013 15:54:43 +0000 (15:54 +0000)]
Add appropriate TSFlags to the instructions that must be always extended.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174186
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Fri, 1 Feb 2013 15:21:10 +0000 (15:21 +0000)]
InstSimplify: stripAndComputeConstantOffsets can be called with vectors of pointers too.
Prepare it for vectors of pointers and handle simple cases. We don't handle
complicated cases because accumulateConstantOffset bails on pointer vectors.
Fixes selfhost on i386.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174179
91177308-0d34-0410-b5e6-
96231b3b80d8
Tim Northover [Fri, 1 Feb 2013 14:55:05 +0000 (14:55 +0000)]
Remove currently unused register decoder from AArch64.
This should fix a warning when building this backend.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174177
91177308-0d34-0410-b5e6-
96231b3b80d8
Tim Northover [Fri, 1 Feb 2013 11:40:47 +0000 (11:40 +0000)]
Add explicit triples to AArch64 tests
Only Linux is supported at the moment, and other platforms quickly fault. As a
result these tests would fail on non-Linux hosts. It may be worth making the
tests more generic again as more platforms are supported.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174170
91177308-0d34-0410-b5e6-
96231b3b80d8
Nadav Rotem [Fri, 1 Feb 2013 07:59:33 +0000 (07:59 +0000)]
Revert r174152. The shift amount may overflow and in that case this transformation is illegal.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174156
91177308-0d34-0410-b5e6-
96231b3b80d8
Nadav Rotem [Fri, 1 Feb 2013 06:45:40 +0000 (06:45 +0000)]
Optimize shift lefts of a constant by a value plus constant into a single shift.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174152
91177308-0d34-0410-b5e6-
96231b3b80d8
Sean Silva [Fri, 1 Feb 2013 03:50:20 +0000 (03:50 +0000)]
[docs] Fixup fallout from other grammar fixup.
My "excuse" for not refactoring the grammar here is to not diverge too
far from the grammar in the comments of TGParser.cpp, since I'm not
taking on the quest of majorly refactoring TGParser.cpp at the moment.
One benefit of doing this is that Ideas for refactoring and clarifying
the grammar in this document should translate almost immediately to
beneficial refactorings that can be made to TGParser.cpp.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174144
91177308-0d34-0410-b5e6-
96231b3b80d8
Sean Silva [Fri, 1 Feb 2013 03:32:38 +0000 (03:32 +0000)]
[docs] Add missing colon to TableGen grammar.
Spotted by Eli Bendersky.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174143
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Trick [Fri, 1 Feb 2013 03:19:54 +0000 (03:19 +0000)]
MachineModel: Inconsequential TableGen SubtargetEmitter fix.
Drive by fix. I noticed some missing logic that might bite future
users. This shouldn't affect the final output on currently modeled
targets.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174142
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Fri, 1 Feb 2013 01:04:27 +0000 (01:04 +0000)]
Remove some dead code, improve some asserts, and other assorted changes. No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174132
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 1 Feb 2013 00:49:06 +0000 (00:49 +0000)]
Add a comment explaining an unavailable optimization.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174131
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Fri, 1 Feb 2013 00:48:14 +0000 (00:48 +0000)]
Remove one of the odious 'Raw' methods.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174130
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Fri, 1 Feb 2013 00:13:50 +0000 (00:13 +0000)]
Use iterators instead of relying upon a bitmask of attributes to remove attributes from an AttrBuilder.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174123
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 1 Feb 2013 00:11:13 +0000 (00:11 +0000)]
Rewrite instsimplify's handling if icmp on pointer values to remove the
remaining use of AliasAnalysis concepts such as isIdentifiedObject to
prove pointer inequality.
@external_compare in test/Transforms/InstSimplify/compare.ll shows a simple
case where a noalias argument can be equal to a global variable address, and
while AliasAnalysis can get away with saying that these pointers don't alias,
instsimplify cannot say that they are not equal.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174122
91177308-0d34-0410-b5e6-
96231b3b80d8
Chandler Carruth [Fri, 1 Feb 2013 00:04:33 +0000 (00:04 +0000)]
Fix another typo in the classof definitions that doesn't (currently)
have any effect. Spotted by Eli in review, thanks!!!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174121
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Thu, 31 Jan 2013 23:53:05 +0000 (23:53 +0000)]
Add iterators to the AttributeSet class so that we can access the Attributes in a nice way.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174120
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 31 Jan 2013 23:49:33 +0000 (23:49 +0000)]
An alloca can be equal to an argument. It can't *alias* an alloca, but it could
be equal, since there's nothing preventing a caller from correctly predicting
the stack location of an alloca.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174119
91177308-0d34-0410-b5e6-
96231b3b80d8
Chandler Carruth [Thu, 31 Jan 2013 23:43:14 +0000 (23:43 +0000)]
Switch the code added in r173885 to use the new, shiny RTTI
infrastructure on MCStreamer to test for whether there is an
MCELFStreamer object available.
This is just a cleanup on the AsmPrinter side of things, moving ad-hoc
tests of random APIs to a direct type query. But the AsmParser
completely broken. There were no tests, it just blindly cast its
streamer to an MCELFStreamer and started manipulating it.
I don't have a test case -- this actually failed on LLVM's own
regression test suite. Unfortunately the failure only appears when the
stars, compilers, and runtime align to misbehave when we read a pointer
to a formatted_raw_ostream as-if it were an MCAssembler. =/
UBSan would catch this immediately.
Many thanks to Matt for doing about 80% of the debugging work here in
GDB, Jim for helping to explain how exactly to fix this, and others for
putting up with the hair pulling that ensued during debugging it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174118
91177308-0d34-0410-b5e6-
96231b3b80d8
Chandler Carruth [Thu, 31 Jan 2013 23:43:12 +0000 (23:43 +0000)]
Fix a think-o in the condition here. =[ I would commit the test that
caught this, but I want that in a separate commit in case there is
a need to revert the actual functional bit as part of reverting other
patches. This way, the commits relating to just getting the RTTI bits in
place are separate from the functional changes that start using them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174117
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Thu, 31 Jan 2013 23:38:01 +0000 (23:38 +0000)]
s/AttrBuilder::addAttributes/AttrBuilder::addAttribute/g because that's more descriptive of what it actually is.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174116
91177308-0d34-0410-b5e6-
96231b3b80d8
Chandler Carruth [Thu, 31 Jan 2013 23:34:47 +0000 (23:34 +0000)]
Fix a copy/paste-o that got missed because 'check' doesn't build lto.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174115
91177308-0d34-0410-b5e6-
96231b3b80d8
Chandler Carruth [Thu, 31 Jan 2013 23:29:57 +0000 (23:29 +0000)]
Give the MCStreamer class hierarchy LLVM RTTI facilities for use with
isa<> and dyn_cast<>. In several places, code is already hacking around
the absence of this, and there seem to be several interfaces that might
be lifted and/or devirtualized using this.
This change was based on a discussion with Jim Grosbach about how best
to handle testing for specific MCStreamer subclasses. He said that this
was the correct end state, and everything else was too hacky so
I decided to just make it so.
No functionality should be changed here, this is just threading the kind
through all the constructors and setting up the classof overloads.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174113
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Thu, 31 Jan 2013 23:16:25 +0000 (23:16 +0000)]
Remove the AttrBuilder form of the Attribute::get creators.
The AttrBuilder is for building a collection of attributes. The Attribute object
holds only one attribute. So it's not really useful for the Attribute object to
have a creator which takes an AttrBuilder.
This has two fallouts:
1. The AttrBuilder no longer holds its internal attributes in a bit-mask form.
2. The attributes are now ordered alphabetically (hence why the tests have changed).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174110
91177308-0d34-0410-b5e6-
96231b3b80d8
Richard Smith [Thu, 31 Jan 2013 23:02:23 +0000 (23:02 +0000)]
Regenerate configure to hopefully fix buildbot breakage. Oh how I love autoconf.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174108
91177308-0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Thu, 31 Jan 2013 22:55:51 +0000 (22:55 +0000)]
Update AMDGPURegisterInfo::eliminateFrameIndex() corresponding to r174083.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174106
91177308-0d34-0410-b5e6-
96231b3b80d8
Richard Smith [Thu, 31 Jan 2013 22:19:12 +0000 (22:19 +0000)]
Add -Wno-nested-anon-types to -pedantic builds of LLVM. This Clang warning
catches uses of an extremely minor and widely-available C++ extension (which
every C++ compiler I could find supports, but EDG and Clang reject in strict
mode).
The diagnosed code pattern looks like this:
struct X {
union {
struct {
int a;
int b;
} S;
};
};
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174103
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 31 Jan 2013 22:15:20 +0000 (22:15 +0000)]
[lit] Add a test for internal shell execution behaviors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174102
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 31 Jan 2013 22:15:15 +0000 (22:15 +0000)]
[lit] Change to raise InternalShellError for all command execution issues.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174101
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 31 Jan 2013 22:13:00 +0000 (22:13 +0000)]
Document another instsimplify assumption.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174100
91177308-0d34-0410-b5e6-
96231b3b80d8
Tom Stellard [Thu, 31 Jan 2013 22:11:54 +0000 (22:11 +0000)]
R600: Fold clamp, neg, abs
Patch by: Vincent Lejeune
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174099
91177308-0d34-0410-b5e6-
96231b3b80d8
Tom Stellard [Thu, 31 Jan 2013 22:11:53 +0000 (22:11 +0000)]
R600: Consider bitcast when folding const_address node.
Patch by: Vincent Lejeune
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174098
91177308-0d34-0410-b5e6-
96231b3b80d8
Tom Stellard [Thu, 31 Jan 2013 22:11:46 +0000 (22:11 +0000)]
R600: Make store_dummy intrinsic more general by passing export type
Patch by: Vincent Lejeune
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174097
91177308-0d34-0410-b5e6-
96231b3b80d8
Chad Rosier [Thu, 31 Jan 2013 21:23:44 +0000 (21:23 +0000)]
Remove unused variable, which should have been removed with r174083.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174094
91177308-0d34-0410-b5e6-
96231b3b80d8
Manman Ren [Thu, 31 Jan 2013 21:19:18 +0000 (21:19 +0000)]
Linker: correctly link in dbg.declare
This is a re-worked version of r174048.
Given source IR:
call void @llvm.dbg.declare(metadata !{i32* %argc.addr}, metadata !14), !dbg !15
we used to generate
call void @llvm.dbg.declare(metadata !27, metadata !28), !dbg !29
!27 = metadata !{null}
With this patch, we will correctly generate
call void @llvm.dbg.declare(metadata !{i32* %argc.addr}, metadata !27), !dbg !28
Looking up %argc.addr in ValueMap will return null, since %argc.addr is already
correctly set up, we can use identity mapping.
rdar://problem/
13089880
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174093
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Thu, 31 Jan 2013 20:59:05 +0000 (20:59 +0000)]
Add support for emitting a string attribute.
Attributes that are strings are typically target-dependent attributes. They are
of this form in the IR:
"attr"
"attr" = "val"
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174090
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 31 Jan 2013 20:58:16 +0000 (20:58 +0000)]
[lit] Fix bug where InternalShellError messages were discarded.
- Also, change the exit code to match 'sh'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174089
91177308-0d34-0410-b5e6-
96231b3b80d8
Chad Rosier [Thu, 31 Jan 2013 20:57:50 +0000 (20:57 +0000)]
Add braces, so my head doesn't explode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174088
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 31 Jan 2013 20:51:17 +0000 (20:51 +0000)]
[lit] Fix a shell parsing bug with ';' not separated by whitespace.
- Testing finds bugs, who knew.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174087
91177308-0d34-0410-b5e6-
96231b3b80d8
Tim Northover [Thu, 31 Jan 2013 20:46:53 +0000 (20:46 +0000)]
Update AArch64 backend to changed eliminateFrameIndex interface.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174086
91177308-0d34-0410-b5e6-
96231b3b80d8
Lang Hames [Thu, 31 Jan 2013 20:23:43 +0000 (20:23 +0000)]
When lowering memcpys to loads and stores, make sure we don't promote alignments
past the natural stack alignment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174085
91177308-0d34-0410-b5e6-
96231b3b80d8
Manman Ren [Thu, 31 Jan 2013 20:05:14 +0000 (20:05 +0000)]
[Dwarf] early exit to avoid creating dangling DIEs
We used to create children DIEs for a scope, then check whether ScopeDIE is
null. If ScopeDIE is null, the children DIEs will be dangling. Other DIEs can
link to those dangling DIEs, which are not emitted at all, causing dwarf error.
The current testing case is 4k lines, from MultiSource/BenchMark/McCat/09-vor.
rdar://problem/
13071959
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174084
91177308-0d34-0410-b5e6-
96231b3b80d8
Chad Rosier [Thu, 31 Jan 2013 20:02:54 +0000 (20:02 +0000)]
[PEI] Pass the frame index operand number to the eliminateFrameIndex function.
Each target implementation was needlessly recomputing the index.
Part of rdar://
13076458
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174083
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 31 Jan 2013 19:46:59 +0000 (19:46 +0000)]
interpreter: Fix errant fallthrough.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174080
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 31 Jan 2013 19:46:57 +0000 (19:46 +0000)]
Object: Fix errant fallthrough.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174079
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Thu, 31 Jan 2013 19:46:28 +0000 (19:46 +0000)]
RuntimeDyld: Fix errant fallthrough.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174078
91177308-0d34-0410-b5e6-
96231b3b80d8
Edwin Vane [Thu, 31 Jan 2013 18:05:54 +0000 (18:05 +0000)]
Turn off missing field initializer warnings for gcc
gcc produces false positives for empty braces so turning the warning off.
Instead, turning the warning on for clang so proper warnings aren't missed.
Reviewers: dblaikie, chandlerc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174073
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 31 Jan 2013 18:05:01 +0000 (18:05 +0000)]
[lit] Add a test for the various ShTest format features.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174072
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 31 Jan 2013 18:04:45 +0000 (18:04 +0000)]
[lit] TestRunner: Eliminate failDueToStderr argument, which is now unused.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174071
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 31 Jan 2013 18:04:38 +0000 (18:04 +0000)]
[lit] Delete the now-unused SyntaxCheckTest format.
- Also, kill the pointless LitFormats module.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174070
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Thu, 31 Jan 2013 17:56:23 +0000 (17:56 +0000)]
Clarify intent.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174068
91177308-0d34-0410-b5e6-
96231b3b80d8
Derek Schuff [Thu, 31 Jan 2013 17:00:03 +0000 (17:00 +0000)]
[MC] bundle alignment: prevent padding instructions from crossing bundle boundaries
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174067
91177308-0d34-0410-b5e6-
96231b3b80d8
Tim Northover [Thu, 31 Jan 2013 12:51:16 +0000 (12:51 +0000)]
Add myself as code owner of AArch64 backend.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174056
91177308-0d34-0410-b5e6-
96231b3b80d8
Tim Northover [Thu, 31 Jan 2013 12:12:40 +0000 (12:12 +0000)]
Add AArch64 as an experimental target.
This patch adds support for AArch64 (ARM's 64-bit architecture) to
LLVM in the "experimental" category. Currently, it won't be built
unless requested explicitly.
This initial commit should have support for:
+ Assembly of all scalar (i.e. non-NEON, non-Crypto) instructions
(except the late addition CRC instructions).
+ CodeGen features required for C++03 and C99.
+ Compilation for the "small" memory model: code+static data <
4GB.
+ Absolute and position-independent code.
+ GNU-style (i.e. "__thread") TLS.
+ Debugging information.
The principal omission, currently, is performance tuning.
This patch excludes the NEON support also reviewed due to an outbreak of
batshit insanity in our legal department. That will be committed soon bringing
the changes to precisely what has been approved.
Further reviews would be gratefully received.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174054
91177308-0d34-0410-b5e6-
96231b3b80d8
Pekka Jaaskelainen [Thu, 31 Jan 2013 10:33:22 +0000 (10:33 +0000)]
Made the min-trip-count-switch test X86-specific to avoid
breakage with builds without X86-support.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174052
91177308-0d34-0410-b5e6-
96231b3b80d8
Evgeniy Stepanov [Thu, 31 Jan 2013 09:58:59 +0000 (09:58 +0000)]
Annotate BumpPtrAllocator for MemorySanitizer.
This change adds MemorySanitizer annotations to BumpPtrAllocator to
improve report quality.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174051
91177308-0d34-0410-b5e6-
96231b3b80d8
Alexey Samsonov [Thu, 31 Jan 2013 08:02:11 +0000 (08:02 +0000)]
Revert r173946. This breaks compilation of googletest with Clang
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174048
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Thu, 31 Jan 2013 06:22:35 +0000 (06:22 +0000)]
Remove the Attribute::hasAttributes() function.
That function doesn't make sense anymore because there's only one attribute per
Attribute object now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174044
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael Gottesman [Thu, 31 Jan 2013 05:48:48 +0000 (05:48 +0000)]
Fixed a mistake in my previous commit where I changed the wording slightly and forgot to undo the change after changing my mind and deciding to only commit the style changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174041
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael Gottesman [Thu, 31 Jan 2013 05:44:04 +0000 (05:44 +0000)]
Formatting Fix. Changed " to `` around the word 'constant' in the Lang Ref
section Global Variable so that the style matches the other keywords in
said section.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174040
91177308-0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Thu, 31 Jan 2013 03:47:28 +0000 (03:47 +0000)]
Revert r174026, "Remove Attribute::hasAttributes() and make Attribute::hasAttribute() private."
It broke many hosts to crash.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174035
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 31 Jan 2013 02:50:36 +0000 (02:50 +0000)]
Change stripAndComputeConstantOffsets to accept a NULL DataLayout pointer
as well.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174030
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 31 Jan 2013 02:45:26 +0000 (02:45 +0000)]
Add a comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174028
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 31 Jan 2013 02:40:59 +0000 (02:40 +0000)]
Move isKnownNonNull out of AliasAnalysis.h and into ValueTracking.cpp since
it isn't really an AliasAnalysis concept, and ValueTracking has similar things
that it could plausibly share code with some day.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174027
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Thu, 31 Jan 2013 02:18:19 +0000 (02:18 +0000)]
Remove Attribute::hasAttributes() and make Attribute::hasAttribute() private.
The Attribute::hasAttributes() is kind of meaningless since an Attribute can
have only one attribute. And we would rather people use the 'operator=='
instead of Attribute::hasAttribute().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174026
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 31 Jan 2013 02:00:45 +0000 (02:00 +0000)]
Change GetPointerBaseWithConstantOffset's DataLayout argument from a
reference to a pointer, so that it can handle the case where DataLayout
is not available and behave conservatively.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174024
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Thu, 31 Jan 2013 01:51:27 +0000 (01:51 +0000)]
Make the AttrBuilder creation method of Attribute private so that people won't use it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174023
91177308-0d34-0410-b5e6-
96231b3b80d8
Saleem Abdulrasool [Thu, 31 Jan 2013 01:34:59 +0000 (01:34 +0000)]
build: @ENABLE_THREADS@ => @LLVM_ENABLE_THREADS@
Makefile.config does not have the value for ENABLE_THREADS substituted as the
variable is called LLVM_ENABLE_THREADS within configure.ac. This was pointed
out by zygoloid over IRC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174021
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 31 Jan 2013 01:23:39 +0000 (01:23 +0000)]
[lit] Move unittest adaptor code into discovery module.
- Also, add a test for it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174019
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 31 Jan 2013 01:23:26 +0000 (01:23 +0000)]
[lit] Run the ShUtil tests as part of the test suite.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174018
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 31 Jan 2013 01:23:18 +0000 (01:23 +0000)]
[lit] Set parallel mode for coverage tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174017
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 31 Jan 2013 01:14:01 +0000 (01:14 +0000)]
[lit] Move discovery code into its own module.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174014
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Thu, 31 Jan 2013 01:04:51 +0000 (01:04 +0000)]
Revert for now:
--- Reverse-merging r174010 into '.':
U include/llvm/IR/Attributes.h
U lib/IR/Verifier.cpp
U lib/IR/Attributes.cpp
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174012
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael Gottesman [Thu, 31 Jan 2013 01:04:23 +0000 (01:04 +0000)]
Filecheckized 2x tests in SimplifyCFG and removed their date prefix to fit with current llvm style for test names.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174011
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Thu, 31 Jan 2013 00:53:21 +0000 (00:53 +0000)]
Remove the AttrBuilder version of the Attribute::get function.
The AttrBuilder is there to build up multiple attributes. The Attribute class
represents only one attribute at a time. So remove this unnecessary builder
creator method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174010
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Thu, 31 Jan 2013 00:50:48 +0000 (00:50 +0000)]
Whitespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174009
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Thu, 31 Jan 2013 00:50:46 +0000 (00:50 +0000)]
Check and allow floating point registers to select the size of the
register for inline asm. This conforms to how gcc allows for effective
casting of inputs into gprs (fprs is already handled).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174008
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Trick [Thu, 31 Jan 2013 00:49:39 +0000 (00:49 +0000)]
LangRef: Add a Rationale for volatile rules.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174007
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Bendersky [Thu, 31 Jan 2013 00:44:12 +0000 (00:44 +0000)]
Replace some more greps with FileChecks in tests
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174006
91177308-0d34-0410-b5e6-
96231b3b80d8