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
Dan Gohman [Thu, 31 Jan 2013 00:32:11 +0000 (00:32 +0000)]
Minor code simplification.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174005
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Thu, 31 Jan 2013 00:29:54 +0000 (00:29 +0000)]
Make sure that the Attribute object represents one attribute only.
Several places were still treating the Attribute object as respresenting
multiple attributes. Those places now use the AttributeSet to represent
multiple attributes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174003
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 31 Jan 2013 00:21:59 +0000 (00:21 +0000)]
[lit] Add a MANIFEST file and a script for sanity checking the source dist.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174002
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 31 Jan 2013 00:21:51 +0000 (00:21 +0000)]
[lit] Add a basic discovery test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174001
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 31 Jan 2013 00:21:44 +0000 (00:21 +0000)]
[lit] Add a script for checking test coverage.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174000
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Thu, 31 Jan 2013 00:21:39 +0000 (00:21 +0000)]
[lit] Add a test suite for lit itself.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173999
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 31 Jan 2013 00:12:20 +0000 (00:12 +0000)]
stripAndComputeConstantOffsets is only called on pointers; check this
with an assert instead of failing and requiring callers to check for failure.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173998
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Bendersky [Thu, 31 Jan 2013 00:11:52 +0000 (00:11 +0000)]
Rewrite this test properly with a FileCheck instead of greps
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173997
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 31 Jan 2013 00:01:45 +0000 (00:01 +0000)]
Fix ConstantFold's folding of icmp instructions to recognize that,
for example, a one-past-the-end pointer from one global variable may
be equal to the base pointer of another global variable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173995
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael Gottesman [Wed, 30 Jan 2013 23:48:13 +0000 (23:48 +0000)]
Added a unit test for r173983 that verifies that Target.isiOS() works correctly.
As a bonus I put in some extra checks to make sure that we are identifying the
machine word of various Mac OS X/iOS targets appropriately.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173994
91177308-0d34-0410-b5e6-
96231b3b80d8
Hal Finkel [Wed, 30 Jan 2013 23:43:27 +0000 (23:43 +0000)]
PPC QPX requires a 32-byte aligned stack
On systems which support the QPX vector instructions, the stack must be
32-byte aligned.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173993
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 30 Jan 2013 23:40:31 +0000 (23:40 +0000)]
Remove addRetAttributes and addFnAttributes, which aren't useful abstractions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173992
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 30 Jan 2013 23:07:40 +0000 (23:07 +0000)]
Convert typeIncompatible to return an AttributeSet.
There are still places which treat the Attribute object as a collection of
attributes. I'm systematically removing them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173990
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 30 Jan 2013 22:57:00 +0000 (22:57 +0000)]
Forgot the test case before.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173988
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 30 Jan 2013 22:56:35 +0000 (22:56 +0000)]
Restrict sin/cos optimization to 64-bit only for now. 32-bit is a bit messy and less critical.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173987
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael Gottesman [Wed, 30 Jan 2013 22:56:31 +0000 (22:56 +0000)]
Doxygenified some comments in IRBuilder.h.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173986
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael Gottesman [Wed, 30 Jan 2013 22:53:21 +0000 (22:53 +0000)]
Removed CreateFPExtOrFPTrunc for now until I have the time to get in my vector convert patch.
What I thought was going to be a quick thing has extended out a little bit in
time *sigh*. So after some thought in order to not cruft up the tree I am
removing this for now since it is the right thing to do.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173985
91177308-0d34-0410-b5e6-
96231b3b80d8
Hal Finkel [Wed, 30 Jan 2013 22:43:44 +0000 (22:43 +0000)]
Initialize hasQPX in PPCSubtarget
This should have gone in with r173973.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173984
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael Gottesman [Wed, 30 Jan 2013 22:38:19 +0000 (22:38 +0000)]
Encapsulate testing that we have an iOS Triple in Triple.h in the method isiOS
so we follow the convention that all other platforms follow by having an is*
test method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173983
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 30 Jan 2013 21:22:59 +0000 (21:22 +0000)]
Remove redundant code.
It was creating a new AttrBuilder when we could just fill in the AttrBuilder
we're building.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173975
91177308-0d34-0410-b5e6-
96231b3b80d8
Andrew Trick [Wed, 30 Jan 2013 21:19:35 +0000 (21:19 +0000)]
...in light of recent activity related to llvm.memcpy flags. I want to
prevent an llvm developer from mistakenly thinking that just because the
intrinsic has volatile flags that volatile operations can be converted
to or folded into them.
Platforms may rely on volatile loads and stores of natively supported
data width to be executed as single instruction. When compiling
C, this expectation likely holds for l-values of volatile primitive
types with native hardware support, but not necessarily for aggregate
types. The frontend upholds these expectations, which are not
specified in the IR.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173974
91177308-0d34-0410-b5e6-
96231b3b80d8
Hal Finkel [Wed, 30 Jan 2013 21:17:42 +0000 (21:17 +0000)]
Add definitions for the PPC a2q core marked as having QPX available
This is the first commit of a large series which will add support for the
QPX vector instruction set to the PowerPC backend. This instruction set is
used on the IBM Blue Gene/Q supercomputers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173973
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Bendersky [Wed, 30 Jan 2013 20:54:21 +0000 (20:54 +0000)]
Remove a mention of TargetInstrDescriptor, which no longer exists in the code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173971
91177308-0d34-0410-b5e6-
96231b3b80d8
Sean Silva [Wed, 30 Jan 2013 20:39:46 +0000 (20:39 +0000)]
[docs] Guide prospective TableGen backend writers.
Boilerplate is often the hardest part of getting started with these
kinds of things, so throw them a bone.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173969
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 30 Jan 2013 19:39:21 +0000 (19:39 +0000)]
Use the number of 'slots' in the AttributeSetImpl being 0 to indicate that the AttributeSet is empty.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173962
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Bendersky [Wed, 30 Jan 2013 19:24:23 +0000 (19:24 +0000)]
Clean up whitespace and indentation a bit
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173960
91177308-0d34-0410-b5e6-
96231b3b80d8
Manman Ren [Wed, 30 Jan 2013 17:42:15 +0000 (17:42 +0000)]
Linker: correctly link in dbg.declare
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173946
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Bendersky [Wed, 30 Jan 2013 16:30:19 +0000 (16:30 +0000)]
Add a special ARM trap encoding for NaCl.
More details in this thread: http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-
20130128/163783.html
Patch by JF Bastien
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173943
91177308-0d34-0410-b5e6-
96231b3b80d8
Logan Chien [Wed, 30 Jan 2013 15:48:50 +0000 (15:48 +0000)]
Add missing header and test cases for r173939.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173941
91177308-0d34-0410-b5e6-
96231b3b80d8
Logan Chien [Wed, 30 Jan 2013 15:39:04 +0000 (15:39 +0000)]
Override virtual function for ARM EH directives.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173939
91177308-0d34-0410-b5e6-
96231b3b80d8
Dmitri Gribenko [Wed, 30 Jan 2013 15:10:12 +0000 (15:10 +0000)]
LLDB uses ConvertUTF16toUTF8, remove #ifdef
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173936
91177308-0d34-0410-b5e6-
96231b3b80d8
Dmitri Gribenko [Wed, 30 Jan 2013 12:05:05 +0000 (12:05 +0000)]
Move UTF conversion routines from clang/lib/Basic to llvm/lib/Support
This is required to use them in TableGen.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173923
91177308-0d34-0410-b5e6-
96231b3b80d8
Patrik Hagglund [Wed, 30 Jan 2013 09:02:06 +0000 (09:02 +0000)]
Documentation: Updating the data layout default specifications to
correspond to the code.
Patch by Stephen McGruer.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173914
91177308-0d34-0410-b5e6-
96231b3b80d8
Alexey Samsonov [Wed, 30 Jan 2013 07:27:45 +0000 (07:27 +0000)]
[lit] Make GoogleTest test runner correctly discover tests in the source root
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173907
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 30 Jan 2013 06:54:41 +0000 (06:54 +0000)]
Attempt to fix dragonegg. Use the number of slots to determine if the AttributeSet has attributes or not.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173902
91177308-0d34-0410-b5e6-
96231b3b80d8
Nadav Rotem [Wed, 30 Jan 2013 06:35:22 +0000 (06:35 +0000)]
InstCombine: canonicalize sext-and --> select
sext-not-and --> select.
Patch by Muhammad Tauqir Ahmad.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173901
91177308-0d34-0410-b5e6-
96231b3b80d8
Saleem Abdulrasool [Wed, 30 Jan 2013 04:44:17 +0000 (04:44 +0000)]
build: regenerate configure
Regenerate configure script for new option to make the buildbots happy.
Signed-off-by: Saleem Abdulrasool <compnerd@compnerd.org>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173893
91177308-0d34-0410-b5e6-
96231b3b80d8
Saleem Abdulrasool [Wed, 30 Jan 2013 04:07:37 +0000 (04:07 +0000)]
build: add --with-python option
This adds a new --with-python option to allow configuration of the python binary
for building. If not specified, $PATH will be searched for common python binary
names (python, python2, python3). If specified, and the path is not executable,
it will attempt to search $PATH.
Signed-off-by: Saleem Abdulrasool <compnerd@compnerd.org>
Reviewed-by: Eric Christopher <echristo@gmail.com>, Daniel Dunbar <daniel@zuster.org>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173890
91177308-0d34-0410-b5e6-
96231b3b80d8
David Blaikie [Wed, 30 Jan 2013 03:04:07 +0000 (03:04 +0000)]
Removing initializer for the field removed in r173887
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173888
91177308-0d34-0410-b5e6-
96231b3b80d8
David Blaikie [Wed, 30 Jan 2013 02:56:02 +0000 (02:56 +0000)]
Remove unused variable (introduced in r173884) to clear clang -Werror build
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173887
91177308-0d34-0410-b5e6-
96231b3b80d8
Jack Carter [Wed, 30 Jan 2013 02:32:36 +0000 (02:32 +0000)]
Forgot to add new file to CMakeLists
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173886
91177308-0d34-0410-b5e6-
96231b3b80d8
Jack Carter [Wed, 30 Jan 2013 02:24:33 +0000 (02:24 +0000)]
This patch implements runtime ARM specific
setting of ELF header e_flags.
Contributer: Jack Carter
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173885
91177308-0d34-0410-b5e6-
96231b3b80d8
Jack Carter [Wed, 30 Jan 2013 02:16:36 +0000 (02:16 +0000)]
This patch implements runtime Mips specific
setting of ELF header e_flags.
Contributer: Jack Carter
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173884
91177308-0d34-0410-b5e6-
96231b3b80d8
Jack Carter [Wed, 30 Jan 2013 02:09:52 +0000 (02:09 +0000)]
This patch reworks how llvm targets set
and update ELF header e_flags.
Currently gathering information such as symbol,
section and data is done by collecting it in an
MCAssembler object. From MCAssembler and MCAsmLayout
objects ELFObjectWriter::WriteObject() forms and
streams out the ELF object file.
This patch just adds a few members to the MCAssember
class to store and access the e_flag settings. It
allows for runtime additions to the e_flag by
assembler directives. The standalone assembler can
get to MCAssembler from getParser().getStreamer().getAssembler().
This patch is the generic infrastructure and will be
followed by patches for ARM and Mips for their target
specific use.
Contributer: Jack Carter
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173882
91177308-0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Wed, 30 Jan 2013 01:38:03 +0000 (01:38 +0000)]
[autoconf]: Fix description in HAVE_CRASHREPORTER_INFO.
http://llvm-reviews.chandlerc.com/D332
Signed-off-by: Saleem Abdulrasool <compnerd@compnerd.org>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173879
91177308-0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Wed, 30 Jan 2013 01:37:55 +0000 (01:37 +0000)]
[autoconf] Fix m4 quoting for newer autotools
This simply fixes up quoting of macro invocations to appease newer versions of autotools.
http://llvm-reviews.chandlerc.com/D332
Signed-off-by: Saleem Abdulrasool <compnerd@compnerd.org>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173878
91177308-0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Wed, 30 Jan 2013 01:37:49 +0000 (01:37 +0000)]
[autoconf] Fix 80+ and quoting.
Additional quoting for safety and satisfying newer autotools. Fix a couple of 80 column violations.
http://llvm-reviews.chandlerc.com/D333
Signed-off-by: Saleem Abdulrasool <compnerd@compnerd.org>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173877
91177308-0d34-0410-b5e6-
96231b3b80d8
Akira Hatanaka [Wed, 30 Jan 2013 00:28:15 +0000 (00:28 +0000)]
[mips] Test case for r173862.
Patch by Sasa Stankovic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173863
91177308-0d34-0410-b5e6-
96231b3b80d8
Akira Hatanaka [Wed, 30 Jan 2013 00:26:49 +0000 (00:26 +0000)]
[mips] Lower EH_RETURN.
Patch by Sasa Stankovic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173862
91177308-0d34-0410-b5e6-
96231b3b80d8
Daniel Dunbar [Wed, 30 Jan 2013 00:12:24 +0000 (00:12 +0000)]
[lit] Add some TODO notes to myself.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173857
91177308-0d34-0410-b5e6-
96231b3b80d8
Renato Golin [Tue, 29 Jan 2013 23:31:38 +0000 (23:31 +0000)]
Adding simple cast cost to ARM
Changing ARMBaseTargetMachine to return ARMTargetLowering intead of
the generic one (similar to x86 code).
Tests showing which instructions were added to cast when necessary
or cost zero when not. Downcast to 16 bits are not lowered in NEON,
so costs are not there yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173849
91177308-0d34-0410-b5e6-
96231b3b80d8
Dmitri Gribenko [Tue, 29 Jan 2013 23:27:45 +0000 (23:27 +0000)]
Remove unused variable (unused since r173839)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173847
91177308-0d34-0410-b5e6-
96231b3b80d8
Dmitri Gribenko [Tue, 29 Jan 2013 23:14:41 +0000 (23:14 +0000)]
Documentation: add empty lines so that lists are properly recognized
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173845
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael Gottesman [Tue, 29 Jan 2013 22:29:59 +0000 (22:29 +0000)]
Made certain small functions in PtrState inlined.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173842
91177308-0d34-0410-b5e6-
96231b3b80d8