David Majnemer
fdba035711
DAGCombiner: Simplify inverted bit tests
...
Fold (xor (and x, y), y) -> (and (not x), y)
This removes an opportunity for a constant to appear twice.
llvm-svn: 181395
2013-05-08 06:44:42 +00:00
David Blaikie
60e6a4e680
Debug Info: Support DW_TAG_imported_declaration
...
This provides basic functionality for imported declarations. For
subprograms and types some amount of lazy construction is supported (so
the definition of a function can proceed the using declaration), but it
still doesn't handle declared-but-not-defined functions (since we don't
generally emit function declarations).
Variable support is really rudimentary at the moment - simply looking up
the existing definition with no support for out of order (declaration,
imported_module, then definition).
llvm-svn: 181392
2013-05-08 06:01:41 +00:00
David Blaikie
c1ede7b228
Finish renaming constructImportedModuleDIE to constructImportedEntityDIE
...
llvm-svn: 181391
2013-05-08 06:01:38 +00:00
Eric Christopher
6c5cef2934
Pass the MDNode in and do the insertion at compile unit creation time
...
instead of relying upon an extra call to finish initializing.
llvm-svn: 181383
2013-05-08 00:58:51 +00:00
Eric Christopher
4602993083
Typo.
...
llvm-svn: 181378
2013-05-08 00:11:10 +00:00
Bill Wendling
7aed4efed4
Add the libc++ project to those we tag.
...
llvm-svn: 181371
2013-05-07 22:15:06 +00:00
Arnold Schwaighofer
b00b8ac69a
LoopVectorizer: Improve reduction variable identification
...
The two nested loops were confusing and also conservative in identifying
reduction variables. This patch replaces them by a worklist based approach.
llvm-svn: 181369
2013-05-07 21:55:37 +00:00
Kevin Enderby
4562d15159
Fix a bug in the MC asm parser evaluating expressions. It was treating:
...
A = 9
B = 3 * A - 2 * A + 1 as B = 3 * A - (2 * A + 1)
rdar://13816516
llvm-svn: 181366
2013-05-07 21:40:58 +00:00
David Blaikie
0e8a5b9d09
Rename DIImportedModule to DIImportedEntity and allow imported declarations
...
DIBuilder::createImportedDeclaration isn't fully plumbed through (note,
lacking in AsmPrinter/DwarfDebug support) but this seemed like a
sufficiently useful division of code to make the subsequent patch(es)
easier to follow.
llvm-svn: 181364
2013-05-07 21:35:53 +00:00
Charles Davis
b87600bd13
MCStreamer: Also clear vector of W64UnwindInfos on reset().
...
Patch by Kai Nacke!
llvm-svn: 181363
2013-05-07 21:14:15 +00:00
Bob Wilson
bb26b5707b
Remove redundant check and use cached FrameArray values.
...
No functional change.
llvm-svn: 181355
2013-05-07 20:56:33 +00:00
Rafael Espindola
b0598a0361
Remove exception handling support from the old JIT.
...
llvm-svn: 181354
2013-05-07 20:53:59 +00:00
Rafael Espindola
a86de9cd7b
Change version to 3.4 in the cmake build too.
...
llvm-svn: 181353
2013-05-07 20:44:22 +00:00
Bill Wendling
f6be87cbaa
We're in 3.4 land now.
...
llvm-svn: 181350
2013-05-07 20:31:28 +00:00
Rafael Espindola
041d6c79e2
Add empty release notes for 3.4.
...
The idea is that docs/ReleaseNotes.rst is 3.3 and will be copied to the
branch by the release manager just before creating the release
candidates.
This ReleaseNotes_34.rst will then be moved over ReleaseNotes.rst after
the 3.3 release.
llvm-svn: 181349
2013-05-07 20:26:16 +00:00
Matt Arsenault
cd8cfb37f7
Fix vselect when getSetCCResultType returns a different type from the operands
...
llvm-svn: 181348
2013-05-07 20:24:18 +00:00
Preston Gurd
ed3b81e028
Corrected Atom latencies for SSE SQRT instructions.
...
llvm-svn: 181346
2013-05-07 19:57:34 +00:00
Jyotsna Verma
37863260ff
Hexagon: Fix Small Data support to handle -G 0 correctly.
...
llvm-svn: 181344
2013-05-07 19:53:00 +00:00
David Blaikie
22d24b013e
Debug Info: Fix for break due to r181271
...
Apparently we didn't keep an association of Compile Unit metadata nodes
to DIEs so looking up that parental context failed & thus caused no
DW_TAG_imported_modules to be emitted at the CU scope. Fix this by
adding the mapping & sure up the test case to verify this.
llvm-svn: 181339
2013-05-07 17:57:13 +00:00
Hal Finkel
1725b5191f
Cleanup PPCInstrInfo::optimizeCompareInstr
...
Implement suggestions by Bill Schmidt in post-commit review. No functionality
change intended.
llvm-svn: 181338
2013-05-07 17:49:55 +00:00
Andrew Trick
424ae1d00a
Add two points to release notes about recent command line library changes.
...
Patch by Dan Liew!
llvm-svn: 181335
2013-05-07 17:34:35 +00:00
Jyotsna Verma
5307666fe8
Reverting r181331.
...
Missing file, HexagonSplitConst32AndConst64.cpp, from lib/Target/Hexagon/CMakeLists.txt.
llvm-svn: 181334
2013-05-07 17:12:35 +00:00
Jyotsna Verma
af0c734e1b
Hexagon: Fix Small Data support to handle -G 0 correctly.
...
llvm-svn: 181331
2013-05-07 16:42:15 +00:00
Richard Sandiford
7607d0628b
Mention SystemZ in the release notes
...
llvm-svn: 181328
2013-05-07 15:52:32 +00:00
Jyotsna Verma
71c6bf55f2
Hexagon: Set accessSize and addrMode on all load/store instructions.
...
llvm-svn: 181324
2013-05-07 15:06:29 +00:00
Michael Kuperstein
25056babb2
Re-enable AVX detection on x64 platforms.
...
llvm-svn: 181313
2013-05-07 14:05:33 +00:00
Richard Sandiford
a9580c775a
[SystemZ] Fix InitMCCodeGenInfo call
...
createSystemZMCCodeGenInfo was not passing the optimization level to
InitMCCodeGenInfo(), so -O0 would be ignored. Fixes DebugInfo/namespace.ll
after the changes in r181271.
llvm-svn: 181312
2013-05-07 12:56:31 +00:00
Rafael Espindola
dd63d2006f
Note that EH is now supported in MCJIT.
...
llvm-svn: 181305
2013-05-07 12:29:17 +00:00
Timur Iskhodzhanov
5640405cee
Fix the VS2010 build broken by r181271
...
llvm-svn: 181296
2013-05-07 07:47:47 +00:00
Tim Northover
f29ea28532
Correct logical shift documentation
...
llvm-svn: 181290
2013-05-07 06:17:14 +00:00
Arnold Schwaighofer
f95f087afb
LoopVectorize: getConsecutiveVector must respect signed arithmetic
...
We were passing an i32 to ConstantInt::get where an i64 was needed and we must
also pass the sign if we pass negatives numbers. The start index passed to
getConsecutiveVector must also be signed.
Should fix PR15882.
llvm-svn: 181286
2013-05-07 04:37:05 +00:00
David Blaikie
b40dfb39c7
DebugInfo: Support imported modules in lexical blocks
...
llvm-svn: 181271
2013-05-06 23:33:07 +00:00
Tom Stellard
3a335f24af
R600/SI: Add intrinsic for MIMG IMAGE_GET_RESINFO opcode
...
Patch by: Michel Dänzer
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 181269
2013-05-06 23:02:19 +00:00
Tom Stellard
57e8e4e921
R600/SI: Handle arbitrary destination type in SITargetLowering::adjustWritemask
...
Patch by: Michel Dänzer
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 181268
2013-05-06 23:02:15 +00:00
Tom Stellard
d2ec929c52
R600/SI: Add intrinsic for texture image loading
...
Patch by: Michel Dänzer
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 181267
2013-05-06 23:02:12 +00:00
Tom Stellard
4ed2501894
R600/SI: Add pattern for uint_to_fp
...
Patch by: Michel Dänzer
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 181266
2013-05-06 23:02:07 +00:00
Tom Stellard
7d53018f9b
R600/SI: Add patterns for integer maxima / minima
...
Patch by: Michel Dänzer
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 181265
2013-05-06 23:02:04 +00:00
Tom Stellard
2c5ed6e6ce
R600/SI: Add pattern for AMDGPU.trunc intrinsic
...
Patch by: Michel Dänzer
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
llvm-svn: 181263
2013-05-06 23:02:00 +00:00
Krzysztof Parzyszek
b05e065c7b
Print IR from Hexagon MI passes with -print-before/after-all.
...
llvm-svn: 181255
2013-05-06 21:58:00 +00:00
Andrew Trick
66c37e7321
Implemented public interface for modifying registered (not positional or sink options) command line options at runtime.
...
Patch by Dan Liew!
llvm-svn: 181254
2013-05-06 21:56:35 +00:00
Andrew Trick
7cf2347306
Support command line option categories.
...
Patch by Dan Liew!
llvm-svn: 181253
2013-05-06 21:56:23 +00:00
Krzysztof Parzyszek
1f0992737e
Cleanup of the HexagonTargetMachine setup.
...
llvm-svn: 181250
2013-05-06 21:25:45 +00:00
David Majnemer
68574fa9e6
InstCombine: (X ^ signbit) + C -> X + (signbit ^ C)
...
llvm-svn: 181249
2013-05-06 21:21:31 +00:00
Eric Christopher
3cc2bddd41
Hoist boundary condition out of loop header.
...
llvm-svn: 181248
2013-05-06 21:19:44 +00:00
Eric Christopher
eb2243ca76
Untabify.
...
llvm-svn: 181247
2013-05-06 21:19:41 +00:00
Bill Wendling
0c1e625af5
Reduce attributes.
...
llvm-svn: 181245
2013-05-06 20:57:23 +00:00
Rafael Espindola
d896db3c7d
Split Alignment out of the Section Characteristics.
...
The alignment is just a byte in the middle of Characteristics, not an
independent flag. Making it an independent field in the yaml
representation makes it more yamlio friendly.
llvm-svn: 181243
2013-05-06 20:11:21 +00:00
Jyotsna Verma
0ec07a2dbc
Hexagon: Add multiclass/encoding bits for the New-Value Jump instructions.
...
llvm-svn: 181235
2013-05-06 18:49:23 +00:00
Jean-Luc Duprat
bf543366fd
Test results verified using FileCheck rather than grep | count
...
llvm-svn: 181234
2013-05-06 18:45:16 +00:00
Krzysztof Parzyszek
afd38d8a5a
Make references to HexagonTargetMachine "const".
...
llvm-svn: 181233
2013-05-06 18:38:37 +00:00