Commit Graph

51621 Commits

Author SHA1 Message Date
Daniel Dunbar 6119d878bb Improve JIT error message for users crazy enough to use -march with JIT, and
mention -version in messages about missing targets.

llvm-svn: 81272
2009-09-08 23:32:35 +00:00
Chris Lattner 22833a3cd6 parenthesize symbol names that start with $, fixing X86/dollar-name.ll with
the new asmprinter.

llvm-svn: 81269
2009-09-08 23:20:50 +00:00
Chris Lattner dae3e56cb7 convert to filecheck syntax
llvm-svn: 81267
2009-09-08 23:16:26 +00:00
Chris Lattner e819cfbc71 change selectiondag to add the sign extended versions of immediate operands
to instructions instead of zero extended ones.  This makes the asmprinter
print signed values more consistently.  This apparently only really affects
the X86 backend.

llvm-svn: 81265
2009-09-08 23:05:44 +00:00
Dan Gohman 22f339010c Use "opt < %s" instead of "opt %s" so that opt doesn't print the test
filename in the output, which interferes with the tests' grep lines.

llvm-svn: 81263
2009-09-08 22:57:49 +00:00
Anton Korobeynikov 7697d37777 Unbreak getOnesVector() / getZeroVector() to use valid ARM extended imm's.
llvm-svn: 81262
2009-09-08 22:51:43 +00:00
Dan Gohman 4f2527cd6d Convert a few more opt | llvm-dis to opt -S.
llvm-svn: 81261
2009-09-08 22:41:33 +00:00
Chris Lattner 7896c8ba58 filecheckize some tests
llvm-svn: 81259
2009-09-08 22:38:46 +00:00
Dan Gohman 72a13d2476 Use opt -S instead of piping bitcode output through llvm-dis.
llvm-svn: 81257
2009-09-08 22:34:10 +00:00
Dan Gohman e6a80ced1c Use MemoryBuffer::getBufferIdentifier() in the AsmPrinter instead
of requiring a name be passed in. This makes it use "<stdin>"
instead of "-" and makes it more consistent with the Bitcode reader.

llvm-svn: 81256
2009-09-08 22:20:35 +00:00
Mikhail Glushenkov a3fbf36004 This should unbreak the build on 64-bit Linux.
llvm-svn: 81252
2009-09-08 20:31:27 +00:00
Owen Anderson f0081db7e8 Fix PR4909, patch by Jakub Staszak.
llvm-svn: 81250
2009-09-08 19:53:15 +00:00
Mikhail Glushenkov 29b5d3012b Const-correctness.
llvm-svn: 81249
2009-09-08 19:51:39 +00:00
Mikhail Glushenkov 28471eee1d Since Program is basically a PID, it should be copyable.
llvm-svn: 81248
2009-09-08 19:51:12 +00:00
Mikhail Glushenkov f9e2f241df Get rid of the Pid_ member in the Program class.
llvm-svn: 81247
2009-09-08 19:50:55 +00:00
Mikhail Glushenkov 4a91b7605b Add a Kill() function to the Program class.
llvm-svn: 81246
2009-09-08 19:50:27 +00:00
Chris Lattner 10ff0c1862 another typo
llvm-svn: 81243
2009-09-08 19:45:34 +00:00
Evan Cheng 57b14190e6 Do not specify -mmacosx-version-min if building for arm-apple-darwin.
llvm-svn: 81240
2009-09-08 18:52:20 +00:00
Chris Lattner 9ce1781ef4 remove an extremely dubious instcombine transformation of
extractelement(load).

llvm-svn: 81239
2009-09-08 18:48:01 +00:00
Devang Patel 926fc3d68d Remove dead code.
llvm-svn: 81235
2009-09-08 18:14:36 +00:00
Dan Gohman 05b2f10e57 Trim unnecessary declarations.
llvm-svn: 81227
2009-09-08 17:03:05 +00:00
Dan Gohman 9737a63ed8 Change these tests to feed the assembly files to opt directly, instead
of using llvm-as, now that opt supports this.

llvm-svn: 81226
2009-09-08 16:50:01 +00:00
Daniel Dunbar 6e4ed8ca5f Fix may-be-used-uninitialized warning.
llvm-svn: 81223
2009-09-08 16:14:54 +00:00
Dan Gohman 40d204fc83 llvm-as is no longer needed here, now that opt can read assembly
files directly.

llvm-svn: 81222
2009-09-08 15:52:56 +00:00
Dan Gohman 3ddbc242fb Re-apply r80926, with fixes: keep the domtree informed of new blocks
that get created during loop unswitching, and fix SplitBlockPredecessors'
LCSSA updating code to create new PHIs instead of trying to just move
existing ones.

Also, optimize Loop::verifyLoop, since it gets called a lot. Use
searches on a sorted list of blocks instead of calling the "contains"
function, as is done in other places in the Loop class, since "contains"
does a linear search. Also, don't call verifyLoop from LoopSimplify or
LCSSA, as the PassManager is already calling verifyLoop as part of
LoopInfo's verifyAnalysis.

llvm-svn: 81221
2009-09-08 15:45:00 +00:00
Anton Korobeynikov 59e2b8e894 Add NEON 'laned' operations. This fixes another bunch of gcc testsuite fails and
makes the code faster.

llvm-svn: 81220
2009-09-08 15:22:32 +00:00
Chris Lattner 6760e54c92 fix a couple typos pointed out by edwin and duncan
llvm-svn: 81219
2009-09-08 15:13:16 +00:00
Dan Gohman 87be9e7c78 Unbreak these tests. Chris, please verify that these changes are intended.
llvm-svn: 81217
2009-09-08 14:14:24 +00:00
Richard Pennington bd1fc36002 Add source debug information to the Sparc code generator.
llvm-svn: 81215
2009-09-08 12:47:30 +00:00
Nicolas Geoffray 51ae4a23da When emitting a label for a PostCall safe point, the machine
instruction to insert before can be end(). getDebugLoc on
end() returns an invalid value, therefore use the debug
loc of the call instruction, and give it to InsertLabel.

llvm-svn: 81207
2009-09-08 07:39:27 +00:00
Nicolas Geoffray 8ab546ddca Also emit a label for TargetInstrInfo::GC_LABEL.
llvm-svn: 81206
2009-09-08 07:36:18 +00:00
Anton Korobeynikov 758f8c690d Unbreak
llvm-svn: 81205
2009-09-08 07:30:03 +00:00
Evan Cheng a7afdda65d When remat'ing and destination virtual register has a sub-register index. Make sure the sub-register class matches the register class of the remat'ed instruction definition register class.
llvm-svn: 81204
2009-09-08 06:39:07 +00:00
Chris Lattner 7975b8fc32 Print "X-42" instead of "X+-42".
llvm-svn: 81203
2009-09-08 06:37:35 +00:00
Chris Lattner 3cfc551f6e make formatting of expressions more closely match the existing asmprinter.
llvm-svn: 81202
2009-09-08 06:34:07 +00:00
Chris Lattner a0020be758 tidy whitespace.
llvm-svn: 81201
2009-09-08 06:27:48 +00:00
Chris Lattner a8cb3dffe9 disable some irrelevant eh emission
llvm-svn: 81200
2009-09-08 06:26:40 +00:00
Chris Lattner adb4545d14 add support for some missing modifiers on jumptable/constant pool entries.
llvm-svn: 81199
2009-09-08 06:25:12 +00:00
Chris Lattner 31d1810b16 add a bunch more evil lowering code to work around various :subreg32 modifiers
in the .td files.  This gets us down to 18 failures in codegen/x86 with the
new asmprinter.

llvm-svn: 81198
2009-09-08 06:19:15 +00:00
Daniel Dunbar d0521071f5 lit needs bash for tcl-as-sh execution, we use set -o pipefail.
llvm-svn: 81197
2009-09-08 06:08:07 +00:00
Chris Lattner 520a7f9250 ADd support for "lowering" the X86::MOVZX16rr8/X86::MOVZX16rm8
subreg32 modifiers.

llvm-svn: 81196
2009-09-08 06:03:07 +00:00
Chris Lattner 8280e58545 add a hack to lower MOV16r0 to MOV32r0 in MCInstLower, eliminating
the problem with subreg32 modifiers.  This gets all of Olden working
with the new asmprinter.

llvm-svn: 81195
2009-09-08 05:49:25 +00:00
Daniel Dunbar d89e08b3c0 Fix typo that worked on python 2.6.
Also, fix unit tests.

llvm-svn: 81194
2009-09-08 05:46:28 +00:00
Nick Lewycky 12c77d73a9 Hoist out the test+insert to CheckedTypes. This doesn't seem to affect
performance.

llvm-svn: 81193
2009-09-08 05:46:15 +00:00
Daniel Dunbar 9b712b3c8d Fix a refactoro.
llvm-svn: 81192
2009-09-08 05:37:51 +00:00
Daniel Dunbar 3eeddd22dd Add 'lit' support for llvm tests.
- This adds 'make check-lit' from the top-level Makefile.

llvm-svn: 81191
2009-09-08 05:31:44 +00:00
Daniel Dunbar a213a427aa Add 'lit' testing tool.
- make install && man $(llvm-config --prefix)/share/man/man1/lit.1 for more
   information.

llvm-svn: 81190
2009-09-08 05:31:18 +00:00
Chris Lattner ba7cdde020 llvm::cerr is gone.
llvm-svn: 81189
2009-09-08 05:15:50 +00:00
Chris Lattner 633ad4ee17 update this to use raw_ostream
llvm-svn: 81188
2009-09-08 05:14:44 +00:00
Chris Lattner b2fcd070e2 fix PR4767, a crash because fp stackifier visited blocks in
depth first order, so it wouldn't process unreachable blocks.
When compiling at -O0, late dead block elimination isn't done
and the bad instructions got to isel.

llvm-svn: 81187
2009-09-08 04:55:44 +00:00
Chris Lattner d1b21c6092 remove a turd
llvm-svn: 81186
2009-09-08 03:47:41 +00:00
Chris Lattner d3210e1a20 instcombine transforms vector loads that are only used by
extractelement operations into a bitcast of the pointer,
then a gep, then a scalar load.  Disable this when the vector
only has one element, because it leads to infinite loops in
instcombine (PR4908).

This transformation seems like a really bad idea to me, as it
will likely disable CSE of vector load/stores etc and can be
better done in the code generator when profitable.  This
goes all the way back to the first days of packed types,
r25299 specifically.

I'll let those people who care about the performance of vector
code decide what to do with this.

llvm-svn: 81185
2009-09-08 03:44:51 +00:00
Chris Lattner de6a44b790 fix pasto
llvm-svn: 81184
2009-09-08 03:39:55 +00:00
Chris Lattner 5c2126d67e add getVectorOperand/getIndexOperand accessors to ExtractElementInst.
Fix some const correctness problems in SelectInst.

llvm-svn: 81183
2009-09-08 03:32:53 +00:00
Nick Lewycky 984161af16 Simplify from my last change. Assert1 is a macro that makes its caller return,
so "Assert1(isa<>); cast<>" is a valid idiom.

Actually check the PHI node's odd-numbered operands for BasicBlock-ness, like
the comment said.

llvm-svn: 81182
2009-09-08 02:02:39 +00:00
Dan Gohman f4a0f0f033 Fix an abort on a store of an empty struct member. getValue returns
null in the case of an empty struct, so don't try to call getNumValues
on it.

llvm-svn: 81180
2009-09-08 01:44:02 +00:00
Nick Lewycky b2b0467e18 Verify types. Invalid types can be constructed when assertions are off.
Make the verifier more robust by avoiding unprotected cast<> calls. Notably,
Assert1(isa<>); cast<> is not safe as Assert1 does not terminate the program.

llvm-svn: 81179
2009-09-08 01:23:52 +00:00
Chris Lattner 4ad0b4c544 fix PR4915, a crash in -debug mode.
llvm-svn: 81177
2009-09-08 01:22:54 +00:00
Chris Lattner f2ab40a46f Fix PR4882, by making MemCpyOpt not dereference removed stores to get the
context for the newly created operations.
 
Patch by Jakub Staszak!

llvm-svn: 81175
2009-09-08 00:27:14 +00:00
Chris Lattner 0cdbc7a2ca fix ComputeMaskedBits handling of zext/sext/trunc to work with vectors.
This fixes PR4905

llvm-svn: 81174
2009-09-08 00:13:52 +00:00
Chris Lattner 4bc2825d0b add some comments to describe the invariants.
llvm-svn: 81173
2009-09-08 00:06:16 +00:00
Dan Gohman 1b84908f92 Reappy r80998, now that the GlobalOpt bug that it exposed on MiniSAT is fixed.
llvm-svn: 81172
2009-09-07 23:54:19 +00:00
Dan Gohman 2512a42548 Fix a thinko: When lowering fneg with xor, bitcast the operands
from floating-point to integer first, and bitcast the result
back to floating-point. Previously, this test was passing by
falling back to SelectionDAG lowering. The resulting code isn't
as nice, but it's correct and CodeGen now stays on the fast path.

llvm-svn: 81171
2009-09-07 23:47:14 +00:00
Chris Lattner a34a718c4b add some more notes.
llvm-svn: 81170
2009-09-07 23:33:52 +00:00
Dan Gohman d131e18dd0 Add a testcase for the GlobalOpt inbounds fix.
llvm-svn: 81168
2009-09-07 23:04:59 +00:00
Chris Lattner ec72b9bbcf describe undef semantics in some more detail.
llvm-svn: 81167
2009-09-07 22:52:39 +00:00
Dan Gohman 02e363ed52 Add inbounds to these getelementptrs, now that GlobalOpt requires this,
to preserve the meaning of these tests.

llvm-svn: 81166
2009-09-07 22:45:41 +00:00
Dan Gohman 161429fe7e Don't commit stores with addresses that have indices that are not
compile-time constant integers or that are out of bounds for their
corresponding static array types. These can cause aliasing that
GlobalOpt assumes won't happen.

llvm-svn: 81165
2009-09-07 22:44:55 +00:00
Dan Gohman 82e747580f Don't commit addresses of aggregate values. This avoids problems with
an aggregate store overlapping a different aggregate store, despite
the stores having distinct addresses.

llvm-svn: 81164
2009-09-07 22:42:05 +00:00
Dan Gohman beee35a277 Fix GlobalOpt to avoid committing a store if the address getelementptr
is missing the inbounds flag. This is slightly conservative, but it
avoids problems with two constants pointing to the same address but
getting distinct entries in the Memory DenseMap.

llvm-svn: 81163
2009-09-07 22:40:13 +00:00
Dan Gohman 19244eaa4a Preserve the InBounds flag when evaluating a getelementptr instruction
into a getelementptr ConstantExpr.

llvm-svn: 81162
2009-09-07 22:34:43 +00:00
Dan Gohman f7f3fb1133 Simplify this code by using hasDefinitiveInitializer().
llvm-svn: 81161
2009-09-07 22:31:26 +00:00
Chris Lattner e48704b8da tighten test.
llvm-svn: 81159
2009-09-07 22:15:23 +00:00
Chris Lattner 3b134cd72a tweak test, add PR#
llvm-svn: 81158
2009-09-07 22:14:41 +00:00
Nick Lewycky d7fb16d895 Express this in the canonical way.
llvm-svn: 81157
2009-09-07 21:50:24 +00:00
Nick Lewycky 3fc89804a6 Homogenize whitespace.
llvm-svn: 81156
2009-09-07 20:44:51 +00:00
Daniel Dunbar d6b6c59729 Use -output-prefix in bugpoint tests so that outputs go in temp directory (and
we don't race on them).

llvm-svn: 81155
2009-09-07 19:26:18 +00:00
Daniel Dunbar a53337f731 Add -output-prefix option to bugpoint (to change the default output name).
llvm-svn: 81154
2009-09-07 19:26:11 +00:00
Daniel Dunbar 7fcfc4fc31 Don't depend on Tcl behavior of redirecting stderr for all commands in a
pipeline.

llvm-svn: 81153
2009-09-07 19:26:02 +00:00
Daniel Dunbar 0367b0f136 Avoid Tcl substitution, introduced %llvmgcc_only for this one little test
(%llvmgcc includes a '-w' argument, and this test looks for warnings).

llvm-svn: 81152
2009-09-07 19:25:54 +00:00
Duncan Sands cd32ecf44f Using a signal handler that does nothing should be
equivalent to SIG_IGN.

llvm-svn: 81144
2009-09-07 05:58:25 +00:00
Daniel Dunbar 8feee907e4 Update unittests for MDNode uniquing disable.
llvm-svn: 81142
2009-09-07 04:19:02 +00:00
Daniel Dunbar 10fcf3354b Disable MDNode uniquing.
- Hopefully this unbreaks some llvm-gcc bootstraps.

llvm-svn: 81141
2009-09-07 04:05:49 +00:00
Daniel Dunbar 01d7e3b54a Document opt -S argument.
llvm-svn: 81140
2009-09-07 04:03:44 +00:00
Eric Christopher 66d8555f7e Fix comment.
llvm-svn: 81138
2009-09-06 22:20:54 +00:00
Anton Korobeynikov d2c19c74d6 Do not create calls via PLT in compilation callback - this is higly platform
dependent. Hopefully, this will fix PR3801.

llvm-svn: 81132
2009-09-06 20:21:48 +00:00
Duncan Sands 4827538f82 Do not try to override non-virtual methods, especially
when the new method gives the same result as the original
(as far as I can see).  This will hopefully pacify icc.

llvm-svn: 81131
2009-09-06 20:02:00 +00:00
Duncan Sands bfb9719dad Remove a left over bit of code with no effect.
llvm-svn: 81128
2009-09-06 19:29:07 +00:00
Duncan Sands 6c643bd25d Avoid warnings if assertions are off.
llvm-svn: 81127
2009-09-06 19:28:38 +00:00
Duncan Sands 8a2aa38c55 Remove unreachable code.
llvm-svn: 81126
2009-09-06 19:27:53 +00:00
Duncan Sands 3ee3c174b1 Simplify. Testing shows that this is not equivalent to BBI = CR.CaseBB + 1.
llvm-svn: 81124
2009-09-06 18:03:32 +00:00
Duncan Sands 6bd6a72e73 Avoid an unused variable warning when assertions are
disabled.

llvm-svn: 81122
2009-09-06 16:27:34 +00:00
Duncan Sands 6d46e7689c Change "const static" to "static const", as warned about
by icc (#82).  Patch by Erick Tryzelaar.

llvm-svn: 81117
2009-09-06 13:10:36 +00:00
Duncan Sands d216b05e75 Mark more constants unsigned, as warned about by icc (#68).
Patch by Erick Tryzelaar.

llvm-svn: 81116
2009-09-06 12:56:52 +00:00
Duncan Sands 89720bbd11 Remove some not-really-used variables, as warned
about by icc (#593, partial).  Patch by Erick Tryzelaar.

llvm-svn: 81115
2009-09-06 12:41:19 +00:00
Benjamin Kramer 2b37efaf53 More MSVC warning fixes:
1. DUPMAX is defined in regcomp.c, no need to redefine it in regutils.
2. MSVC doesn't like snprintf, use _snprintf instead.

llvm-svn: 81114
2009-09-06 12:26:28 +00:00
Duncan Sands 8234cdb68f Remove strange 'const' qualifiers, as warned about by icc
(#411).  Patch by Erick Tryzelaar.

llvm-svn: 81113
2009-09-06 12:16:26 +00:00
Benjamin Kramer e3c9d23bea It's a bool, so treat it like one. Fixes a MSVC warning.
llvm-svn: 81112
2009-09-06 12:10:17 +00:00
Duncan Sands b986b8ffe7 Mark constants as unsigned, as pointed out by icc
warnings (#174).  Patch by Erick Tryzelaar.

llvm-svn: 81111
2009-09-06 11:45:14 +00:00
Duncan Sands 44d423ac93 Tweak code into an equivalent form for which icc
doesn't warn about unreachable instructions.  Patch
by Erick Tryzelaar (#111).

llvm-svn: 81110
2009-09-06 10:53:22 +00:00