oota-llvm.git
14 years agomcstreamerize .file and .file. This also fixes an issue where the
Chris Lattner [Mon, 25 Jan 2010 18:58:59 +0000 (18:58 +0000)]
mcstreamerize .file and .file.  This also fixes an issue where the
normal form of .file would fail if the filename had a weird character
in it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94437 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoemit ELF .type directives through MCStreamer instead of doing it textually.
Chris Lattner [Mon, 25 Jan 2010 18:33:40 +0000 (18:33 +0000)]
emit ELF .type directives through MCStreamer instead of doing it textually.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94436 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoadd symbol attribute support for the ELF .type directive.
Chris Lattner [Mon, 25 Jan 2010 18:30:45 +0000 (18:30 +0000)]
add symbol attribute support for the ELF .type directive.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94435 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoChange Value::getUnderlyingObject to have the MaxLookup value specified as a
Bob Wilson [Mon, 25 Jan 2010 18:26:54 +0000 (18:26 +0000)]
Change Value::getUnderlyingObject to have the MaxLookup value specified as a
parameter with a default value, instead of just hardcoding it in the
implementation.  The limit of MaxLookup = 6 was introduced in r69151 to fix
a performance problem with O(n^2) behavior in instcombine, but the scalarrepl
pass is relying on getUnderlyingObject to go all the way back to an AllocaInst.
Making the limit part of the method signature makes it clear that by default
the result is limited and should help avoid similar problems in the future.
This fixes pr6126.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94433 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRevert r94260 until findDbgDeclare() is made more efficient
Victor Hernandez [Mon, 25 Jan 2010 17:52:13 +0000 (17:52 +0000)]
Revert r94260 until findDbgDeclare() is made more efficient

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94432 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoUpdate test for darwin.
Rafael Espindola [Mon, 25 Jan 2010 15:32:10 +0000 (15:32 +0000)]
Update test for darwin.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94421 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoadd a comment
Chris Lattner [Mon, 25 Jan 2010 07:53:05 +0000 (07:53 +0000)]
add a comment

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94417 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoemit the .size directive for global variables on ELF through
Chris Lattner [Mon, 25 Jan 2010 07:52:13 +0000 (07:52 +0000)]
emit the .size directive for global variables on ELF through
mcstreamer.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94416 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agowe removed support for darwin8 tools.
Chris Lattner [Mon, 25 Jan 2010 07:43:40 +0000 (07:43 +0000)]
we removed support for darwin8 tools.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94414 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoall supported target now have aligned common support.
Chris Lattner [Mon, 25 Jan 2010 07:29:13 +0000 (07:29 +0000)]
all supported target now have aligned common support.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94413 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRemove support for i386 tiger tools for aligned common symbols.
Chris Lattner [Mon, 25 Jan 2010 07:26:17 +0000 (07:26 +0000)]
Remove support for i386 tiger tools for aligned common symbols.
Previously we would just silently miscompile code that used aligned
common's, now at least you'll get a build error.  tiger-ppc already
triggered the build error because it didn't have a version of this
logic.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94412 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agodon't set value to its default.
Chris Lattner [Mon, 25 Jan 2010 07:23:14 +0000 (07:23 +0000)]
don't set value to its default.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94411 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agocoff targets support alignment on .comm
Chris Lattner [Mon, 25 Jan 2010 07:20:44 +0000 (07:20 +0000)]
coff targets support alignment on .comm

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94410 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoARM does accept the .comm directive alignment.
Jim Grosbach [Mon, 25 Jan 2010 04:59:07 +0000 (04:59 +0000)]
ARM does accept the .comm directive alignment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94408 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix autoconf llvm srcdir location for generic projects.
Eric Christopher [Mon, 25 Jan 2010 04:10:28 +0000 (04:10 +0000)]
Fix autoconf llvm srcdir location for generic projects.

Patch by Torvald Riegel!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94405 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix PR6134.
Rafael Espindola [Mon, 25 Jan 2010 02:27:39 +0000 (02:27 +0000)]
Fix PR6134.
We are not emitting alignments on Darwin for "bar". Not sure what is the
correct way to do it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94400 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAttempt to unbreak test on Linux. Chris, please check.
Daniel Dunbar [Mon, 25 Jan 2010 00:54:13 +0000 (00:54 +0000)]
Attempt to unbreak test on Linux. Chris, please check.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94399 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoThis example requires RTTI.
Daniel Dunbar [Mon, 25 Jan 2010 00:45:01 +0000 (00:45 +0000)]
This example requires RTTI.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94398 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agolinux/ppc does use alignment in bytes, not pow-2. This fixes PR6129.
Chris Lattner [Sun, 24 Jan 2010 20:54:45 +0000 (20:54 +0000)]
linux/ppc does use alignment in bytes, not pow-2.  This fixes PR6129.
It looks like linux/arm and linux/mips have the same setting, which
are probably wrong.  Someone who cares about ARM and MIPS should
investigate with the testcase in PR6129.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94381 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agodon't reset the default.
Chris Lattner [Sun, 24 Jan 2010 20:53:12 +0000 (20:53 +0000)]
don't reset the default.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94380 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agomake -fno-rtti the default unless a directory builds with REQUIRES_RTTI.
Chris Lattner [Sun, 24 Jan 2010 20:43:08 +0000 (20:43 +0000)]
make -fno-rtti the default unless a directory builds with REQUIRES_RTTI.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94378 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agomark some libraries that currently require RTTI.
Chris Lattner [Sun, 24 Jan 2010 20:22:08 +0000 (20:22 +0000)]
mark some libraries that currently require RTTI.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94377 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agolibs that need EH need RTTI.
Chris Lattner [Sun, 24 Jan 2010 20:21:50 +0000 (20:21 +0000)]
libs that need EH need RTTI.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94376 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoENABLE_EXPENSIVE_CHECKS shouldn't know how rtti is enabled, let REQUIRES_RTTI handle it.
Chris Lattner [Sun, 24 Jan 2010 20:20:40 +0000 (20:20 +0000)]
ENABLE_EXPENSIVE_CHECKS shouldn't know how rtti is enabled, let REQUIRES_RTTI handle it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94375 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoreassociate should do this.
Chris Lattner [Sun, 24 Jan 2010 20:17:09 +0000 (20:17 +0000)]
reassociate should do this.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94374 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoadd a note.
Chris Lattner [Sun, 24 Jan 2010 20:01:41 +0000 (20:01 +0000)]
add a note.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94373 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agojust remove this test, it is not reduced, is not clear what its testing for and
Chris Lattner [Sun, 24 Jan 2010 19:23:09 +0000 (19:23 +0000)]
just remove this test, it is not reduced, is not clear what its testing for and
it is dying due to fragility in the asmprinter .s comments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94372 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agothis test has been failing or a long time, just disable it for now to get
Chris Lattner [Sun, 24 Jan 2010 19:13:39 +0000 (19:13 +0000)]
this test has been failing or a long time, just disable it for now to get
back to green.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94371 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agofix some issues where we weren't emitting enough newlines.
Chris Lattner [Sun, 24 Jan 2010 19:01:06 +0000 (19:01 +0000)]
fix some issues where we weren't emitting enough newlines.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94370 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agowhen emitting DIEs, emit the comment on the same line as the directive.
Chris Lattner [Sun, 24 Jan 2010 18:54:17 +0000 (18:54 +0000)]
when emitting DIEs, emit the comment on the same line as the directive.
This fixes FrontendObjC/2009-11-30-Objc-ID.m

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94369 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agomove PR5945 here.
Chris Lattner [Sun, 24 Jan 2010 02:27:03 +0000 (02:27 +0000)]
move PR5945 here.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94350 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agofix a parsing problem on instructions like:
Chris Lattner [Sun, 24 Jan 2010 01:07:33 +0000 (01:07 +0000)]
fix a parsing problem on instructions like:
movw $8, (_cost_table_-L97$pb)+66(%eax)

After the parens, we could still have a binop.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94345 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoThis corrects an error in the type of the Llvm.dispose_context function.
Chris Lattner [Sun, 24 Jan 2010 00:25:09 +0000 (00:25 +0000)]
This corrects an error in the type of the Llvm.dispose_context function.
Patch by James Woodyatt!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94343 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoIt seems better to scalarize vectors of size 1 instead of widening them.
Mon P Wang [Sun, 24 Jan 2010 00:24:43 +0000 (00:24 +0000)]
It seems better to scalarize vectors of size 1 instead of widening them.
Add support to widen SETCC.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94342 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agochange the canonical form of "cond ? -1 : 0" to be
Chris Lattner [Sun, 24 Jan 2010 00:09:49 +0000 (00:09 +0000)]
change the canonical form of "cond ? -1 : 0" to be
"sext cond" instead of a select.  This simplifies some instcombine
code, matches the policy for zext (cond ? 1 : 0 -> zext), and allows
us to generate better code for a testcase on ppc.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94339 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoImproved widening loads by adding support for wider loads if
Mon P Wang [Sun, 24 Jan 2010 00:05:03 +0000 (00:05 +0000)]
Improved widening loads by adding support for wider loads if
the alignment allows.  Fixed a bug where we didn't use a
vector load/store for PR5626.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94338 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agofix a potential overflow issue Eli pointed out.
Chris Lattner [Sat, 23 Jan 2010 23:31:46 +0000 (23:31 +0000)]
fix a potential overflow issue Eli pointed out.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94336 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoSpeculatively revert r94322 to see if it fixes darwin selfhost buildbot.
Nick Lewycky [Sat, 23 Jan 2010 20:32:12 +0000 (20:32 +0000)]
Speculatively revert r94322 to see if it fixes darwin selfhost buildbot.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94331 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agothird bug from PR6119: the xor dupe extension allows
Chris Lattner [Sat, 23 Jan 2010 19:21:31 +0000 (19:21 +0000)]
third bug from PR6119: the xor dupe extension allows
for arbitrary terminators in predecessors, don't assume
it is a conditional or uncond branch.  The testcase shows
an example where they can happen with switches.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94323 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoTeach DAE that even though it can't modify the function signature of an
Nick Lewycky [Sat, 23 Jan 2010 19:19:34 +0000 (19:19 +0000)]
Teach DAE that even though it can't modify the function signature of an
externally visible function, it can still find all callers of it and replace
the parameters to a dead argument with undef.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94322 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoadd an early out to ProcessBranchOnXOR to speed it up,
Chris Lattner [Sat, 23 Jan 2010 19:16:25 +0000 (19:16 +0000)]
add an early out to ProcessBranchOnXOR to speed it up,
handle the case when we can infer an input to the xor
from all inputs that agree, instead of going into an
infinite loop.  Another part of PR6199

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94321 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agofix a crash in jump threading, PR6119
Chris Lattner [Sat, 23 Jan 2010 18:56:07 +0000 (18:56 +0000)]
fix a crash in jump threading, PR6119

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94319 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoimplement a simple instcombine xform that has been in the
Chris Lattner [Sat, 23 Jan 2010 18:49:30 +0000 (18:49 +0000)]
implement a simple instcombine xform that has been in the
readme forever.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94318 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoadd a note
Chris Lattner [Sat, 23 Jan 2010 18:42:37 +0000 (18:42 +0000)]
add a note

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94317 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoadd some notes, making posix-memalign be nocapture would be an easy improvement.
Chris Lattner [Sat, 23 Jan 2010 17:59:23 +0000 (17:59 +0000)]
add some notes, making posix-memalign be nocapture would be an easy improvement.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94312 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRemove the '-disable-scheduling' flag and replace it with the 'source' option of
Bill Wendling [Sat, 23 Jan 2010 10:26:57 +0000 (10:26 +0000)]
Remove the '-disable-scheduling' flag and replace it with the 'source' option of
the '-pre-RA-sched' flag. It actually makes more sense to do it this way. Also,
keep track of the SDNode ordering by default. Eventually, we would like to make
this ordering a way to break a "tie" in the scheduler. However, doing that now
breaks the "CodeGen/X86/abi-isel.ll" test for 32-bit Linux.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94308 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRespect operator precedence (and silence a gcc 4.3 warning).
Benjamin Kramer [Sat, 23 Jan 2010 09:54:23 +0000 (09:54 +0000)]
Respect operator precedence (and silence a gcc 4.3 warning).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94304 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agomcize lcomm, simplify .comm, extend both to support 64-bit sizes.
Chris Lattner [Sat, 23 Jan 2010 07:47:02 +0000 (07:47 +0000)]
mcize lcomm, simplify .comm, extend both to support 64-bit sizes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94299 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoresolve a fixme: the "nonexecutable stack directive" is actually
Chris Lattner [Sat, 23 Jan 2010 07:21:06 +0000 (07:21 +0000)]
resolve a fixme: the "nonexecutable stack directive" is actually
a .section.  Switch to it with SwitchSection.

However, I think that this directive should be safe on any ELF target.
If so, we should hoist it up out of the X86 and SystemZ targets.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94298 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoremove a dead call.
Chris Lattner [Sat, 23 Jan 2010 07:17:54 +0000 (07:17 +0000)]
remove a dead call.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94297 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agouse helpers.
Chris Lattner [Sat, 23 Jan 2010 07:00:21 +0000 (07:00 +0000)]
use helpers.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94296 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agomcize visibility directives.
Chris Lattner [Sat, 23 Jan 2010 06:53:23 +0000 (06:53 +0000)]
mcize visibility directives.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94295 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agomove the various directive enums out of the MCStreamer class
Chris Lattner [Sat, 23 Jan 2010 06:39:22 +0000 (06:39 +0000)]
move the various directive enums out of the MCStreamer class
into a new MCDirectives.h file.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94294 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoChange constantexpr global variable initializers to convert the constants
Chris Lattner [Sat, 23 Jan 2010 06:17:14 +0000 (06:17 +0000)]
Change constantexpr global variable initializers to convert the constants
to MCExpr then emit them through MCStreamer with EmitValue.  I think all
global variable initializers are now going through mcstreamer.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94293 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoDon't lower splat vector load to relative to the esp if the
Eric Christopher [Sat, 23 Jan 2010 06:02:43 +0000 (06:02 +0000)]
Don't lower splat vector load to relative to the esp if the
stack may be misaligned.

Update test accordingly.

Patch by Evan Cheng!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94291 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agomcstreamerize .no_dead_strip and .reference for static ctors/dtors.
Chris Lattner [Sat, 23 Jan 2010 05:51:36 +0000 (05:51 +0000)]
mcstreamerize .no_dead_strip and .reference for static ctors/dtors.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94290 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agostop testing for invalid output.
Chris Lattner [Sat, 23 Jan 2010 05:45:28 +0000 (05:45 +0000)]
stop testing for invalid output.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94288 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoReapply 94059 while fixing the calling convention setup
Eric Christopher [Sat, 23 Jan 2010 05:29:06 +0000 (05:29 +0000)]
Reapply 94059 while fixing the calling convention setup
for strcpy.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94287 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoremove unneeded directive set.
Chris Lattner [Sat, 23 Jan 2010 05:28:25 +0000 (05:28 +0000)]
remove unneeded directive set.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94286 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agouse some helpers instead of duplicating logic.
Chris Lattner [Sat, 23 Jan 2010 05:26:25 +0000 (05:26 +0000)]
use some helpers instead of duplicating logic.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94285 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agomcize jump table and constant pool entry labels, .local on elf,
Chris Lattner [Sat, 23 Jan 2010 05:19:23 +0000 (05:19 +0000)]
mcize jump table and constant pool entry labels, .local on elf,
and some .weak directives.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94284 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoemit .ascii and .asciz through MCStreamer.
Chris Lattner [Sat, 23 Jan 2010 04:54:10 +0000 (04:54 +0000)]
emit .ascii and .asciz through MCStreamer.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94282 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agosimplify code a bit.
Chris Lattner [Sat, 23 Jan 2010 04:42:42 +0000 (04:42 +0000)]
simplify code a bit.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94281 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoInstCombine should not fold sext/zext of a vector and a bitcast to a scalar to a...
Mon P Wang [Sat, 23 Jan 2010 04:35:57 +0000 (04:35 +0000)]
InstCombine should not fold sext/zext of a vector and a bitcast to a scalar to a sext/zext

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94280 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoUpdate CMake build.
Ted Kremenek [Sat, 23 Jan 2010 04:01:37 +0000 (04:01 +0000)]
Update CMake build.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94278 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoremove one form of EmitString, just use EmitBytes instead. We must
Chris Lattner [Sat, 23 Jan 2010 03:11:46 +0000 (03:11 +0000)]
remove one form of EmitString, just use EmitBytes instead.  We must
be careful to add a \0 at the end though, because EmitString didn't
do this.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94277 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoremove this test.
Chris Lattner [Sat, 23 Jan 2010 03:11:10 +0000 (03:11 +0000)]
remove this test.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94276 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdded the skeleton for the implementation of the X86
Sean Callanan [Sat, 23 Jan 2010 02:43:15 +0000 (02:43 +0000)]
Added the skeleton for the implementation of the X86
target-specific AsmLexer, and added the appropriate
registration calls.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94275 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix test.
Evan Cheng [Sat, 23 Jan 2010 01:21:27 +0000 (01:21 +0000)]
Fix test.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94272 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFix tests.
Evan Cheng [Sat, 23 Jan 2010 01:19:28 +0000 (01:19 +0000)]
Fix tests.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94271 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoModified the register matcher function in AsmMatcher to
Sean Callanan [Sat, 23 Jan 2010 00:40:33 +0000 (00:40 +0000)]
Modified the register matcher function in AsmMatcher to
be static.  Also made it possible for clients to get it
and no other functions from ...GenAsmMatcher.inc by
defining REGISTERS_ONLY before including GenAsmMatcher.inc.
This sets the stage for target-specific lexers that can
identify registers and return AsmToken::Register as
appropriate.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94266 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAvoid using "Type" as the variable name.
Devang Patel [Sat, 23 Jan 2010 00:26:28 +0000 (00:26 +0000)]
Avoid using "Type" as the variable name.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94262 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAsmMatcher: Add a comment.
Daniel Dunbar [Sat, 23 Jan 2010 00:26:16 +0000 (00:26 +0000)]
AsmMatcher: Add a comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94261 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoIn mem2reg, for all alloca/stores that get promoted where the alloca has an associate...
Victor Hernandez [Sat, 23 Jan 2010 00:17:34 +0000 (00:17 +0000)]
In mem2reg, for all alloca/stores that get promoted where the alloca has an associated llvm.dbg.declare instrinsic, insert an llvm.dbg.var intrinsic before each store

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94260 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoteach MCAsmStreamer::EmitBytes to use .ascii and .asciz
Chris Lattner [Sat, 23 Jan 2010 00:15:00 +0000 (00:15 +0000)]
teach MCAsmStreamer::EmitBytes to use .ascii and .asciz

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94259 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMake sure ValueFn starts off empty
Victor Hernandez [Sat, 23 Jan 2010 00:03:28 +0000 (00:03 +0000)]
Make sure ValueFn starts off empty

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94256 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoEnable pre-regalloc scheduling load clustering by default.
Evan Cheng [Fri, 22 Jan 2010 23:49:45 +0000 (23:49 +0000)]
Enable pre-regalloc scheduling load clustering by default.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94255 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoBe more conservative with clustering f32 / f64 loads.
Evan Cheng [Fri, 22 Jan 2010 23:49:11 +0000 (23:49 +0000)]
Be more conservative with clustering f32 / f64 loads.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94254 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agomove "EOL" from asmprinter to dwarfprinter. It should eventually
Chris Lattner [Fri, 22 Jan 2010 23:47:11 +0000 (23:47 +0000)]
move "EOL" from asmprinter to dwarfprinter.  It should eventually
be completely eliminated, but today is not that day.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94253 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoremove uses of EOL.
Chris Lattner [Fri, 22 Jan 2010 23:43:14 +0000 (23:43 +0000)]
remove uses of EOL.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94252 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoadd a new EmitCFAByte method and use it.
Chris Lattner [Fri, 22 Jan 2010 23:40:08 +0000 (23:40 +0000)]
add a new EmitCFAByte method and use it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94251 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agomove uleb printing from asmprinter to dwarfprinter, mcize,
Chris Lattner [Fri, 22 Jan 2010 23:18:42 +0000 (23:18 +0000)]
move uleb printing from asmprinter to dwarfprinter, mcize,
cleanup and eliminate a bunch more uses of "EOL".

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94250 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMake OProfile support compile again after r93630 removed
Jeffrey Yasskin [Fri, 22 Jan 2010 23:04:39 +0000 (23:04 +0000)]
Make OProfile support compile again after r93630 removed
DebugLocTuple.  Also use an AssertingVH to ensure that MDNodes aren't
destroyed while the FilenameCache is using them.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94245 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agomove sleb printing out of asmprinter into dwarf printer, make clients
Chris Lattner [Fri, 22 Jan 2010 22:56:55 +0000 (22:56 +0000)]
move sleb printing out of asmprinter into dwarf printer, make clients
handle the comment better, MCize the non-.sleb case.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94244 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoRemove MetadataBase class because it is not adding significant value.
Devang Patel [Fri, 22 Jan 2010 22:52:10 +0000 (22:52 +0000)]
Remove MetadataBase class because it is not adding significant value.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94243 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAdded a Register token to AsmToken and the appropriate
Sean Callanan [Fri, 22 Jan 2010 22:42:22 +0000 (22:42 +0000)]
Added a Register token to AsmToken and the appropriate
accessor method for its value.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94241 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoIgnore DEBUG_VALUE when building live intervals;
Dale Johannesen [Fri, 22 Jan 2010 22:38:21 +0000 (22:38 +0000)]
Ignore DEBUG_VALUE when building live intervals;
this makes the code work transparently the same
whether they're there or not.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94240 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoadd a new DwarfPrinter::EmitEncodingByte method which handles
Chris Lattner [Fri, 22 Jan 2010 22:38:16 +0000 (22:38 +0000)]
add a new DwarfPrinter::EmitEncodingByte method which handles
pretty printing encoding comments and eliminates redundancy on
the client side.  We now get pretty dwarf like this again:

        .byte   255                                         ## @LPStart Encoding = omit
        .byte   0                                           ## @TType Encoding = absptr
        .byte   0x28                                        ## @TType base offset
        .byte   3                                           ## Call site Encoding = udata4
        .byte   0x1a                                        ## Call site table size
...

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94239 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFilled out the skeleton of the TargetAsmLexer to behave
Sean Callanan [Fri, 22 Jan 2010 22:35:01 +0000 (22:35 +0000)]
Filled out the skeleton of the TargetAsmLexer to behave
exactly like an MCAsmLexer.  (The difference is that the
TargetAsmLexer knows how to handle target-specific stuff
like registers, whereas the MCAsmLexer is fully generic.)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94237 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agorename the dwarf class to DwarfPrinter. This matches the filename
Chris Lattner [Fri, 22 Jan 2010 22:23:57 +0000 (22:23 +0000)]
rename the dwarf class to DwarfPrinter.  This matches the filename
and much more accurately describes what it is all about.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94233 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agofix indentation
Chris Lattner [Fri, 22 Jan 2010 22:19:51 +0000 (22:19 +0000)]
fix indentation

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94232 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoinline away the trivial AsmPrinter::EOL() method.
Chris Lattner [Fri, 22 Jan 2010 22:09:00 +0000 (22:09 +0000)]
inline away the trivial AsmPrinter::EOL() method.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94230 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoinline AsmPrinter::PrintHex into its two trivial callers.
Chris Lattner [Fri, 22 Jan 2010 21:57:56 +0000 (21:57 +0000)]
inline AsmPrinter::PrintHex into its two trivial callers.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94228 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agochange this to be a static function instead of a method on asmprinter.
Chris Lattner [Fri, 22 Jan 2010 21:50:41 +0000 (21:50 +0000)]
change this to be a static function instead of a method on asmprinter.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94227 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agomake the loop comment printer print out a much better structured
Chris Lattner [Fri, 22 Jan 2010 21:43:28 +0000 (21:43 +0000)]
make the loop comment printer print out a much better structured
output.  An example:

        .align  4, 0x90
LBB1_5:                                                     ## %while.cond3
                                                            ##   Parent Loop BB1_1 Depth=1
                                                            ## =>  This Loop Header: Depth=2
                                                            ##       Child Loop BB1_8 Depth 3
                                                            ##       Child Loop BB1_6 Depth 3

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94225 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoChanges to fix buffering that I forgot to commit with previous patch.
Chris Lattner [Fri, 22 Jan 2010 21:16:10 +0000 (21:16 +0000)]
Changes to fix buffering that I forgot to commit with previous patch.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94222 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoFor blocks that are not loop headers, just print their loop depth and header BB.
Chris Lattner [Fri, 22 Jan 2010 21:11:06 +0000 (21:11 +0000)]
For blocks that are not loop headers, just print their loop depth and header BB.
For loop headers, print Inner loop along with the other stuff so it doesn't take
an extra line.  We now get stuff like this:

LBB1_4:                                                     ## %land.end
                                                            ##   in Loop: Header=BB1_1 Depth=1
        notb    %al
        testb   $1, %al
        jne     LBB1_8

and:

LBB1_6:                                                     ## %while.cond7
                                                            ## Inner Loop Header: Depth=3
                                                            ##     Inside Loop BB1_5 Depth 2
                                                            ##   Inside Loop BB1_1 Depth 1

which still isn't great for loop headers, but is much less verbose.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94221 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoreenable the label loop comments and switch them to use the formatted
Chris Lattner [Fri, 22 Jan 2010 21:00:45 +0000 (21:00 +0000)]
reenable the label loop comments and switch them to use the formatted
comment emission stuff.  I'm going to rewrite this though because the
current output doesn't make sense.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94215 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoMark EH_RETURN64 as CodeGenOnly.
Daniel Dunbar [Fri, 22 Jan 2010 20:16:37 +0000 (20:16 +0000)]
Mark EH_RETURN64 as CodeGenOnly.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94205 91177308-0d34-0410-b5e6-96231b3b80d8

14 years agoAnother strncmp -> StringRef.startswith simplification.
Benjamin Kramer [Fri, 22 Jan 2010 20:00:21 +0000 (20:00 +0000)]
Another strncmp -> StringRef.startswith simplification.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94203 91177308-0d34-0410-b5e6-96231b3b80d8