Chris Lattner [Wed, 8 Sep 2010 22:27:05 +0000 (22:27 +0000)]
fix rdar://
8407548, I missed the commuted form of xchg/test without a suffix.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113427
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 8 Sep 2010 22:22:10 +0000 (22:22 +0000)]
fix wonky formatting.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113426
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Wed, 8 Sep 2010 22:16:17 +0000 (22:16 +0000)]
Generalize instcombine's support for combining multiple bit checks into a single test. Patch by Dirk Steinke!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113423
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 8 Sep 2010 22:13:08 +0000 (22:13 +0000)]
fix bugs in push/pop segment support, rdar://
8407242
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113422
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Wed, 8 Sep 2010 22:08:40 +0000 (22:08 +0000)]
Add intrinsic-based patterns for MMX PINSRW and PEXTRW.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113420
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Wed, 8 Sep 2010 21:49:50 +0000 (21:49 +0000)]
Make the loads/stores match the type we really want to store.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113417
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Wed, 8 Sep 2010 21:21:28 +0000 (21:21 +0000)]
Remove dead code and data.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113411
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Wed, 8 Sep 2010 21:09:48 +0000 (21:09 +0000)]
Check in forgotten file. Should fix build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113409
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Wed, 8 Sep 2010 20:54:00 +0000 (20:54 +0000)]
Slight cleanup, use only one form of MMXI_binop_rm_int.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113406
91177308-0d34-0410-b5e6-
96231b3b80d8
Michael J. Spencer [Wed, 8 Sep 2010 20:49:40 +0000 (20:49 +0000)]
CMake: Use the svn revision information from git-svn if available.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113405
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 8 Sep 2010 20:21:11 +0000 (20:21 +0000)]
Remove --with-gxx-include-dir option because it's causing problems on non-Darwin platforms.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113401
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 8 Sep 2010 20:12:02 +0000 (20:12 +0000)]
Re-enable usage of the ARM base pointer. r113394 fixed the known failures.
Re-running some nightly testers w/ it enabled to verify.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113399
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 8 Sep 2010 20:09:14 +0000 (20:09 +0000)]
Add an option to not test ObjC for those platforms which don't support it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113398
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Wed, 8 Sep 2010 19:58:15 +0000 (19:58 +0000)]
Correct variable name.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113395
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 8 Sep 2010 19:55:28 +0000 (19:55 +0000)]
Fix errant fall-throughs causing the base pointer to be used when the frame
pointer was intended. rdar://
8401980
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113394
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Wed, 8 Sep 2010 19:50:25 +0000 (19:50 +0000)]
Move the number of cpus logic to somewhere more logical.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113393
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Wed, 8 Sep 2010 19:32:34 +0000 (19:32 +0000)]
Remove ssp from this test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113392
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Wed, 8 Sep 2010 19:15:38 +0000 (19:15 +0000)]
Add intrinsic forms of mmx<->sse conversions. Notes:
Omission of memory form of PI2PD is intentional; this
does not use an MMX register and does not put the chip
into MMX mode (PI2PS, oddly enough, does).
Operands of PI2PS follow the gcc builtin, not Intel.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113388
91177308-0d34-0410-b5e6-
96231b3b80d8
Eric Christopher [Wed, 8 Sep 2010 18:56:34 +0000 (18:56 +0000)]
Rewrite TargetMaterializeConstant.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113387
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Wed, 8 Sep 2010 18:50:24 +0000 (18:50 +0000)]
Remove dead code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113386
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Wed, 8 Sep 2010 18:41:07 +0000 (18:41 +0000)]
Move private member functions to the end of the class declaration.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113385
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 8 Sep 2010 18:32:31 +0000 (18:32 +0000)]
A script that tests a certain release candidate in several modes. It does a
2-phase build of llvm and llvm-gcc, similar to what the buildbots do, and runs
the regression testsuite.
Things to do:
- Work out some bugs with llvm-gcc flags.
- Not all platforms support ObjC.
- Run the test-suite.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113382
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Wed, 8 Sep 2010 18:30:06 +0000 (18:30 +0000)]
Add a directory for release management scripts.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113381
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Wed, 8 Sep 2010 18:22:11 +0000 (18:22 +0000)]
Make module ownership methods on LLVMContext private, and make Module a friend
so that it can access them. These are not intended to be externally accessible APIs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113380
91177308-0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Wed, 8 Sep 2010 18:12:31 +0000 (18:12 +0000)]
Minor change. Fix comments and remove unused and redundant code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113378
91177308-0d34-0410-b5e6-
96231b3b80d8
Roman Divacky [Wed, 8 Sep 2010 18:08:40 +0000 (18:08 +0000)]
ELF_STB_Local is 0 so setting and checking it must be done specially
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113375
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Wed, 8 Sep 2010 18:03:32 +0000 (18:03 +0000)]
Clarify the ownership model of LLVMContext and Module. Namely, contexts own
modules are instantiated in them. If the context is deleted, all of its owned
modules are also deleted.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113374
91177308-0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Wed, 8 Sep 2010 17:43:25 +0000 (17:43 +0000)]
x86 vector shuffle lowering now relies only on target specific
nodes to emit shuffles and don't do isel mask matching anymore.
- Add the selection of the remaining shuffle opcode (movddup)
- Introduce two new functions to "recognize" where we may get
potential folds and add several comments to them explaining why
they are not yet in the desidered shape.
- Add more patterns to fallback the case where we select
a specific shuffle opcode as if it could fold a load, but it
can't, so remap to a valid instruction.
- Add a couple of FIXMEs to address in the following days once
there's a good solution to the current folding problem.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113369
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 8 Sep 2010 17:22:12 +0000 (17:22 +0000)]
Be more careful about when to do dynamic stack realignment. Since we have an
option to disable base pointer usage, pay attention to it when deciding
if we can realign (if no base pointer and VLAs, we can't).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113366
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 8 Sep 2010 17:05:45 +0000 (17:05 +0000)]
Add missing assert
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113365
91177308-0d34-0410-b5e6-
96231b3b80d8
Tobias Grosser [Wed, 8 Sep 2010 15:02:51 +0000 (15:02 +0000)]
Execute all Pass Printers even if -quiet is set.
Follow the same logic in the LoopPass, ModulePass and CallGraphSCCPass printers,
as it was already used in the BasicBlockPass and FunctionPass printers. This is
more consistent.
The other option would have been to completely disable dumping the analysis
information. However, as this information is the only information printed if the
-analysis flag is set, calling opt would not do anything at all.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113360
91177308-0d34-0410-b5e6-
96231b3b80d8
Tobias Grosser [Wed, 8 Sep 2010 15:02:47 +0000 (15:02 +0000)]
Include original pass name in the PassPrinter's name.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113359
91177308-0d34-0410-b5e6-
96231b3b80d8
Roman Divacky [Wed, 8 Sep 2010 14:29:45 +0000 (14:29 +0000)]
Unresolved weak symbols have value equal zero.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113358
91177308-0d34-0410-b5e6-
96231b3b80d8
Kalle Raiskila [Wed, 8 Sep 2010 11:53:38 +0000 (11:53 +0000)]
Fix CellSPU vector shuffles, again.
Some cases of lowering to rotate were miscompiled.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113355
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 8 Sep 2010 05:51:12 +0000 (05:51 +0000)]
add support for the commuted form of the test instruction, rdar://
8018260.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113352
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 8 Sep 2010 05:45:34 +0000 (05:45 +0000)]
implement proper support for sysret{,l,q}, rdar://
8403907
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113350
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 8 Sep 2010 05:38:31 +0000 (05:38 +0000)]
implement the iret suite of instructions properly,
fixing rdar://
8403974
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113349
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 8 Sep 2010 05:17:37 +0000 (05:17 +0000)]
add support for instruction prefixes on the same line as the instruction,
implementing rdar://
8033482 and PR7254.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113348
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 8 Sep 2010 05:10:46 +0000 (05:10 +0000)]
change the MC "ParseInstruction" interface to make it the
implementation's job to check for and lex the EndOfStatement
marker.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113347
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 8 Sep 2010 04:53:27 +0000 (04:53 +0000)]
gas accepts xchg <mem>, <reg> as a synonym for xchg <reg>, <mem>.
Add this to the mc assembler, fixing PR8061
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113346
91177308-0d34-0410-b5e6-
96231b3b80d8
NAKAMURA Takumi [Wed, 8 Sep 2010 04:48:17 +0000 (04:48 +0000)]
ARM/Disassembler: Fix definitions incompatible(unsigned and uint32_t) to Cygwin-1.5, following up to r113255.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113345
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 8 Sep 2010 04:30:51 +0000 (04:30 +0000)]
fix the encoding of the "jump on *cx" family of instructions,
rdar://
8061602
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113343
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 8 Sep 2010 03:54:02 +0000 (03:54 +0000)]
remove trailing whitespace
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113338
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 8 Sep 2010 03:51:44 +0000 (03:51 +0000)]
remove obsolete comment
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113337
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 8 Sep 2010 02:00:34 +0000 (02:00 +0000)]
disable for the moment while tracking down a few Thumb2-O0 failure that look
related. (attempt deux, complete w/ test update this time)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113333
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 8 Sep 2010 01:49:09 +0000 (01:49 +0000)]
woops. need to update a test along with this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113332
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 8 Sep 2010 01:47:49 +0000 (01:47 +0000)]
disable temporarily while sorting out a few test failures in Thumb2-O0 tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113331
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Wed, 8 Sep 2010 01:32:20 +0000 (01:32 +0000)]
Add a new experimental generalized dependence query interface to
AliasAnalysis, and some code for implementing the new query on top of
existing implementations by making standard alias and getModRefInfo
queries.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113329
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 8 Sep 2010 00:26:59 +0000 (00:26 +0000)]
correct spill code to properly determine if dynamic stack realignment is
present in the function and thus whether aligned load/store instructions can
be used.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113323
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Wed, 8 Sep 2010 00:25:50 +0000 (00:25 +0000)]
VFP/NEON load/store multiple instructions are addrmode4, not 5.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113322
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 7 Sep 2010 23:15:30 +0000 (23:15 +0000)]
Add a separate unrolling threshold when the current function is being optimized for size.
The threshold value of 50 is arbitrary, and I chose it simply by analogy to the inlining thresholds, where
the baseline unrolling threshold is slightly smaller than the baseline inlining threshold. This could
undoubtedly use some tuning.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113306
91177308-0d34-0410-b5e6-
96231b3b80d8
John McCall [Tue, 7 Sep 2010 23:10:21 +0000 (23:10 +0000)]
Add documentation for llvm-diff.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113303
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Tue, 7 Sep 2010 22:38:45 +0000 (22:38 +0000)]
Don't add <imp-def> operands during register rewriting.
LiveIntervals already adds <imp-def> operands for super-registers when a subreg
def defines the whole register. Thus, it is not necessary to do it again when
rewriting.
In fact, the super-register imp-defs caused miscompilations because the late
scheduler couldn't see that the super-register was read.
We still add super-reg <imp-use,kill> operands when rewriting virtuals to
physicals.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113299
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Tue, 7 Sep 2010 22:30:53 +0000 (22:30 +0000)]
To shrink a t2LDM instruction to the 16-bit wide tLDM instruction, the base
register must be one of the destination registers for the load. Otherwise,
the tLDM instruction will write-back to the base register, which isn't what's
desired (otherwise, we'd have a t2LDM_UPD instead).
rdar://
8394087
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113297
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 7 Sep 2010 22:03:44 +0000 (22:03 +0000)]
remove these tests for now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113293
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Grosbach [Tue, 7 Sep 2010 21:30:25 +0000 (21:30 +0000)]
grammar tweak
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113289
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 7 Sep 2010 21:07:59 +0000 (21:07 +0000)]
Remove untrue comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113287
91177308-0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Tue, 7 Sep 2010 21:03:14 +0000 (21:03 +0000)]
Factor out some x86 vector shuffle rewriting and add comments about the direction the shuffle lowering is heading to
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113286
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 7 Sep 2010 20:59:09 +0000 (20:59 +0000)]
There is no need to force target if the test is going to run on other x86 platforms.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113285
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 7 Sep 2010 20:53:39 +0000 (20:53 +0000)]
Remove dead code. ManagedCleanup is unused, and contained a serious bug in that
the provided cleanup function is never actually called.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113284
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 7 Sep 2010 20:48:10 +0000 (20:48 +0000)]
Fix PR7972, in which the PassRegistry was being leaked. As part of this,
switch to using a ManagedStatic for the global PassRegistry instead of a
ManagedCleanup, and fix a destruction ordering bug this exposed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113283
91177308-0d34-0410-b5e6-
96231b3b80d8
Stuart Hastings [Tue, 7 Sep 2010 20:39:07 +0000 (20:39 +0000)]
Typo. Thanks to BillW for pointing it out!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113281
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 7 Sep 2010 20:37:47 +0000 (20:37 +0000)]
Tidy up the getModRefInfo declarations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113275
91177308-0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Tue, 7 Sep 2010 20:20:27 +0000 (20:20 +0000)]
Move code around to prepare for moving some of the logic together to another function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113267
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 7 Sep 2010 20:13:48 +0000 (20:13 +0000)]
Properly initialize the pImpl member of PassRegistry to zero.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113264
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 7 Sep 2010 20:04:26 +0000 (20:04 +0000)]
Add doxygen comments for PassRegistry.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113262
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 7 Sep 2010 20:03:56 +0000 (20:03 +0000)]
Add an MVT::x86mmx type. It will take the place of all current MMX vector types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113261
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 7 Sep 2010 20:01:38 +0000 (20:01 +0000)]
Fix a serious performance regression introduced by r108687 on linux:
turning (fptrunc (sqrt (fpext x))) -> (sqrtf x) is great, but we have
to delete the original sqrt as well. Not doing so causes us to do
two sqrt's when building with -fmath-errno (the default on linux).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113260
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 7 Sep 2010 20:01:10 +0000 (20:01 +0000)]
Remove a dead comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113259
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 7 Sep 2010 19:57:06 +0000 (19:57 +0000)]
rename test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113257
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 7 Sep 2010 19:50:53 +0000 (19:50 +0000)]
hopefully fix a problem building on cygwin-1.5
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113255
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Tue, 7 Sep 2010 19:16:25 +0000 (19:16 +0000)]
Clean up some of the PassRegistry implementation, and pImpl-ize it to reduce #include clutter
and exposing internal details.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113252
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 7 Sep 2010 18:49:14 +0000 (18:49 +0000)]
Fix whitespace, because I'm OCD.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113250
91177308-0d34-0410-b5e6-
96231b3b80d8
Stuart Hastings [Tue, 7 Sep 2010 18:43:57 +0000 (18:43 +0000)]
Test case for r113248. Raar
8361341.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113249
91177308-0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Tue, 7 Sep 2010 18:41:45 +0000 (18:41 +0000)]
decouple MMX check from regular splat checks. Some refactoring is coming, and MMX should be left alone to be easily removed after moving to intrinsics
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113247
91177308-0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Tue, 7 Sep 2010 18:29:03 +0000 (18:29 +0000)]
Remove now useless check, because the code can be matched below, no need to leave it for isel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113242
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 7 Sep 2010 18:26:49 +0000 (18:26 +0000)]
Issue a #error if the host doesn't have an implementation for
GetMainExecutable yet.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113240
91177308-0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Tue, 7 Sep 2010 18:24:00 +0000 (18:24 +0000)]
Minor change. Since the checks are equivalent, use isMMX
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113239
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 7 Sep 2010 18:17:56 +0000 (18:17 +0000)]
Fix command line used to link these test cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113237
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Tue, 7 Sep 2010 18:14:42 +0000 (18:14 +0000)]
Update configure for change to autoconf/configure.ac to add PTX backend.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113236
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Tue, 7 Sep 2010 18:14:24 +0000 (18:14 +0000)]
Create PTX backend. Patch by Che-Liang Chiou!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113235
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Tue, 7 Sep 2010 18:10:56 +0000 (18:10 +0000)]
Add patterns for MMX that use the new intrinsics.
Enable palignr intrinsic.
These may need adjustment for a new VT in due course.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113233
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 7 Sep 2010 18:01:49 +0000 (18:01 +0000)]
Reintroduce dbg-declare tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113232
91177308-0d34-0410-b5e6-
96231b3b80d8
Bruno Cardoso Lopes [Tue, 7 Sep 2010 17:38:55 +0000 (17:38 +0000)]
Remove unused target specific node
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113224
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 7 Sep 2010 17:08:57 +0000 (17:08 +0000)]
Remove last three tests. I need to make them independent of my setup.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113213
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 7 Sep 2010 17:03:44 +0000 (17:03 +0000)]
Add a test case to check handling of dbg-declare during hybrid mode where we begin using fast-isel but switch back to DAG building at some point.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113210
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 7 Sep 2010 16:56:35 +0000 (16:56 +0000)]
Add a test case to check handling of dbg-declare by selection DAG builder.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113209
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 7 Sep 2010 16:40:53 +0000 (16:40 +0000)]
Add a test case to check handling of dbg-declare by fast-isel.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113208
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Tue, 7 Sep 2010 14:40:58 +0000 (14:40 +0000)]
Don't leak the old operand when transforming "sldt" into "sldtw".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113200
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 7 Sep 2010 06:10:48 +0000 (06:10 +0000)]
attempt to appease msvc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113198
91177308-0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Tue, 7 Sep 2010 06:06:06 +0000 (06:06 +0000)]
fix comment typos
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113197
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Tue, 7 Sep 2010 05:39:02 +0000 (05:39 +0000)]
Add completely hokey binary-and and binary-or operations to ConstantRange and
teach LazyValueInfo to use them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113196
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Tue, 7 Sep 2010 01:42:10 +0000 (01:42 +0000)]
Fix major bug in thunk detection. Also verify the calling convention.
Switch from isWeakForLinker to mayBeOverridden which is more accurate.
Add more statistics and debugging info. Add comments. Move static function
outside anonymous namespace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113190
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 7 Sep 2010 00:05:45 +0000 (00:05 +0000)]
add missing cmov aliases, this resolves rdar://
8208499
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113189
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 6 Sep 2010 23:57:24 +0000 (23:57 +0000)]
remove duplicated entry
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113188
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Mon, 6 Sep 2010 23:52:49 +0000 (23:52 +0000)]
Add a new isSignWrappedSet() method to ConstantRange.
Fix zeroExtend and signExtend to support empty sets, and to return the smallest
possible result set which contains the extension of each element in their
inputs. For example zext i8 [100, 10) to i16 is now [0, 256), not i16 [100, 10)
which contains 63446 members.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113187
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 6 Sep 2010 23:51:44 +0000 (23:51 +0000)]
"sldt <mem>" is ambiguous in 64-bit mode, but should
always be disambiguated as sldtw. sldtw and sldtq with
a mem operands have the same effect, but sldtw is more
compact. Force it to sldtw, resolving rdar://
8017530
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113186
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 6 Sep 2010 23:40:56 +0000 (23:40 +0000)]
fix rdar://
8017621 - llvm-mc can't guess encoding for "push $(1000)"
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113184
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 6 Sep 2010 23:37:39 +0000 (23:37 +0000)]
generalize my previous operand loc info hack. If the same operand
is busted for all variants, report it as the location. This allows
us to get the operand right for bugs like:
t.s:3:12: error: invalid operand for instruction
outb %al, %gs
^
Even though there are reg/imm and reg/reg forms of this instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113183
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Mon, 6 Sep 2010 23:29:05 +0000 (23:29 +0000)]
fix the operand constraints of the immediate form of in/out,
allowing unsigned 8-bit operands. This fixes rdar://
8208481
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113182
91177308-0d34-0410-b5e6-
96231b3b80d8