Nadav Rotem
75c2229f41
Fix a bug in the legalization of vector anyext-load and trunc-store. Mem Index starts with zero.
...
llvm-svn: 142434
2011-10-18 22:32:43 +00:00
Lang Hames
7d2f7b5a33
Teach fast isel about vector stores, and make DoSelectCall return false when it fails to emit a store. This fixes <rdar://problem/10215997>.
...
llvm-svn: 142432
2011-10-18 22:11:33 +00:00
Bill Wendling
973c817cde
The value we're comparing against may be too large for the ARM CMP
...
instruction. Move the value into a register and then use that for the CMP.
<rdar://problem/10305266>
llvm-svn: 142431
2011-10-18 22:11:18 +00:00
Bill Wendling
b2a703d352
The immediate may be too large for the CMP instruction. Move it into a register
...
and use that in the CMP.
<rdar://problem/10305266>
llvm-svn: 142429
2011-10-18 21:55:58 +00:00
Jim Grosbach
43f1d206b9
Tidy up formatting.
...
llvm-svn: 142422
2011-10-18 21:09:01 +00:00
Jim Grosbach
1f63e04b2c
Tidy up formatting.
...
llvm-svn: 142421
2011-10-18 21:08:16 +00:00
Jim Grosbach
6918617e32
Yet more ARM NEON assembly parsing for the lane index operand.
...
llvm-svn: 142416
2011-10-18 20:21:17 +00:00
Jim Grosbach
4e5c764b65
Enable more encoded immediate tests.
...
llvm-svn: 142415
2011-10-18 20:20:51 +00:00
Jim Grosbach
89f9e1dca4
More vmov lane testcases.
...
llvm-svn: 142414
2011-10-18 20:19:48 +00:00
Jim Grosbach
e9f204c197
ARM vmla/vmls assembly parsing for the lane index operand.
...
llvm-svn: 142413
2011-10-18 20:14:56 +00:00
Jim Grosbach
712f3670fd
ARM vmov assembly parsing for the lane index operand.
...
llvm-svn: 142412
2011-10-18 20:10:47 +00:00
Jim Grosbach
05c562f094
The MCJITMemoryManager takes ownership of the JMM, so don't leak it.
...
llvm-svn: 142410
2011-10-18 19:57:38 +00:00
Michael J. Spencer
443410d722
Object/COFF: Remove useless test.
...
llvm-svn: 142408
2011-10-18 19:51:36 +00:00
Michael J. Spencer
bfa067862c
llvm-objdump: Add static symbol table dumping.
...
llvm-svn: 142404
2011-10-18 19:32:17 +00:00
Michael J. Spencer
097be9f63c
Object/COFF: Change type from a struct to a uint16_t. The struct would be
...
incorrect for bigendian systems.
llvm-svn: 142403
2011-10-18 19:31:59 +00:00
Daniel Dunbar
96d812a68d
build: Tidy up a bunch of tool Makefiles, and simplify where possible using the
...
new all-targets pseudo-component.
llvm-svn: 142401
2011-10-18 19:27:24 +00:00
Daniel Dunbar
627b2b06f6
llvm-ar: Remove local test target, this is no longer useful.
...
llvm-svn: 142400
2011-10-18 19:27:10 +00:00
Daniel Dunbar
5a96e6f9ed
llvm-config: Add an all-targets pseudo-component.
...
llvm-svn: 142399
2011-10-18 19:27:08 +00:00
Daniel Dunbar
a269763c66
build: Remove some unused code.
...
llvm-svn: 142398
2011-10-18 19:27:04 +00:00
Andrew Trick
88b2450adc
Use ARM/t2PseudoInst class from ARM/Thumb2 special adds/subs patterns.
...
Clean up the patterns, fix comments, and avoid confusing both tools
and coders. Note that the special adds/subs SelectionDAG nodes no
longer have the dummy cc_out operand.
llvm-svn: 142397
2011-10-18 19:18:52 +00:00
Bob Wilson
93b0f7b319
Use isIntN and isUIntN to check for valid signed/unsigned numbers.
...
llvm-svn: 142395
2011-10-18 18:46:49 +00:00
Andrew Trick
3f07c429b5
whitespace
...
llvm-svn: 142394
2011-10-18 18:40:53 +00:00
Bill Wendling
617075fcf6
A landing pad could have more than one predecessor. In that case, we want that
...
predecessor to remove the jump to it as well. Delay clearing the 'landing pad'
flag until after the jumps have been removed. (There is an implicit assumption
in several modules that an MBB which jumps to a landing pad has only two
successors.)
<rdar://problem/10304224>
llvm-svn: 142390
2011-10-18 18:30:49 +00:00
Jim Grosbach
611450071c
ARM vmla/vmls assembly parsing for the lane index operand.
...
llvm-svn: 142389
2011-10-18 18:27:07 +00:00
Owen Anderson
40ec1da2ab
Another failing encoding.
...
llvm-svn: 142388
2011-10-18 18:23:03 +00:00
Jim Grosbach
32b83a4e16
Fix NEON mul encoding tests. Wrong file contents previously.
...
llvm-svn: 142387
2011-10-18 18:14:55 +00:00
Jim Grosbach
c8eff0327a
ARM vqdmulh assembly parsing for the lane index operand.
...
llvm-svn: 142386
2011-10-18 18:12:09 +00:00
Jim Grosbach
d1bc6da657
Remove duplicate test.
...
llvm-svn: 142383
2011-10-18 18:05:50 +00:00
Jim Grosbach
b3ecff77cd
Tidy up formatting.
...
llvm-svn: 142382
2011-10-18 18:05:16 +00:00
Jim Grosbach
e6fbca3a61
ARM vmul assembly parsing for the lane index operand.
...
llvm-svn: 142381
2011-10-18 18:01:52 +00:00
Jim Grosbach
f416cb16c0
Tidy up.
...
llvm-svn: 142380
2011-10-18 18:01:09 +00:00
Owen Anderson
c91064551a
Add a few more testcases.
...
llvm-svn: 142379
2011-10-18 17:57:31 +00:00
Bruno Cardoso Lopes
2312a3aaa0
Final patch that completes old JIT support for Mips:
...
-Fix binary codes and rename operands in .td files so that automatically
generated function MipsCodeEmitter::getBinaryCodeForInstr gives correct
encoding for instructions.
-Define new class FMem for instructions that access memory.
-Define new class FFRGPR for instructions that move data between GPR and
FPU general and control registers.
-Define custom encoder methods for memory operands, and also for size
operands of ext and ins instructions.
-Only static relocation model is currently implemented.
Patch by Sasa Stankovic
llvm-svn: 142378
2011-10-18 17:50:36 +00:00
Owen Anderson
2a498c1107
Add several FIXME cases for ARM encodings.
...
llvm-svn: 142377
2011-10-18 17:50:22 +00:00
Bob Wilson
9258b76d8d
Fix incorrect check for sign-extended constant BUILD_VECTOR.
...
<rdar://problem/10298332>
llvm-svn: 142371
2011-10-18 17:34:51 +00:00
Bob Wilson
681561901d
Fix a DAG combiner assertion failure when constant folding BUILD_VECTORS.
...
svn r139159 caused SelectionDAG::getConstant() to promote BUILD_VECTOR operands
with illegal types, even before type legalization. For this testcase, that led
to one BUILD_VECTOR with i16 operands and another with promoted i32 operands,
which triggered the assertion.
llvm-svn: 142370
2011-10-18 17:34:47 +00:00
Bill Wendling
06ac75c8e3
Don't exit just because some early commands fail. Use the -k flag when running the checks.
...
llvm-svn: 142369
2011-10-18 17:27:12 +00:00
Jim Grosbach
8206790ab0
Tests for 142365.
...
llvm-svn: 142368
2011-10-18 17:23:34 +00:00
Jim Grosbach
95135982cd
Tidy up formatting.
...
llvm-svn: 142367
2011-10-18 17:22:53 +00:00
Jim Grosbach
af26d7e280
ARM vqdmlal assembly parsing for the lane index operand.
...
llvm-svn: 142365
2011-10-18 17:16:30 +00:00
Jim Grosbach
dfa7fb8fe6
Thumb2 parsing of 'mov.w' gets the cc_out operand wrong. Add an alias for it.
...
llvm-svn: 142363
2011-10-18 17:09:35 +00:00
Jim Grosbach
e4454e0de2
ARM assembly parsing and encoding for VMOV.i64.
...
llvm-svn: 142356
2011-10-18 16:18:11 +00:00
Justin Holewinski
1fb5bb126e
PTX: Fix disabling of MAD instruction selection
...
llvm-svn: 142352
2011-10-18 13:39:20 +00:00
Duncan Sands
d278d35b13
Fix a bunch of unused variable warnings when doing a release
...
build with gcc-4.6.
llvm-svn: 142350
2011-10-18 12:44:00 +00:00
Bill Wendling
2b7a1ff77f
Coding style cleanups. No functionality change.
...
llvm-svn: 142341
2011-10-18 07:40:22 +00:00
David Meyer
49045ddb4c
Remove NaClMode
...
llvm-svn: 142338
2011-10-18 05:29:23 +00:00
Chad Rosier
0ffe593a16
Add support for dynamic stack realignment when in thumb1 mode.
...
rdar://10288916
llvm-svn: 142337
2011-10-18 05:28:00 +00:00
Joe Abbey
1c192774b6
Commit test, capitalizing store... keep it simple.
...
llvm-svn: 142336
2011-10-18 04:44:36 +00:00
Hal Finkel
bab66789d5
Fix comment to refer to correct instruction
...
llvm-svn: 142334
2011-10-18 03:51:57 +00:00
Eli Friedman
4c42be5b32
Fix misc warnings. Patch by Joe Abbey.
...
llvm-svn: 142332
2011-10-18 03:17:34 +00:00
Lang Hames
22d3adf6aa
Backing out patch. Will refactor to remove the AsmParser dependency on Target.
...
llvm-svn: 142323
2011-10-18 00:23:49 +00:00
Jim Grosbach
8211c051ca
ARM assembly parsing and encoding for VMOV/VMVN/VORR/VBIC.i32.
...
llvm-svn: 142321
2011-10-18 00:22:00 +00:00
Michael J. Spencer
81c80ddb0c
Revert "llvm-objdump: Add static symbol table dumping."
...
This reverts commit 0c30d4e4f5f9110c5a67bd0ca84444dc58697596.
llvm-svn: 142320
2011-10-18 00:17:04 +00:00
Michael J. Spencer
6b22ef8af2
llvm-objdump: Add static symbol table dumping.
...
llvm-svn: 142319
2011-10-17 23:55:22 +00:00
Michael J. Spencer
1d19f97ea5
Object: Add some types to SymbolRef::Type.
...
Some of these can be true at the same time and there are a lot to add,
so this should be turned into a bitfield. Some of the other accessors
should probably be folded into this.
llvm-svn: 142318
2011-10-17 23:55:06 +00:00
Michael J. Spencer
321731539e
Object: Add isSymbolAbsolute and getSymbolSection.
...
llvm-svn: 142317
2011-10-17 23:54:46 +00:00
Michael J. Spencer
017597540e
Object: Add isSymbolWeak.
...
llvm-svn: 142316
2011-10-17 23:54:22 +00:00
Michael J. Spencer
89a7a5ea1f
Object/COFF: Expose more data in the public API.
...
llvm-svn: 142315
2011-10-17 23:53:56 +00:00
Michael J. Spencer
4f91c2f2bd
Object: Implement casting for concrete classes.
...
llvm-svn: 142314
2011-10-17 23:53:37 +00:00
Jim Grosbach
26bfc9e5da
Enable a few more NEON immediate tests.
...
llvm-svn: 142313
2011-10-17 23:50:19 +00:00
Michael J. Spencer
858acf5660
80-col.
...
llvm-svn: 142309
2011-10-17 23:37:43 +00:00
Nick Lewycky
479a8fe75e
Minor style cleanup, no functionality change.
...
llvm-svn: 142307
2011-10-17 23:27:36 +00:00
Lang Hames
6f1ccffc8e
Re-applying the target data layout verification patch from r142288, plus appropriate CMake dependencies.
...
Thanks to Raphael Espindola for tracking down the CMake issues.
llvm-svn: 142306
2011-10-17 23:24:48 +00:00
Jim Grosbach
cda32ae372
ARM assembly parsing and encoding for VMOV/VMVN/VORR/VBIC.i16.
...
llvm-svn: 142303
2011-10-17 23:09:09 +00:00
Nick Lewycky
40f8f2ff24
Add support for a new extension to the .file directive:
...
.file filenumber "directory" "filename"
This removes one join+split of the directory+filename in MC internals. Because
bitcode files have independent fields for directory and filenames in debug info,
this patch may change the .o files written by existing .bc files.
llvm-svn: 142300
2011-10-17 23:05:28 +00:00
Chad Rosier
b522550ce5
Add a few FIXME comments.
...
llvm-svn: 142299
2011-10-17 22:54:23 +00:00
Dan Gohman
a7107f992e
Teach the ARC optimizer about the !clang.arc.copy_on_escape metadata
...
tag on objc_retainBlock calls, which indicates that they may be
optimized away. rdar://10211286.
llvm-svn: 142298
2011-10-17 22:53:25 +00:00
Jim Grosbach
f18eec158c
Tidy up.
...
llvm-svn: 142297
2011-10-17 22:41:42 +00:00
Rafael Espindola
d2d0acdc04
142288 broke the build:
...
Linking CXX executable ../../bin/llvm-as
../../lib/libLLVMAsmParser.a(LLParser.cpp.o):/home/espindola/llvm/llvm/lib/AsmParser/LLParser.cpp:function llvm::LLParser::ParseTargetDefinition(): error: undefined reference to 'llvm::TargetData::parseSpecifier(llvm::StringRef, llvm::TargetData*)'
clang-3: error: linker command failed with exit code 1 (use -v to see invocation)
Revert "Validate target data layout strings."
This reverts commit 599d2d4c25d3aee63a21d9c67a88cd43bd971b7e.
llvm-svn: 142296
2011-10-17 22:37:51 +00:00
Devang Patel
7973e78800
Update DebugInfoFinder to match recent debug info encoding changes.
...
llvm-svn: 142295
2011-10-17 22:30:34 +00:00
Bill Wendling
aa9047d3f5
Now Igor, throw the switch...give my creation life!
...
Use the custom inserter for the ARM setjmp intrinsics. Instead of creating the
SjLj dispatch table in IR, where it frequently violates serveral assumptions --
in particular assumptions made by the landingpad instruction about what can
branch to a landing pad and what cannot. Performing this in the back-end allows
us to violate these assumptions without the IR getting angry at us.
It also allows us to perform a small optimization. We can shove the address of
the dispatch's basic block into the function context and not have to add code
around the setjmp to check for the return value and jump to the dispatch.
Neat, huh?
<rdar://problem/10116753>
llvm-svn: 142294
2011-10-17 22:26:23 +00:00
Jim Grosbach
741cd73aab
ARM NEON "vmov.i8" immediate assembly parsing and encoding.
...
NEON immediates are "interesting". Start of the work to handle parsing them
in an 'as' compatible manner. Getting the matcher to play nicely with
these and the floating point immediates from VFP is an extra fun wrinkle.
llvm-svn: 142293
2011-10-17 22:26:03 +00:00
Lang Hames
0533a9508b
Validate target data layout strings.
...
Invalid strings in asm files will result in parse errors. Invalid string literals passed to TargetData constructors will result in an assertion.
llvm-svn: 142288
2011-10-17 22:05:34 +00:00
Cameron Zwarich
d85bc104ef
When deleting a phi cycle after looking through copies, constrain the register
...
to match its final use.
With this change, all of test-suite compiles for Thumb2 with -verify-coalescing
enabled.
llvm-svn: 142287
2011-10-17 21:54:46 +00:00
Lang Hames
e7594abd87
Fixed quoting on default data layout option.
...
llvm-svn: 142286
2011-10-17 21:54:43 +00:00
Bill Wendling
a5748e22e2
Forgot to add the project name to the 'svn ls' command.
...
llvm-svn: 142282
2011-10-17 21:45:07 +00:00
Bill Wendling
6bf79084c3
Add message to svn mkdir command.
...
llvm-svn: 142280
2011-10-17 21:42:29 +00:00
Owen Anderson
d9243c4689
Rewrite most of MachODump to work through the generic libObject interfaces rather than accessing the MachO internals directly.
...
llvm-svn: 142263
2011-10-17 21:37:35 +00:00
Owen Anderson
f02a1a2f3f
Add an accessor to get the underlying MachO representation.
...
llvm-svn: 142261
2011-10-17 21:37:03 +00:00
Benjamin Kramer
0dfb159250
Use a SmallVector for intrinsic argument types.
...
llvm-svn: 142259
2011-10-17 21:33:26 +00:00
Bill Wendling
510fbcd440
Don't renumber the blocks here. This could cause problems later on if another
...
pass renumbers the blocks again.
llvm-svn: 142258
2011-10-17 21:32:56 +00:00
Owen Anderson
d6598596f9
Use the correct predicate for determining if a branch is conditional or not.
...
llvm-svn: 142257
2011-10-17 21:21:44 +00:00
Bill Wendling
c68c8cb8d4
Add support for the Objective-C personality function to the instruction
...
combining of the landingpad instruction. The ObjC personality function acts
almost identically to the C++ personality function. In particular, it uses
"null" as a "catch-all" value.
llvm-svn: 142256
2011-10-17 21:20:24 +00:00
Cameron Zwarich
4373c21205
Pseudoinstructions should not be less constrained than the instruction they are
...
lowered to. This fixes a lot of verifier failures on the test suite.
llvm-svn: 142254
2011-10-17 21:20:13 +00:00
Benjamin Kramer
670930c0b8
MCOperand is pod-like.
...
llvm-svn: 142253
2011-10-17 21:18:03 +00:00
Jim Grosbach
2ad0dee309
Tidy up organization.
...
llvm-svn: 142248
2011-10-17 21:00:11 +00:00
Benjamin Kramer
e664de33b1
Fix handling of the From parameter in StringRef::find.
...
Enable bounds checking to catch this kind of bug earlier.
llvm-svn: 142247
2011-10-17 20:49:40 +00:00
Bill Wendling
f7f223f69e
Add a call to EmitSjLjDispatchBlock.
...
Once the intrinsics are marked as having a custom inserter, it will call this
method to emit the dispatch table into the machine function.
llvm-svn: 142245
2011-10-17 20:37:20 +00:00
Bill Wendling
d569648aa5
Remove mention of llvm-gcc and add mention of dragonegg.
...
llvm-svn: 142243
2011-10-17 20:28:54 +00:00
Nadav Rotem
d2c72d6d03
Add CHECKs and document PR11158.
...
llvm-svn: 142240
2011-10-17 20:23:23 +00:00
Jim Grosbach
2fbdcedbb1
Fix improperly formed assert() call.
...
llvm-svn: 142239
2011-10-17 20:22:59 +00:00
Michael J. Spencer
d39466760a
Object: Fix redundant name.
...
llvm-svn: 142238
2011-10-17 20:19:29 +00:00
Evan Cheng
aa563df759
Constraint register class with constrainRegClass() to CSE a virtual into another. rdar://10293289
...
llvm-svn: 142234
2011-10-17 19:50:12 +00:00
Nadav Rotem
28e4f67f26
stabalize tests by specifying the exact sse level
...
llvm-svn: 142229
2011-10-17 19:45:38 +00:00
Akira Hatanaka
a7e0b90897
Add definitions of conditional moves with 64-bit operands. Comment out code for
...
expanding conditional moves, which is not needed since architectures that lack
support for conditional moves have been removed.
llvm-svn: 142226
2011-10-17 18:53:29 +00:00
Hal Finkel
652985764e
Revert change to function alignment b/c existing logic was fine
...
llvm-svn: 142224
2011-10-17 18:53:03 +00:00
Chad Rosier
34957911e7
Removed set, but unused variables.
...
Patch by Joe Abbey <jabbey@arxan.com>.
llvm-svn: 142223
2011-10-17 18:48:30 +00:00
Dan Gohman
1736c14b85
Suppress partial retain+release elimination when there's a
...
possibility that it will span multiple CFG diamonds/triangles which
could have different controlling predicates. rdar://10282956
llvm-svn: 142222
2011-10-17 18:48:25 +00:00
Bill Wendling
63a4ea1859
Correct over-zealous removal of hack.
...
Some code want to check that *any* call within a function has the 'returns
twice' attribute, not just that the current function has one.
llvm-svn: 142221
2011-10-17 18:43:40 +00:00
Akira Hatanaka
975bfc9b45
Move class and instruction definitions for conditional moves to a seperate file.
...
llvm-svn: 142220
2011-10-17 18:43:19 +00:00
Akira Hatanaka
3634f34659
Revert change made in r142205.
...
llvm-svn: 142217
2011-10-17 18:33:24 +00:00
Akira Hatanaka
33fe8f908c
Redefine count-leading 0s and 1s instructions.
...
llvm-svn: 142216
2011-10-17 18:26:37 +00:00
Bill Wendling
42cf65fe51
Temporarily XFAIL waiting for a fix.
...
llvm-svn: 142215
2011-10-17 18:25:32 +00:00
Akira Hatanaka
8c446be204
Redefine mfhi/lo and mthi/lo instructions.
...
llvm-svn: 142214
2011-10-17 18:24:15 +00:00
Hal Finkel
38ff264857
Add comments to TargetLowering.h indicating that the set*Alignment functions take arguments in log2(bytes)
...
llvm-svn: 142213
2011-10-17 18:23:13 +00:00
Bill Wendling
2a83a71c2a
Now that we have the ReturnsTwice function attribute, this method is
...
obsolete. Check the attribute instead.
<rdar://problem/8031714>
llvm-svn: 142212
2011-10-17 18:22:52 +00:00
Akira Hatanaka
0317b65367
Redefine multiply and divide instructions.
...
llvm-svn: 142211
2011-10-17 18:21:24 +00:00
Akira Hatanaka
2736bbc09e
Add definition of a base class for logical shift/rotate instructions with two
...
source registers and redefine 32-bit and 64-bit instructions.
llvm-svn: 142210
2011-10-17 18:17:58 +00:00
Hal Finkel
afa70aa272
Remove >80-col line and unicode
...
llvm-svn: 142209
2011-10-17 18:10:08 +00:00
Akira Hatanaka
73081309c3
Add definition of a base class for logical shift/rotate immediate instructions
...
and have 32-bit and 64-bit instructions derive from it.
llvm-svn: 142207
2011-10-17 18:06:56 +00:00
Chad Rosier
c17257c4cb
Removed set, but unused variable.
...
Patch by Joe Abbey <jabbey@arxan.com>.
llvm-svn: 142206
2011-10-17 18:01:59 +00:00
Akira Hatanaka
e3f27b79dc
Add definition of immZExt5_64 and redefine immZExt5 as an ImmLeaf.
...
llvm-svn: 142205
2011-10-17 18:01:00 +00:00
Michael J. Spencer
0050f59665
Fix CMake build.
...
llvm-svn: 142204
2011-10-17 17:50:39 +00:00
Devang Patel
69a4565e65
It is safe to speculate load from GOT. This fixes performance regression caused by r141689.
...
Radar 10281206.
llvm-svn: 142202
2011-10-17 17:35:01 +00:00
Jakob Stoklund Olesen
d4bde54da5
Admonish that MI is not IR and virtual registers have constraints.
...
In machine code, you can't just replaceRegWith() the same way you can
replaceAllUsesWith() in IR. Virtual registers may have different
register classes that need to be merged first.
llvm-svn: 142201
2011-10-17 17:33:39 +00:00
Devang Patel
76c8563239
svn mv Target/ARM/ARMGlobalMerge.cpp Transforms/Scalar/GlobalMerge.cpp
...
There is no reason to have simple IR level pass in lib/Target.
llvm-svn: 142200
2011-10-17 17:17:43 +00:00
Michael J. Spencer
4e25c02487
llvm-objdump: Add -s, which prints the contents of each section.
...
llvm-svn: 142199
2011-10-17 17:13:22 +00:00
Michael J. Spencer
b4f19a5d86
llvm-objdump: Add tests.
...
llvm-svn: 142198
2011-10-17 17:13:05 +00:00
Hal Finkel
0ade47acd0
Instructions for Book E PPC should be word aligned, set function alignment to reflect this
...
llvm-svn: 142194
2011-10-17 17:01:41 +00:00
Owen Anderson
b7d9ee707d
Fix unused variable warning in the rare circumstance that we have no feature-dependent instructions.
...
llvm-svn: 142193
2011-10-17 16:56:47 +00:00
Benjamin Kramer
77dfde0ba3
Pick low-hanging MatchEntry shrinkage fruit.
...
Shaves 200k off Release-Asserts clang binaries on i386.
llvm-svn: 142191
2011-10-17 16:18:09 +00:00
Hal Finkel
9dda3e0d13
use FileCheck and not grep in new tests
...
llvm-svn: 142189
2011-10-17 16:01:41 +00:00
Bill Wendling
f95c94e9a6
Don't download and compile compiler-rt, libcxx, and libcxxabi by default.
...
llvm-svn: 142185
2011-10-17 08:41:20 +00:00
Nadav Rotem
83d1a93cf4
Clean the triple, add check lines.
...
llvm-svn: 142183
2011-10-17 07:07:51 +00:00
Nadav Rotem
89c282e96f
Previously v2i32 vectors were legalized to v4i32. Now, they are legalized to
...
v2i64. These tests do not check MMX nor zmoving into them.
llvm-svn: 142182
2011-10-17 06:59:01 +00:00
Craig Topper
e20793a4f1
Don't use inline assembly in 64-bit Visual Studio. Unfortunately, this means that cpuid leaf 7 can't be queried on versions of Visual Studio earlier than VS 2008 SP1. Fixes PR11147.
...
llvm-svn: 142177
2011-10-17 05:33:10 +00:00
Bill Wendling
26d2780d07
Add comment explaining that the order of processing doesn't matter here.
...
llvm-svn: 142176
2011-10-17 05:25:09 +00:00
Bill Wendling
7b7d077c29
Update to disable asserts. Build a phase 3 compiler, and compare phase 2 files against phase 3.
...
llvm-svn: 142173
2011-10-17 04:46:54 +00:00
Hal Finkel
7ccb391d21
Test case for CanLowerReturn fix (r141981)
...
llvm-svn: 142172
2011-10-17 04:03:59 +00:00
Hal Finkel
ad677b64db
Add PPC 440 scheduler and some associated tests (new files)
...
llvm-svn: 142171
2011-10-17 04:03:55 +00:00
Hal Finkel
6fa5697af0
Add PPC 440 scheduler and some associated tests
...
llvm-svn: 142170
2011-10-17 04:03:49 +00:00
Chandler Carruth
3e8aa65bc2
Add a routine to swap branch instruction operands, and update any
...
profile metadata at the same time. Use it to preserve metadata attached
to a branch when re-writing it in InstCombine.
Add metadata to the canonicalize_branch InstCombine test, and check that
it is tranformed correctly.
Reviewed by Nick Lewycky!
llvm-svn: 142168
2011-10-17 01:11:57 +00:00
Bill Wendling
9aa3943d9e
Overhaul the 'test-release' script.
...
This removes support for building llvm-gcc. It will eventually add support for
building other projects.
llvm-svn: 142165
2011-10-16 22:44:08 +00:00
Chandler Carruth
91f4faf877
Delete a dead member. Dunno if this was ever used, but the current code
...
directly manipulates the weights inside of the BranchProbabilityInfo
that is passed in.
llvm-svn: 142163
2011-10-16 22:27:54 +00:00
Chandler Carruth
47e1db1e59
Add a proper LLVM banner to this file.
...
llvm-svn: 142162
2011-10-16 22:15:07 +00:00
Nadav Rotem
053a7358d6
Add tripple and stabalize a few more tests.
...
llvm-svn: 142158
2011-10-16 21:20:54 +00:00
Bill Wendling
ef22c60abd
Update the tree before applying patch.
...
llvm-svn: 142155
2011-10-16 20:59:25 +00:00
Nadav Rotem
a6b6566db6
Add triple to tests.
...
llvm-svn: 142154
2011-10-16 20:53:20 +00:00
Nadav Rotem
9513104d2a
fix a typo in the test
...
llvm-svn: 142153
2011-10-16 20:43:41 +00:00
Nadav Rotem
486ff59a9f
Enable element promotion type legalization by deafault.
...
Changed tests which assumed that vectors are legalized by widening them.
llvm-svn: 142152
2011-10-16 20:31:33 +00:00
Nick Lewycky
84baea77ea
Oops! Fix testcase.
...
llvm-svn: 142151
2011-10-16 20:20:15 +00:00
Nick Lewycky
0a7e9ccf04
When looking for dependencies on the src pointer, scan the src pointer. Scanning
...
on the memcpy call will pull up other unrelated stuff. Fixes PR11142.
llvm-svn: 142150
2011-10-16 20:13:32 +00:00
Nadav Rotem
2130a07687
Remove the the test which checks the saving of a vector of booleans into memory.
...
The decision was to pack the bits. Currently no codegen supports this.
Currently, all of the bits in the vector are saved into the same address
in memory.
llvm-svn: 142149
2011-10-16 19:06:06 +00:00
Craig Topper
96fa597828
Add X86 PEXTR and PDEP instructions.
...
llvm-svn: 142141
2011-10-16 16:50:08 +00:00
Benjamin Kramer
cc863b2bb6
Let printf do the formatting instead aligning strings ourselves.
...
While at it, merge some format strings.
llvm-svn: 142140
2011-10-16 16:30:34 +00:00
Benjamin Kramer
cb6b02a086
Twinify better.
...
llvm-svn: 142139
2011-10-16 15:46:29 +00:00
Benjamin Kramer
1930b003fe
Add AsmToken::getEndLoc and use it to add ranges to x86 asm register parsing.
...
<stdin>:1:12: error: register %rax is only available in 64-bit mode
incl %rax
^~~~
llvm-svn: 142137
2011-10-16 12:10:27 +00:00
NAKAMURA Takumi
46282e4a3e
tools/CMakeLists.txt: Fixup r142103. I don't remember why I had missed the line.
...
llvm-svn: 142136
2011-10-16 11:50:37 +00:00
Benjamin Kramer
d416bae5f2
X86AsmParser: Synthesize EndLoc for tokens out of StartLoc + Length and print ranges for invalid operands.
...
<stdin>:1:4: error: invalid instruction mnemonic 'abc'
abc incl %edi
^~~
llvm-svn: 142135
2011-10-16 11:28:29 +00:00
Benjamin Kramer
47f5e30e78
PR11143: Save the old diagnostic handler and call it when munging diagnostics for #line directives.
...
This reenables proper inline asm diagnostics in clang
llvm-svn: 142132
2011-10-16 10:48:29 +00:00
Nadav Rotem
bc25b6eb67
Fix a bug in LowerV2I64Splat, which generated a BUILD_VECTOR for which there was
...
no pattern.
llvm-svn: 142130
2011-10-16 10:02:06 +00:00
Bill Wendling
3fafe6d3f8
Install the PNG file as well. PR4780.
...
llvm-svn: 142125
2011-10-16 08:24:30 +00:00
Bill Wendling
01e554f905
Update tutorial to reflect the current APIs. Also correct a small omission in
...
LangImpl6.html (it needed to defined the 'binary :' operator).
PR9052
llvm-svn: 142123
2011-10-16 08:06:54 +00:00
Craig Topper
aea148c366
Add X86 BZHI instruction as well as BMI2 feature detection.
...
llvm-svn: 142122
2011-10-16 07:55:05 +00:00
Craig Topper
0ae8d4d738
Add X86 INVPCID instruction. Add 32/64-bit predicates to INVEPT, INVVPID, VMREAD, and VMWRITE to remove hack from X86RecognizableInstr.
...
llvm-svn: 142117
2011-10-16 07:05:40 +00:00
Bill Wendling
e33d040331
Enable CREATE_SUBDIRS for a performance win, because there are a lot of files being generated.
...
llvm-svn: 142112
2011-10-16 06:43:10 +00:00
Cameron Zwarich
434b3bff44
Add flags on Thumb2 indexed stores paralleling the flags on the indexed loads.
...
These missing flags show up as errors when running -verify-coalescing on
test-suite.
llvm-svn: 142111
2011-10-16 06:38:10 +00:00
Cameron Zwarich
08ca5d35bd
Fix an obvious typo found when looking at nearby code.
...
llvm-svn: 142110
2011-10-16 06:38:06 +00:00
Chris Lattner
7284526aff
remove the dead 'ShowLine' argument from SMDiagnostic.
...
llvm-svn: 142108
2011-10-16 05:47:55 +00:00
Chris Lattner
03b80a4027
Make SMDiagnostic a little more sane. Instead of passing around note/warning/error as a
...
string, pass it around as an enum.
llvm-svn: 142107
2011-10-16 05:43:57 +00:00
Chris Lattner
a3a0681083
Enhance llvm::SourceMgr to support diagnostic ranges, the same way clang does. Enhance
...
the X86 asmparser to produce ranges in the one case that was annoying me, for example:
test.s:10:15: error: invalid operand for instruction
movl 0(%rax), 0(%edx)
^~~~~~~
It should be straight-forward to enhance filecheck, tblgen, and/or the .ll parser to use
ranges where appropriate if someone is interested.
llvm-svn: 142106
2011-10-16 04:47:35 +00:00
Craig Topper
25ea4e5ad3
Add X86 BEXTR instruction. This instruction uses VEX.vvvv to encode Operand 3 instead of Operand 2 so needs special casing in the disassembler and code emitter. Ultimately, should pass this information from tablegen
...
llvm-svn: 142105
2011-10-16 03:51:13 +00:00
NAKAMURA Takumi
bccadaf1a3
CMake: Introduce LLVM_CLANG_SOURCE_DIR, "tools/clang" by default. Clang will not be built if LLVM_CLANG_SOURCE_DIR="" or ${LLVM_CLANG_SOURCE_DIR}/CMakeLists.txt is not found.
...
llvm-svn: 142103
2011-10-16 02:54:33 +00:00
NAKAMURA Takumi
914f1924e0
autoconf: Introduce --with-clang-srcdir, to build out-of-tree clang as tools/clang on tools/Makefile.
...
llvm-svn: 142102
2011-10-16 02:54:26 +00:00
NAKAMURA Takumi
2c1a4cce4c
Makefile.rules: Let OPTIONAL_PARALLEL_DIRS accept out-of-tree absolute path.
...
llvm-svn: 142101
2011-10-16 02:54:19 +00:00
NAKAMURA Takumi
4f539312df
test/Makefile: Inspect $(PROJ_OBJ_ROOT)/tools/clang/Makefile instead of $(PROJ_SRC_ROOT)/tools/clang for "check-all".
...
llvm-svn: 142100
2011-10-16 02:54:14 +00:00
Bill Wendling
6b8fe982e0
Add a helper script to create branches and tag release candidates.
...
llvm-svn: 142098
2011-10-16 02:03:18 +00:00
Bill Wendling
90f98e704d
Add a script that helps merge changes into a release branch.
...
llvm-svn: 142097
2011-10-16 01:54:03 +00:00
Craig Topper
6c8879e3ab
Add X86 feature detection support for BMI instructions. Added new cpuid function for accessing leafs with sub leafs specified in ECX. Also added code to keep track of the max cpuid level supported in both basic and extended leaves and qualified the existing cpuid calls and the new call to leaf 7.
...
llvm-svn: 142089
2011-10-16 00:21:51 +00:00
Craig Topper
27ad12539d
Add support for X86 blsr, blsmsk, and blsi instructions. Required extra work because these are the first VEX encoded instructions to use the reg field as an opcode extension.
...
llvm-svn: 142082
2011-10-15 20:46:47 +00:00
Nadav Rotem
45f0f87af5
The CELL backend cannot select patterns for vector trunc-store and shl on v2i64; CellSPU/shift_ops.ll fails when promoting elements.
...
llvm-svn: 142081
2011-10-15 20:05:17 +00:00
Nadav Rotem
097106b77a
ARM cannot select a pattern for trunc-store v4i8; /ARM/vrev.ll fails when promoting elements.
...
llvm-svn: 142080
2011-10-15 20:03:12 +00:00
Nick Lewycky
772060c5b8
Fix extra whitespace in comment.
...
llvm-svn: 142079
2011-10-15 19:36:45 +00:00
Nico Weber
3a46b375e2
Let this test pass even if 'int' is somewhere in its directory path.
...
On my machine, grep matched:
; ModuleID = '/Volumes/MacintoshHD2/src/chrome-git/src/third_party/llvm/test/Linker/2011-08-18-unique-debug-type.ll'
!9 = metadata !{i32 720932, null, metadata !"int", null, i32 0, i64 32, i64 32, i64 0, i32 0, i32 5} ; [ DW_TAG_base_type ]
Explicitly filter out the ModuleID line.
llvm-svn: 142077
2011-10-15 18:07:16 +00:00
Benjamin Kramer
5fb5e3b384
SmallVector -> array
...
llvm-svn: 142073
2011-10-15 13:28:31 +00:00
Duncan Sands
f537a6edd4
Don't replace all dominated uses if there is only one use, since that
...
use can't be dominated, saving one domtree lookup.
llvm-svn: 142066
2011-10-15 11:13:42 +00:00
Benjamin Kramer
4d681d7dc4
Add a bad char heuristic to StringRef::find.
...
Based on Horspool's simplified version of Boyer-Moore. We use a constant-sized table of
uint8_ts to keep cache thrashing low, needles bigger than 255 bytes are uncommon anyways.
The worst case is still O(n*m) but we do a lot better on the average case now.
llvm-svn: 142061
2011-10-15 10:08:31 +00:00
Nadav Rotem
ebe13bc3f1
Move the legalization of vector loads and stores into LegalizeVectorOps. In some
...
cases we need the second type-legalization pass in order to support all cases.
llvm-svn: 142060
2011-10-15 07:41:10 +00:00
Andrew Trick
fd4ca0f4ac
Fix SCEVExpander assert during LSR: "argument of incompatible type".
...
Just because we're dealing with a GEP doesn't mean we can assert the
SCEV has a pointer type. The fix is simply to ignore the SCEV pointer
type, which we really didn't need.
Fixes PR11138 webkit crash.
llvm-svn: 142058
2011-10-15 06:19:55 +00:00
NAKAMURA Takumi
ea97a05fc5
Revert r142046, "Fix for llvm::sys::getHostTriple on Windows. Instead of relying on the triple"
...
It extremely breaks builds when optimization is enabled. Twine should not hold temporary objects.
By the way, I might feel sad if I saw "i786-" "i1586-" or "iF86-".
llvm-svn: 142055
2011-10-15 04:29:36 +00:00
Chad Rosier
559b8f2ae9
Fix for llvm::sys::getHostTriple on Windows. Instead of relying on the triple
...
from config.h, it discovers the triple based on the execution environment.
Patch by Aaron Ballman <aaron@aaronballman.com>
llvm-svn: 142046
2011-10-15 02:10:06 +00:00
Bill Wendling
3d19eefd4e
ToT is now for 3.1.
...
llvm-svn: 142044
2011-10-15 02:09:17 +00:00
NAKAMURA Takumi
7bc976a8ef
Windows/Memory.inc: Support the ability to allocate memory "near" another block of memory on Win32. It has fixed FIXME.
...
Thanks to Aaron Ballman!
llvm-svn: 142039
2011-10-15 01:58:16 +00:00
Andrew Trick
d50861c831
Fix indvars randomness by removing iteration over a map.
...
I rewrote the algorithm a while back so it doesn't require map lookup,
but neglected to change the data structure. This was caught by
llvm-gcc self host, not because there's anything special about
llvm-gcc, but because it is the only test for nondeterminism we
currently have. Unit tests don't work well for everything; we should
always try to have a nondeterminism stress test running.
Fixes PR11133: llvm-gcc self host .o mismatch after enable-iv-rewrite=false
llvm-svn: 142036
2011-10-15 01:38:14 +00:00
Bill Wendling
2730a0099a
Clear out the landing pad to call site map for each function.
...
This isn't put into the 'clear()' method because the information needs to stick
around (at least for a little bit) after the selection DAG is built.
llvm-svn: 142032
2011-10-15 01:00:26 +00:00
Jakob Stoklund Olesen
dd2b39d989
Mark tADDrSPi as having side effects again.
...
It really doesn't, but when r141929 removed the hasSideEffects flag from
this instruction, it caused miscompilations. I am guessing that it got
moved across a stack pointer update.
Also clear isRematerializable after checking that this instruction is
in fact never rematerialized in the nightly test suite.
llvm-svn: 142030
2011-10-15 00:57:13 +00:00
Douglas Gregor
936c75bd51
Mention some of the improvements in Clang 3.0 over 2.9.
...
llvm-svn: 142029
2011-10-15 00:48:01 +00:00
Chad Rosier
1809d6c0d5
Thumb1 does not support dynamic stack realignment.
...
rdar://10288916 is tracking this fix.
In the past, instcombine and other passes were promoting alloca alignment past
the natural alignment, resulting in dynamic stack realignment. Lang's work now
prevents this from happening (LLVM commit r141599). Now that this really
shouldn't happen report a fatal error rather than silently generate bad code.
llvm-svn: 142028
2011-10-15 00:28:24 +00:00
Bill Wendling
9c1019c6c7
Mark registers as DEAD because they're really just clobbers.
...
llvm-svn: 142027
2011-10-15 00:27:44 +00:00
Eli Friedman
74d1da5a05
Add missing correctness check to ARMTargetLowering::ReconstructShuffle. Fixes PR11129.
...
llvm-svn: 142022
2011-10-14 23:58:49 +00:00
Bill Wendling
9e0cd1ee17
Make sure that the register is in the register class before adding it as a machine op.
...
llvm-svn: 142021
2011-10-14 23:55:44 +00:00
Bill Wendling
6f3f9a391e
Mark the invoke call instruction as implicitly defining the callee-saved registers.
...
The callee-saved registers cannot be live across an invoke call because the
control flow may continue along the exceptional edge. When this happens, all of
the callee-saved registers are no longer valid.
llvm-svn: 142018
2011-10-14 23:34:37 +00:00
Chris Lattner
8a038652f2
constify array itself, don't iterate multiple times.
...
llvm-svn: 142013
2011-10-14 22:50:21 +00:00
Tanya Lattner
ea166d44e7
Allow the source module to be materialized during the linking process.
...
llvm-svn: 142010
2011-10-14 22:17:46 +00:00
Owen Anderson
220f2643fa
Update test for disabling of code/data marker labels in ELF.
...
llvm-svn: 142003
2011-10-14 21:12:55 +00:00
Richard Trieu
8b478360ef
Fix a non-firing assert. Change:
...
assert("bad SymbolicOp.VariantKind");
To:
assert(0 && "bad SymbolicOp.VariantKind");
llvm-svn: 142000
2011-10-14 20:50:26 +00:00
Torok Edwin
3e3ed6d21b
OCaml bindings: add some missing functions and testcases.
...
The C bindings exposed some APIs that weren't covered by the OCaml bindings
llvm-svn: 141997
2011-10-14 20:38:33 +00:00
Torok Edwin
c130831d1a
OCaml bindings: fix attributes to use all 32 bits
...
OCaml's int is limited to 31 bits on 32-bit architectures, so use Int32
explicitly.
Also add an unpack_attr, and {function,param,instr}_attr functions to read
the attributes.
llvm-svn: 141996
2011-10-14 20:38:24 +00:00
Torok Edwin
a33ba40206
OCaml bindings: add icmp_predicate
...
llvm-svn: 141995
2011-10-14 20:38:19 +00:00
Torok Edwin
90e6edf7c4
OCaml bindings: fix infinite recursion on string_of_lltype
...
llvm-svn: 141994
2011-10-14 20:38:14 +00:00