oota-llvm.git
15 years agoWe need to sext global addresses in kernel code model, not zext
Anton Korobeynikov [Thu, 6 Aug 2009 11:23:24 +0000 (11:23 +0000)]
We need to sext global addresses in kernel code model, not zext

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

15 years agoFix a bug in x86's PreprocessForRMW logic that was exposed
Dan Gohman [Thu, 6 Aug 2009 09:22:57 +0000 (09:22 +0000)]
Fix a bug in x86's PreprocessForRMW logic that was exposed
by aggressive chain operand optimization. UpdateNodeOperands
does not modify the node in place if it would result in
a node identical to an existing node.

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

15 years agoFix a few places in DAGCombiner that were creating all-ones-bits
Dan Gohman [Thu, 6 Aug 2009 09:18:59 +0000 (09:18 +0000)]
Fix a few places in DAGCombiner that were creating all-ones-bits
and high-bits values in ways that weren't correct for integer
types wider than 64 bits. This fixes a miscompile in
PPMacroExpansion.cpp in clang on x86-64.

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

15 years agoMissed part of recent kernel codemodel tweaks
Anton Korobeynikov [Thu, 6 Aug 2009 09:11:19 +0000 (09:11 +0000)]
Missed part of recent kernel codemodel tweaks

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

15 years agoadd a testcase for my llvm-gcc hack.
Chris Lattner [Thu, 6 Aug 2009 06:18:52 +0000 (06:18 +0000)]
add a testcase for my llvm-gcc hack.

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

15 years agoDon't search the entire type table just to delete a type by name.
Daniel Dunbar [Thu, 6 Aug 2009 06:04:35 +0000 (06:04 +0000)]
Don't search the entire type table just to delete a type by name.
 - This also fixes the ENABLE_EXPENSIVE_CHECKS failure on vmcore.ml.

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

15 years agollvm-ld has a new option called -b to specify the name of bitcode output file, use...
Sanjiv Gupta [Thu, 6 Aug 2009 04:09:26 +0000 (04:09 +0000)]
llvm-ld has a new option called -b to specify the name of bitcode output file, use that.

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

15 years agothis passes.
Chris Lattner [Thu, 6 Aug 2009 03:55:49 +0000 (03:55 +0000)]
this passes.

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

15 years agoSimplify the ZIV tester to the max.
Andreas Bolka [Thu, 6 Aug 2009 03:10:33 +0000 (03:10 +0000)]
Simplify the ZIV tester to the max.

As suggested by Nick Lewycky.

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

15 years agoXFAIL it while it is being worked on.
Sanjiv Gupta [Thu, 6 Aug 2009 02:19:20 +0000 (02:19 +0000)]
XFAIL it while it is being worked on.

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

15 years agoAdd tests for new NEON vld instructions.
Bob Wilson [Thu, 6 Aug 2009 00:38:31 +0000 (00:38 +0000)]
Add tests for new NEON vld instructions.

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

15 years agoNeon does not actually have VLD{234}.64 instructions.
Bob Wilson [Thu, 6 Aug 2009 00:24:27 +0000 (00:24 +0000)]
Neon does not actually have VLD{234}.64 instructions.
These operations will have to be synthesized from other instructions.

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

15 years agoConvert more Neon tests to FileCheck.
Bob Wilson [Wed, 5 Aug 2009 23:51:20 +0000 (23:51 +0000)]
Convert more Neon tests to FileCheck.

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

15 years agoUpdate unit test.
Owen Anderson [Wed, 5 Aug 2009 23:28:57 +0000 (23:28 +0000)]
Update unit test.

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

15 years agoPrivatize the StructType table, which unfortunately involves routing contexts through...
Owen Anderson [Wed, 5 Aug 2009 23:16:16 +0000 (23:16 +0000)]
Privatize the StructType table, which unfortunately involves routing contexts through a number of APIs.

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

15 years agoAdd a new pre-allocation pass to assign adjacent registers for Neon instructions
Bob Wilson [Wed, 5 Aug 2009 23:12:45 +0000 (23:12 +0000)]
Add a new pre-allocation pass to assign adjacent registers for Neon instructions
that have that constraint.  This is currently just assigning a fixed set of
registers, and it only handles VLDn for n=2,3,4 with DPR registers.
I'm going to expand it to handle more operations next; we can make it smarter
once everything is working correctly.

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

15 years agoBetter handle kernel code model. Also, generalize the things and fix one
Anton Korobeynikov [Wed, 5 Aug 2009 23:01:26 +0000 (23:01 +0000)]
Better handle kernel code model. Also, generalize the things and fix one
subtle bug with small code model.

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

15 years agoAdjust test for llvm-gcc checkin 78249.
Dale Johannesen [Wed, 5 Aug 2009 22:18:47 +0000 (22:18 +0000)]
Adjust test for llvm-gcc checkin 78249.

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

15 years agoUse GR32 for copies between GR32_NOSP and GR32_NOREX, as neither
Dan Gohman [Wed, 5 Aug 2009 22:18:26 +0000 (22:18 +0000)]
Use GR32 for copies between GR32_NOSP and GR32_NOREX, as neither
is a subset of the other, but both are subsets of GR32.

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

15 years agoMake block and function count available via ProfileInfo.
Daniel Dunbar [Wed, 5 Aug 2009 21:51:16 +0000 (21:51 +0000)]
Make block and function count available via ProfileInfo.
 - Part of optimal static profiling patch sequence by Andreas Neustifter.

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

15 years agoSuppress compiler warning.
Daniel Dunbar [Wed, 5 Aug 2009 21:42:40 +0000 (21:42 +0000)]
Suppress compiler warning.

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

15 years agoUse (void *)(intptr_t) to cast function addresses to void*
Dan Gohman [Wed, 5 Aug 2009 21:03:39 +0000 (21:03 +0000)]
Use (void *)(intptr_t) to cast function addresses to void*
for use with sys::Path::GetMainExecutable, to avoid warnings
with -pedantic.

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

15 years agoWhen using NEON for single-precision FP, the NEON result must be placed in D0-D15...
David Goodwin [Wed, 5 Aug 2009 21:02:22 +0000 (21:02 +0000)]
When using NEON for single-precision FP, the NEON result must be placed in D0-D15 as these are the only D registers with S subregs. Introduce a new regclass to represent D0-D15 and use it in the NEON single-precision FP patterns.

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

15 years agoFix some column padding bugs, reorganize things as suggested by Chris
David Greene [Wed, 5 Aug 2009 21:00:52 +0000 (21:00 +0000)]
Fix some column padding bugs, reorganize things as suggested by Chris
and eliminate complexity.  Yay!

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

15 years agoremove the 'DataSectionStartSuffix' and 'TextSectionStartSuffix' knobs.
Chris Lattner [Wed, 5 Aug 2009 20:49:52 +0000 (20:49 +0000)]
remove the 'DataSectionStartSuffix' and 'TextSectionStartSuffix' knobs.

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

15 years agoAdd an svn:ignore property.
Dan Gohman [Wed, 5 Aug 2009 20:24:09 +0000 (20:24 +0000)]
Add an svn:ignore property.

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

15 years agoFix FindExecutable to use sys::Path::GetMainExecutable instead of
Dan Gohman [Wed, 5 Aug 2009 20:21:17 +0000 (20:21 +0000)]
Fix FindExecutable to use sys::Path::GetMainExecutable instead of
just argv[0]. And remove the code for searching the current
working directory and for searching PATH; the point of FindExecutable
is not to find whatever version of the executable can be found by
searching around, but to find an executable that accompanies the
current executable.

Update the tools to use sys::Program::FindProgramByName when they
want PATH searching.

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

15 years agoMinor code simplification.
Dan Gohman [Wed, 5 Aug 2009 20:16:55 +0000 (20:16 +0000)]
Minor code simplification.

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

15 years agoRemove redundand checks: the only way to have, e.g. f32 RegVT is exactly
Anton Korobeynikov [Wed, 5 Aug 2009 20:15:19 +0000 (20:15 +0000)]
Remove redundand checks: the only way to have, e.g. f32 RegVT is exactly
hardfloat case.

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

15 years agohasSuperClass tests for a strict superset relation, rather than
Dan Gohman [Wed, 5 Aug 2009 20:13:45 +0000 (20:13 +0000)]
hasSuperClass tests for a strict superset relation, rather than
a superset relation. This code wants to test the regular superset
relation.

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

15 years agoUnbreak the stuff, this is ugly, but we cannot do better for now with 'plain' C calli...
Anton Korobeynikov [Wed, 5 Aug 2009 19:40:16 +0000 (19:40 +0000)]
Unbreak the stuff, this is ugly, but we cannot do better for now with 'plain' C calling conv.

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

15 years agoTest for llvm-gcc checkin 78223.
Dale Johannesen [Wed, 5 Aug 2009 19:10:41 +0000 (19:10 +0000)]
Test for llvm-gcc checkin 78223.

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

15 years agoMissed pieces for ARM HardFP ABI.
Anton Korobeynikov [Wed, 5 Aug 2009 19:04:42 +0000 (19:04 +0000)]
Missed pieces for ARM HardFP ABI.
Patch by Sandeep Patel!

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

15 years agoPrivatize the FunctionType table.
Owen Anderson [Wed, 5 Aug 2009 18:13:27 +0000 (18:13 +0000)]
Privatize the FunctionType table.

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

15 years agoUse elf Object File directly
Andrew Lenharth [Wed, 5 Aug 2009 18:13:04 +0000 (18:13 +0000)]
Use elf Object File directly

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

15 years agoRemove some dead code.
Daniel Dunbar [Wed, 5 Aug 2009 18:12:37 +0000 (18:12 +0000)]
Remove some dead code.

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

15 years agoEnable the new no-SP register classes by default. This is to address
Dan Gohman [Wed, 5 Aug 2009 17:40:24 +0000 (17:40 +0000)]
Enable the new no-SP register classes by default. This is to address
PR4572. A few tests have some minor code regressions due to different
coalescing.

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

15 years agoRemove a redundant declaration.
Bob Wilson [Wed, 5 Aug 2009 17:39:44 +0000 (17:39 +0000)]
Remove a redundant declaration.

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

15 years agoUpdate a comment to reflect the current code.
Dan Gohman [Wed, 5 Aug 2009 17:32:39 +0000 (17:32 +0000)]
Update a comment to reflect the current code.

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

15 years agoAdd testcases for reg-mem arithemtics added recently
Anton Korobeynikov [Wed, 5 Aug 2009 17:04:32 +0000 (17:04 +0000)]
Add testcases for reg-mem arithemtics added recently

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

15 years agoConvert bswap test to filecheck, add more test entries & convert stuff to filecheck
Anton Korobeynikov [Wed, 5 Aug 2009 16:50:53 +0000 (16:50 +0000)]
Convert bswap test to filecheck, add more test entries & convert stuff to filecheck

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

15 years agoFix a bug in the PIC16 backend.
Dan Gohman [Wed, 5 Aug 2009 16:46:43 +0000 (16:46 +0000)]
Fix a bug in the PIC16 backend.

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

15 years agoDisable NEON single-precision FP support for Cortex-A8, for now...
David Goodwin [Wed, 5 Aug 2009 16:40:57 +0000 (16:40 +0000)]
Disable NEON single-precision FP support for Cortex-A8, for now...

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

15 years agoAdd an explicit keyword.
Dan Gohman [Wed, 5 Aug 2009 16:40:32 +0000 (16:40 +0000)]
Add an explicit keyword.

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

15 years agoRemove dead code. MDNode and MDString are not Constant anymore.
Devang Patel [Wed, 5 Aug 2009 16:40:02 +0000 (16:40 +0000)]
Remove dead code.  MDNode and MDString are not Constant anymore.

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

15 years agoDelete an obsolete sentance from a comment.
Dan Gohman [Wed, 5 Aug 2009 16:39:42 +0000 (16:39 +0000)]
Delete an obsolete sentance from a comment.

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

15 years agoAdd new function attribute keywords to the vim syntax.
Dan Gohman [Wed, 5 Aug 2009 16:38:48 +0000 (16:38 +0000)]
Add new function attribute keywords to the vim syntax.

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

15 years agoChange these tests to use function attributes rather than special llc
Dan Gohman [Wed, 5 Aug 2009 16:37:27 +0000 (16:37 +0000)]
Change these tests to use function attributes rather than special llc
command-line options.

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

15 years agoAdd memory versions of some instructions.
Anton Korobeynikov [Wed, 5 Aug 2009 16:16:11 +0000 (16:16 +0000)]
Add memory versions of some instructions.
Patch by Neale Ferguson!

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

15 years agoRename a variable to make MSVC happy.
Benjamin Kramer [Wed, 5 Aug 2009 16:08:58 +0000 (16:08 +0000)]
Rename a variable to make MSVC happy.

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

15 years agochecking in broken testcases is not such a good idea.
Chris Lattner [Wed, 5 Aug 2009 16:04:18 +0000 (16:04 +0000)]
checking in broken testcases is not such a good idea.

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

15 years agoBy default, for cortex-a8 use NEON for single-precision FP.
David Goodwin [Wed, 5 Aug 2009 16:01:19 +0000 (16:01 +0000)]
By default, for cortex-a8 use NEON for single-precision FP.

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

15 years agoRemove unnecessary ProfileInfoLoader methods.
Daniel Dunbar [Wed, 5 Aug 2009 15:55:56 +0000 (15:55 +0000)]
Remove unnecessary ProfileInfoLoader methods.
 - Part of optimal static profiling patch sequence by Andreas Neustifter.

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

15 years agoQuite a few tests crashed in llc after 78142. This is just one of them. I hope to...
Sanjiv Gupta [Wed, 5 Aug 2009 15:52:14 +0000 (15:52 +0000)]
Quite a few tests crashed in llc after 78142. This is just one of them. I hope to add a few more.

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

15 years agoAdd StringRef::endswith
Daniel Dunbar [Wed, 5 Aug 2009 15:48:26 +0000 (15:48 +0000)]
Add StringRef::endswith

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

15 years agoDocumentation: fix HTML validation errors.
Benjamin Kramer [Wed, 5 Aug 2009 15:42:44 +0000 (15:42 +0000)]
Documentation: fix HTML validation errors.

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

15 years agoonly point to dest labels if the graph has them
Andrew Lenharth [Wed, 5 Aug 2009 15:04:22 +0000 (15:04 +0000)]
only point to dest labels if the graph has them

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

15 years agoSpecial constants as destinations does not work as expected - drop the patterns.
Anton Korobeynikov [Wed, 5 Aug 2009 14:42:00 +0000 (14:42 +0000)]
Special constants as destinations does not work as expected - drop the patterns.

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

15 years agoAlpha: Get section directives right
Andrew Lenharth [Wed, 5 Aug 2009 13:59:57 +0000 (13:59 +0000)]
Alpha: Get section directives right

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

15 years agoRemove unused forward decls.
Benjamin Kramer [Wed, 5 Aug 2009 11:33:27 +0000 (11:33 +0000)]
Remove unused forward decls.

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

15 years agoAdd executable suffix for the tool. This is needed e.g. for 'make install' on mingw32.
Anton Korobeynikov [Wed, 5 Aug 2009 09:37:43 +0000 (09:37 +0000)]
Add executable suffix for the tool. This is needed e.g. for 'make install' on mingw32.

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

15 years agoPass user only if it's non-empty. Patch by Sandeep.
Anton Korobeynikov [Wed, 5 Aug 2009 09:32:53 +0000 (09:32 +0000)]
Pass user only if it's non-empty. Patch by Sandeep.

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

15 years agoAdd save-temps option to bugpoint to keep temporary stuff.
Anton Korobeynikov [Wed, 5 Aug 2009 09:32:10 +0000 (09:32 +0000)]
Add save-temps option to bugpoint to keep temporary stuff.
Patch by Sandeep Patel

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

15 years agoCleanup in dbg_stoppoint handling in CBE. Patch by Sandeep Patel.
Anton Korobeynikov [Wed, 5 Aug 2009 09:31:40 +0000 (09:31 +0000)]
Cleanup in dbg_stoppoint handling in CBE. Patch by Sandeep Patel.

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

15 years agoMinor arm CBE fixes. Patch by Sandeep.
Anton Korobeynikov [Wed, 5 Aug 2009 09:31:07 +0000 (09:31 +0000)]
Minor arm CBE fixes. Patch by Sandeep.

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

15 years agoEmit module-level inline asm for CBE.
Anton Korobeynikov [Wed, 5 Aug 2009 09:29:56 +0000 (09:29 +0000)]
Emit module-level inline asm for CBE.
Patch by Sandeep Patel

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

15 years agoDisable stack coloring with register for now. It's not able to set kill markers.
Evan Cheng [Wed, 5 Aug 2009 07:26:17 +0000 (07:26 +0000)]
Disable stack coloring with register for now. It's not able to set kill markers.

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

15 years agoAnother nasty coalescer bug (is there another kind):
Evan Cheng [Wed, 5 Aug 2009 07:05:41 +0000 (07:05 +0000)]
Another nasty coalescer bug (is there another kind):

After coalescing reg1027's def and kill are both at the same point:
 %reg1027,0.000000e+00 = [56,814:0)  0@70-(814)

bb5:
60   %reg1027<def> = t2MOVr %reg1027, 14, %reg0, %reg0
68   %reg1027<def> = t2LDRi12 %reg1027<kill>, 8, 14, %reg0
76   t2CMPzri %reg1038<kill,undef>, 0, 14, %reg0, %CPSR<imp-def>
84   %reg1027<def> = t2MOVr %reg1027, 14, %reg0, %reg0
96   t2Bcc mbb<bb5,0x2030910>, 1, %CPSR<kill>

Do not remove the kill marker on t2LDRi12.

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

15 years agoRemove accidental commited comment
Bruno Cardoso Lopes [Wed, 5 Aug 2009 07:00:43 +0000 (07:00 +0000)]
Remove accidental commited comment

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

15 years ago- Remove custom handling of jumptables by the elf writter (this was
Bruno Cardoso Lopes [Wed, 5 Aug 2009 06:57:03 +0000 (06:57 +0000)]
- Remove custom handling of jumptables by the elf writter (this was
a dirty hack and isn't need anymore since the last x86 code emitter patch)
- Add a target-dependent modifier to addend calculation
- Use R_X86_64_32S relocation for X86::reloc_absolute_word_sext
- Use getELFSectionFlags whenever possible
- fix getTextSection to use TLOF and emit the right text section
- Handle global emission for static ctors, dtors and Type::PointerTyID
- Some minor fixes

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

15 years ago80 col violations.
Evan Cheng [Wed, 5 Aug 2009 06:41:25 +0000 (06:41 +0000)]
80 col violations.

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

15 years agocommon globals may also not be marked constant.
Chris Lattner [Wed, 5 Aug 2009 05:41:44 +0000 (05:41 +0000)]
common globals may also not be marked constant.

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

15 years agoRevert changes accidentally committed along with r78163.
Dan Gohman [Wed, 5 Aug 2009 05:38:13 +0000 (05:38 +0000)]
Revert changes accidentally committed along with r78163.

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

15 years agoTeach X86FastISel how to handle CCValAssign::BCvt, which is used for
Dan Gohman [Wed, 5 Aug 2009 05:33:42 +0000 (05:33 +0000)]
Teach X86FastISel how to handle CCValAssign::BCvt, which is used for
MMX arguments. This fixes PR4684.

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

15 years agoClarify common linkage and the requirements on it. Enforce
Chris Lattner [Wed, 5 Aug 2009 05:21:07 +0000 (05:21 +0000)]
Clarify common linkage and the requirements on it.  Enforce
them in the verifier.

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

15 years agoZIV tester for LDA.
Andreas Bolka [Wed, 5 Aug 2009 04:26:05 +0000 (04:26 +0000)]
ZIV tester for LDA.

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

15 years agoexpose SectionKindForGlobal to curious clients, named as
Chris Lattner [Wed, 5 Aug 2009 04:25:40 +0000 (04:25 +0000)]
expose SectionKindForGlobal to curious clients, named as
getKindForGlobal.

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

15 years agoRestrict LDA to GEPs with the same pointer offset.
Andreas Bolka [Wed, 5 Aug 2009 04:13:41 +0000 (04:13 +0000)]
Restrict LDA to GEPs with the same pointer offset.

We can not simply apply ZIV testing to the pointer offsets, as this
would incorrectly return independence for e.g. (GEP x,0,i; GEP x,1,-i).

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

15 years agoadd a temporary hook to allow reuse of the asmprinter from the disassembler.
Chris Lattner [Wed, 5 Aug 2009 04:09:18 +0000 (04:09 +0000)]
add a temporary hook to allow reuse of the asmprinter from the disassembler.

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

15 years agoFix LDA testcases.
Andreas Bolka [Wed, 5 Aug 2009 04:03:29 +0000 (04:03 +0000)]
Fix LDA testcases.

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

15 years agoTurn some insert_subreg, extract_subreg, subreg_to_reg into implicit_defs.
Evan Cheng [Wed, 5 Aug 2009 03:53:14 +0000 (03:53 +0000)]
Turn some insert_subreg, extract_subreg, subreg_to_reg into implicit_defs.

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

15 years agoOops. I didn't mean to commit this piece yet.
Bob Wilson [Wed, 5 Aug 2009 02:47:13 +0000 (02:47 +0000)]
Oops.  I didn't mean to commit this piece yet.

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

15 years agoOne more. Transfer kill of the larger register when lowering an EXTRACT_SUBREG.
Evan Cheng [Wed, 5 Aug 2009 02:25:11 +0000 (02:25 +0000)]
One more. Transfer kill of the larger register when lowering an EXTRACT_SUBREG.

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

15 years agoOne more place where subreg lowering forgot to transfer undefness.
Evan Cheng [Wed, 5 Aug 2009 01:57:22 +0000 (01:57 +0000)]
One more place where subreg lowering forgot to transfer undefness.

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

15 years agoMajor calling convention code refactoring.
Dan Gohman [Wed, 5 Aug 2009 01:29:28 +0000 (01:29 +0000)]
Major calling convention code refactoring.

Instead of awkwardly encoding calling-convention information with ISD::CALL,
ISD::FORMAL_ARGUMENTS, ISD::RET, and ISD::ARG_FLAGS nodes, TargetLowering
provides three virtual functions for targets to override:
LowerFormalArguments, LowerCall, and LowerRet, which replace the custom
lowering done on the special nodes. They provide the same information, but
in a more immediately usable format.

This also reworks much of the target-independent tail call logic. The
decision of whether or not to perform a tail call is now cleanly split
between target-independent portions, and the target dependent portion
in IsEligibleForTailCallOptimization.

This also synchronizes all in-tree targets, to help enable future
refactoring and feature work.

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

15 years agoIf the insert_subreg source is <undef>, insert an implicit_def instead of a copy.
Evan Cheng [Wed, 5 Aug 2009 01:29:24 +0000 (01:29 +0000)]
If the insert_subreg source is <undef>, insert an implicit_def instead of a copy.

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

15 years agoVarious comment fixes.
Dan Gohman [Wed, 5 Aug 2009 01:19:01 +0000 (01:19 +0000)]
Various comment fixes.

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

15 years agoRemove an unnecessary flush in the CppBackend's output.
Dan Gohman [Wed, 5 Aug 2009 01:06:38 +0000 (01:06 +0000)]
Remove an unnecessary flush in the CppBackend's output.

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

15 years agoDon't flush the raw_ostream between each MachineFunction. These flush
Dan Gohman [Wed, 5 Aug 2009 00:49:25 +0000 (00:49 +0000)]
Don't flush the raw_ostream between each MachineFunction. These flush
calls were originally put in place because errs() at one time was
not unbuffered, and these print routines are commonly used with errs()
for debugging. However, errs() is now properly unbuffered, so the
flush calls are no longer needed. This significantly reduces the
number of write(2) calls for regular asm printing when there are many
small functions.

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

15 years agoChange DAG nodes for Neon VLD2/3/4 operations to return multiple results.
Bob Wilson [Wed, 5 Aug 2009 00:49:09 +0000 (00:49 +0000)]
Change DAG nodes for Neon VLD2/3/4 operations to return multiple results.
Get rid of yesterday's code to fix the register usage during isel.
Select the new DAG nodes to machine instructions.  The new pre-alloc pass
to choose adjacent registers for these results is not done, so the
results of this will generally not assemble yet.

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

15 years agocerr isn't buffered so it doesn't need to be flushed.
Dan Gohman [Wed, 5 Aug 2009 00:44:01 +0000 (00:44 +0000)]
cerr isn't buffered so it doesn't need to be flushed.

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

15 years agolli doesn't need <iostream> anymore.
Dan Gohman [Wed, 5 Aug 2009 00:28:59 +0000 (00:28 +0000)]
lli doesn't need <iostream> anymore.

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

15 years agoRemove needless uses of std::flush in the parent process after a
Dan Gohman [Wed, 5 Aug 2009 00:17:00 +0000 (00:17 +0000)]
Remove needless uses of std::flush in the parent process after a
fork call. This eliminates a need for <iostream>. Also remove
needless fsync calls.

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

15 years agoPrivatize the PointerType factory.
Owen Anderson [Wed, 5 Aug 2009 00:15:12 +0000 (00:15 +0000)]
Privatize the PointerType factory.

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

15 years ago1) Proper emit displacements for x86, using absolute relocations where necessary
Bruno Cardoso Lopes [Wed, 5 Aug 2009 00:11:21 +0000 (00:11 +0000)]
1) Proper emit displacements for x86, using absolute relocations where necessary
for ELF to work.
2) RIP addressing: Use SIB bytes for absolute relocations where RegBase=0,
IndexReg=0.
3) The JIT can get the real address of cstpools and jmptables during
code emission, fix that for object code emission

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

15 years agoUse _exit rather than exit in the child process after a failed exec.
Dan Gohman [Wed, 5 Aug 2009 00:09:12 +0000 (00:09 +0000)]
Use _exit rather than exit in the child process after a failed exec.
Add a comment explaining why.

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

15 years agoMake ExecutionEngine::updateGlobalMapping(GV, NULL) properly remove GV's old
Jeffrey Yasskin [Tue, 4 Aug 2009 23:53:16 +0000 (23:53 +0000)]
Make ExecutionEngine::updateGlobalMapping(GV, NULL) properly remove GV's old
address from the reverse mapping, and add a test that this works now.

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

15 years agoFix part 1 of pr4682. PICADD is a 16-bit instruction even in thumb2 mode.
Evan Cheng [Tue, 4 Aug 2009 23:47:55 +0000 (23:47 +0000)]
Fix part 1 of pr4682. PICADD is a 16-bit instruction even in thumb2 mode.

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

15 years agoPrivatize the VectorType uniquing.
Owen Anderson [Tue, 4 Aug 2009 23:47:44 +0000 (23:47 +0000)]
Privatize the VectorType uniquing.

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

15 years agoBegin the process of privatizing the type uniquing tables. No API changes yet, but...
Owen Anderson [Tue, 4 Aug 2009 23:33:01 +0000 (23:33 +0000)]
Begin the process of privatizing the type uniquing tables.  No API changes yet, but there will be in the near future.

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