Alexey Samsonov
365f5a5d7b
Revert r173946. This breaks compilation of googletest with Clang
...
llvm-svn: 174048
2013-01-31 08:02:11 +00:00
Bill Wendling
2fe5911bfe
Remove the Attribute::hasAttributes() function.
...
That function doesn't make sense anymore because there's only one attribute per
Attribute object now.
llvm-svn: 174044
2013-01-31 06:22:35 +00:00
Michael Gottesman
6223b4bbb2
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.
...
llvm-svn: 174041
2013-01-31 05:48:48 +00:00
Michael Gottesman
960bb82c24
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.
llvm-svn: 174040
2013-01-31 05:44:04 +00:00
NAKAMURA Takumi
ad566655e3
Revert r174026, "Remove Attribute::hasAttributes() and make Attribute::hasAttribute() private."
...
It broke many hosts to crash.
llvm-svn: 174035
2013-01-31 03:47:28 +00:00
Dan Gohman
eabc737422
Change stripAndComputeConstantOffsets to accept a NULL DataLayout pointer
...
as well.
llvm-svn: 174030
2013-01-31 02:50:36 +00:00
Dan Gohman
c75c606cf7
Add a comment.
...
llvm-svn: 174028
2013-01-31 02:45:26 +00:00
Dan Gohman
6968f40e37
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.
llvm-svn: 174027
2013-01-31 02:40:59 +00:00
Bill Wendling
37dbbd1577
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().
llvm-svn: 174026
2013-01-31 02:18:19 +00:00
Dan Gohman
7eac0c2694
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.
llvm-svn: 174024
2013-01-31 02:00:45 +00:00
Bill Wendling
967a150cda
Make the AttrBuilder creation method of Attribute private so that people won't use it.
...
llvm-svn: 174023
2013-01-31 01:51:27 +00:00
Saleem Abdulrasool
2ed4285578
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.
llvm-svn: 174021
2013-01-31 01:34:59 +00:00
Daniel Dunbar
6acef346f3
[lit] Move unittest adaptor code into discovery module.
...
- Also, add a test for it.
llvm-svn: 174019
2013-01-31 01:23:39 +00:00
Daniel Dunbar
29c19beaa9
[lit] Run the ShUtil tests as part of the test suite.
...
llvm-svn: 174018
2013-01-31 01:23:26 +00:00
Daniel Dunbar
78d1ba3a49
[lit] Set parallel mode for coverage tests.
...
llvm-svn: 174017
2013-01-31 01:23:18 +00:00
Daniel Dunbar
5bab9b90e8
[lit] Move discovery code into its own module.
...
llvm-svn: 174014
2013-01-31 01:14:01 +00:00
Bill Wendling
bc16a254b0
Revert for now:
...
--- Reverse-merging r174010 into '.':
U include/llvm/IR/Attributes.h
U lib/IR/Verifier.cpp
U lib/IR/Attributes.cpp
llvm-svn: 174012
2013-01-31 01:04:51 +00:00
Michael Gottesman
bb4501dec6
Filecheckized 2x tests in SimplifyCFG and removed their date prefix to fit with current llvm style for test names.
...
llvm-svn: 174011
2013-01-31 01:04:23 +00:00
Bill Wendling
d1d96ba2d8
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.
llvm-svn: 174010
2013-01-31 00:53:21 +00:00
Eric Christopher
44ea43314a
Whitespace.
...
llvm-svn: 174009
2013-01-31 00:50:48 +00:00
Eric Christopher
ae708feb79
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).
llvm-svn: 174008
2013-01-31 00:50:46 +00:00
Andrew Trick
74ca4e1a3a
LangRef: Add a Rationale for volatile rules.
...
llvm-svn: 174007
2013-01-31 00:49:39 +00:00
Eli Bendersky
18a780aca3
Replace some more greps with FileChecks in tests
...
llvm-svn: 174006
2013-01-31 00:44:12 +00:00
Dan Gohman
157c7b338a
Minor code simplification.
...
llvm-svn: 174005
2013-01-31 00:32:11 +00:00
Bill Wendling
b7a478403d
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.
llvm-svn: 174003
2013-01-31 00:29:54 +00:00
Daniel Dunbar
40874f9354
[lit] Add a MANIFEST file and a script for sanity checking the source dist.
...
llvm-svn: 174002
2013-01-31 00:21:59 +00:00
Daniel Dunbar
e013a12e40
[lit] Add a basic discovery test.
...
llvm-svn: 174001
2013-01-31 00:21:51 +00:00
Daniel Dunbar
dc2f271868
[lit] Add a script for checking test coverage.
...
llvm-svn: 174000
2013-01-31 00:21:44 +00:00
Daniel Dunbar
28d80bd222
[lit] Add a test suite for lit itself.
...
llvm-svn: 173999
2013-01-31 00:21:39 +00:00
Dan Gohman
65adb5e00a
stripAndComputeConstantOffsets is only called on pointers; check this
...
with an assert instead of failing and requiring callers to check for failure.
llvm-svn: 173998
2013-01-31 00:12:20 +00:00
Eli Bendersky
dc78605596
Rewrite this test properly with a FileCheck instead of greps
...
llvm-svn: 173997
2013-01-31 00:11:52 +00:00
Dan Gohman
e688173b6b
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.
llvm-svn: 173995
2013-01-31 00:01:45 +00:00
Michael Gottesman
0b23f2000b
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.
llvm-svn: 173994
2013-01-30 23:48:13 +00:00
Hal Finkel
32085870d7
PPC QPX requires a 32-byte aligned stack
...
On systems which support the QPX vector instructions, the stack must be
32-byte aligned.
llvm-svn: 173993
2013-01-30 23:43:27 +00:00
Bill Wendling
afbeb93c35
Remove addRetAttributes and addFnAttributes, which aren't useful abstractions.
...
llvm-svn: 173992
2013-01-30 23:40:31 +00:00
Bill Wendling
c926e2a691
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.
llvm-svn: 173990
2013-01-30 23:07:40 +00:00
Evan Cheng
180abcdb1b
Forgot the test case before.
...
llvm-svn: 173988
2013-01-30 22:57:00 +00:00
Evan Cheng
4d1a496923
Restrict sin/cos optimization to 64-bit only for now. 32-bit is a bit messy and less critical.
...
llvm-svn: 173987
2013-01-30 22:56:35 +00:00
Michael Gottesman
2f09172b35
Doxygenified some comments in IRBuilder.h.
...
llvm-svn: 173986
2013-01-30 22:56:31 +00:00
Michael Gottesman
1e063570f0
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.
llvm-svn: 173985
2013-01-30 22:53:21 +00:00
Hal Finkel
c18598b552
Initialize hasQPX in PPCSubtarget
...
This should have gone in with r173973.
llvm-svn: 173984
2013-01-30 22:43:44 +00:00
Michael Gottesman
2a32ac5a3e
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.
llvm-svn: 173983
2013-01-30 22:38:19 +00:00
Bill Wendling
045f95da4a
Remove redundant code.
...
It was creating a new AttrBuilder when we could just fill in the AttrBuilder
we're building.
llvm-svn: 173975
2013-01-30 21:22:59 +00:00
Andrew Trick
4699474140
...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.
llvm-svn: 173974
2013-01-30 21:19:35 +00:00
Hal Finkel
7969f87a01
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.
llvm-svn: 173973
2013-01-30 21:17:42 +00:00
Eli Bendersky
7ab8793a0a
Remove a mention of TargetInstrDescriptor, which no longer exists in the code
...
llvm-svn: 173971
2013-01-30 20:54:21 +00:00
Sean Silva
f99a14bada
[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.
llvm-svn: 173969
2013-01-30 20:39:46 +00:00
Bill Wendling
bc6ec815db
Use the number of 'slots' in the AttributeSetImpl being 0 to indicate that the AttributeSet is empty.
...
llvm-svn: 173962
2013-01-30 19:39:21 +00:00
Eli Bendersky
128c58bab5
Clean up whitespace and indentation a bit
...
llvm-svn: 173960
2013-01-30 19:24:23 +00:00
Manman Ren
871181e2e0
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.
llvm-svn: 173946
2013-01-30 17:42:15 +00:00