Elena Demikhovsky
e0e69a33a0
The test avx-intel-ocl.ll failed. I can't reproduce on any of my machines. I added -mcpu flag, may be it will fix the problem
...
llvm-svn: 166669
2012-10-25 08:38:42 +00:00
Chandler Carruth
acdc5e812d
Another fix for a build-bot reported API mismatch.
...
llvm-svn: 166668
2012-10-25 07:42:03 +00:00
Chandler Carruth
2435330ead
Try to revive the Polly builders after this LLVM API change.
...
llvm-svn: 166666
2012-10-25 07:25:56 +00:00
Michael Liao
c6696b04db
Atom has SIMD instruction set extension up to SSSE3
...
llvm-svn: 166665
2012-10-25 07:06:48 +00:00
Michael Liao
6d810bd9b8
Clean up where SlotSize should be used instead of pointer size.
...
llvm-svn: 166664
2012-10-25 06:29:14 +00:00
Chandler Carruth
58d0556765
Teach SROA how to split whole-alloca integer loads and stores into
...
smaller integer loads and stores.
The high-level motivation is that the frontend sometimes generates
a single whole-alloca integer load or store during ABI lowering of
splittable allocas. We need to be able to break this apart in order to
see the underlying elements and properly promote them to SSA values. The
hope is that this fixes some performance regressions on x86-32 with the
new SROA pass.
Unfortunately, this causes quite a bit of churn in the test cases, and
bloats some IR that comes out. When we see an alloca that consists soley
of bits and bytes being extracted and re-inserted, we now do some
splitting first, before building widened integer "bucket of bits"
representations. These are always well folded by instcombine however, so
this shouldn't actually result in missed opportunities.
If this splitting of all-integer allocas does cause problems (perhaps
due to smaller SSA values going into the RA), we could potentially go to
some extreme measures to only do this integer splitting trick when there
are non-integer component accesses of an alloca, but discovering this is
quite expensive: it adds yet another complete walk of the recursive use
tree of the alloca.
Either way, I will be watching build bots and LNT bots to see what
fallout there is here. If anyone gets x86-32 numbers before & after this
change, I would be very interested.
llvm-svn: 166662
2012-10-25 04:37:07 +00:00
Richard Smith
4d3110af06
-fcatch-undefined-behavior checking for appropriate vptr value: Clang CodeGen side.
...
llvm-svn: 166661
2012-10-25 02:14:12 +00:00
Richard Smith
2f0d7d564c
-fcatch-undefined-behavior checking for appropriate vptr value: library side.
...
llvm-svn: 166660
2012-10-25 02:07:02 +00:00
Argyrios Kyrtzidis
d53d0daab9
Take into account that there may be a BOM at the beginning of the file,
...
when computing the size of the precompiled preamble.
llvm-svn: 166659
2012-10-25 01:51:45 +00:00
Sean Callanan
ec8f1ef9db
Updated LLDB's use of the DiagnosticsEngine to
...
reflect a change to the initializer.
llvm-svn: 166657
2012-10-25 01:00:25 +00:00
Douglas Gregor
79ae600e8f
Update warning-flag test
...
llvm-svn: 166656
2012-10-25 00:34:38 +00:00
Bill Wendling
d75987dde9
Revert r166647 to rethink the patch...
...
llvm-svn: 166655
2012-10-25 00:32:44 +00:00
Douglas Gregor
164df7debd
Remove the old predefines-buffer diffing code completely. It's been
...
replaced by the more efficient, cleaner preprocessor-option version
that occurs earlier in PCH validation.
llvm-svn: 166654
2012-10-25 00:30:23 +00:00
Douglas Gregor
471c1174c2
Fix computation of predefines buffer from the preprocessor-option
...
checking, and disable the old predefines-buffer-diff'ing code path.
llvm-svn: 166653
2012-10-25 00:25:27 +00:00
Jason Molenda
840f12cf6b
Identify a kdp session that is connecting to an EFI monitor,
...
use a DynamicLoaderStatic dynamic loader for the session
instead of a kernel or user dynamic loader.
llvm-svn: 166652
2012-10-25 00:25:13 +00:00
Eli Friedman
ade609770e
When we're devirtualizing a method call, make sure the method has the correct IR type.
...
Reported in the thread "devirtualisation appears to crash clang on covariant functions on ARM" on cfe-dev.
llvm-svn: 166651
2012-10-25 00:12:49 +00:00
Douglas Gregor
d02437c902
ASTUnit doesn't actually care about the predefines; don't record them.
...
llvm-svn: 166650
2012-10-25 00:09:28 +00:00
Nadav Rotem
5ffb049a55
Add support for additional reduction variables: AND, OR, XOR.
...
Patch by Paul Redmond <paul.redmond@intel.com>.
llvm-svn: 166649
2012-10-25 00:08:41 +00:00
Douglas Gregor
55358ede64
The the preprocessor option validator to compute suggested
...
predefines. We're not quite ready to cut over to these suggested
predefines yet, however.
llvm-svn: 166648
2012-10-25 00:07:54 +00:00
Bill Wendling
753c8782df
Add some support for diagnosing possibly mismatched constraint, type size and
...
modifiers. (From an idea by Eric...)
<rdar://problem/12284092>
llvm-svn: 166647
2012-10-25 00:05:55 +00:00
Jakob Stoklund Olesen
9004798da8
Stop running the machine code verifier unconditionally.
...
llvm-svn: 166646
2012-10-25 00:05:39 +00:00
Richard Smith
d16fe12e77
'constexpr' and 'friend' are both declaration specifiers. Teach the parser this, for better error recovery.
...
llvm-svn: 166645
2012-10-25 00:00:53 +00:00
Richard Smith
527b15e8f1
PR14171: Don't crash if we hit one of the paths where GetFullTypeForDeclarator
...
rebuilds a function type, and that function type has parens around its name.
llvm-svn: 166644
2012-10-24 23:51:56 +00:00
Nadav Rotem
086ea5c1f5
revert accidental change
...
llvm-svn: 166643
2012-10-24 23:48:57 +00:00
Nadav Rotem
4a87683a41
Implement a basic cost model for vector and scalar instructions.
...
llvm-svn: 166642
2012-10-24 23:47:38 +00:00
Douglas Gregor
b636875196
Teach the PCH validator to check the preprocessor options, especially
...
the macros that are #define'd or #undef'd on the command line. This
checking happens much earlier than the current macro-definition
checking and is far cleaner, because it does a direct comparison
rather than a diff of the predefines buffers. Moreover, it allows us
to use the result of this check to skip over PCH files within a
directory that have non-matching -D's or -U's on the command
line. Finally, it improves the diagnostics a bit for mismatches,
fixing <rdar://problem/8612222>.
The old predefines-buffer diff'ing will go away in a subsequent commit.
llvm-svn: 166641
2012-10-24 23:41:50 +00:00
Chad Rosier
468f1df753
Tell llvm-mc we're using intel syntax, so we don't have to use directives.
...
llvm-svn: 166640
2012-10-24 23:34:38 +00:00
Kevin Enderby
9356608f56
Add a bit of documentation on the annotated disassembly output.
...
llvm-svn: 166639
2012-10-24 23:30:22 +00:00
Chad Rosier
dd5eada241
[ms-inline asm] Add back-end test case for r166632. Make sure we emit the
...
correct .s output as well as get the correct encoding by the integrated
assembler.
llvm-svn: 166638
2012-10-24 23:10:28 +00:00
Bob Wilson
36138e6068
Don't try to install c-index-test with BUILD_CLANG_ONLY. rdar://12492703
...
llvm-svn: 166637
2012-10-24 22:56:32 +00:00
NAKAMURA Takumi
4deb9a9b11
c-index-test.c: Split a format string. [-Woverlength-strings]
...
FIXME: They are still long strings without formatter in printf(3)!
llvm-svn: 166636
2012-10-24 22:52:04 +00:00
Sean Callanan
ee1450aece
Added --framework and --executable arguments
...
to dotest.py so that the testsuite can run against
any LLDB.
<rdar://problem/12512268>
llvm-svn: 166635
2012-10-24 22:45:39 +00:00
Micah Villmow
f07b962801
Fix a compiler warning with an unused variable.
...
llvm-svn: 166634
2012-10-24 22:32:26 +00:00
Chad Rosier
602d09d0aa
[ms-inline asm] Test case for r166632.
...
llvm-svn: 166633
2012-10-24 22:22:12 +00:00
Chad Rosier
5dcb4664f2
[ms-inline asm] Add support for parsing the '.' operator. Given,
...
[register].field
The operator returns the value at the location pointed to by register plus the
offset of field within its structure or union. This patch only handles
immediate fields (i.e., [eax].4). The original displacement has to be a
MCConstantExpr as well.
Part of rdar://12470415 and rdar://12470514
llvm-svn: 166632
2012-10-24 22:21:50 +00:00
Enrico Granata
2928d37096
Fixing the test case for rdar://12481949 to do the right thing with our new rules for sign-extension in GetValueAsUnsigned()
...
llvm-svn: 166631
2012-10-24 22:15:04 +00:00
Chad Rosier
6844ea09fa
Tidy up. No functional change intended.
...
llvm-svn: 166630
2012-10-24 22:13:37 +00:00
Joerg Sonnenberger
7090937330
Don't use stack unwinding to provide the location information for
...
SetTheory, but pass down the location explicitly.
llvm-svn: 166629
2012-10-24 22:03:59 +00:00
Enrico Granata
df26a90dc2
And one more logging message goes away
...
llvm-svn: 166628
2012-10-24 21:54:04 +00:00
Enrico Granata
1918627d93
Reverting unwanted changes to the test suite
...
llvm-svn: 166627
2012-10-24 21:44:48 +00:00
Enrico Granata
5020f958d8
Reverting the changes to Scalar since this class needs to follow C rules for type promotion
...
llvm-svn: 166626
2012-10-24 21:42:49 +00:00
David Blaikie
a9d4a936a8
Fix false positive in -Wunused-variable when a ctor call make involve cleanups.
...
llvm-svn: 166625
2012-10-24 21:29:06 +00:00
Hal Finkel
69b07a2c3a
Update GVN to support vectors of pointers.
...
GVN will now generate ptrtoint instructions for vectors of pointers.
Fixes PR14166.
llvm-svn: 166624
2012-10-24 21:22:30 +00:00
Nadav Rotem
30cc37ae2b
Make LegalizeKind public so that we can use it outside of TargetLowering.
...
llvm-svn: 166623
2012-10-24 20:59:17 +00:00
Nadav Rotem
e4f491e7ee
whitespace
...
llvm-svn: 166622
2012-10-24 20:58:40 +00:00
Nadav Rotem
1052df1049
Document the -force-vector-width flag.
...
llvm-svn: 166621
2012-10-24 20:47:55 +00:00
Nadav Rotem
a721b21c64
LoopVectorizer: Add a basic cost model which uses the VTTI interface.
...
llvm-svn: 166620
2012-10-24 20:36:32 +00:00
Eli Friedman
be20d43232
Update regression tests for r166617.
...
llvm-svn: 166619
2012-10-24 20:28:18 +00:00
Enrico Granata
48ea80f9ff
Reimplementing SBValue/ValueObject.GetValueAsUnsigned() in terms of appropriate calls in Scalar - Making sure Scalar does the right thing when casting signed values to unsigned ones.
...
llvm-svn: 166618
2012-10-24 20:24:39 +00:00
Eli Friedman
6fd26424af
Don't print scope qualifiers for references to a type defined locally in a function. Patch by Grzegorz Jablonski.
...
llvm-svn: 166617
2012-10-24 20:21:25 +00:00