oota-llvm.git
15 years agofix COFF targets (mingw/cygwin) to provide ehframe and LSDA sections
Chris Lattner [Tue, 18 Aug 2009 16:56:17 +0000 (16:56 +0000)]
fix COFF targets (mingw/cygwin) to provide ehframe and LSDA sections

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

15 years agoforce a triple so this passes on darwin
Chris Lattner [Tue, 18 Aug 2009 16:55:45 +0000 (16:55 +0000)]
force a triple so this passes on darwin

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

15 years agoGeneralize ScalarEvolution to be able to analyze GEPs when
Dan Gohman [Tue, 18 Aug 2009 16:46:41 +0000 (16:46 +0000)]
Generalize ScalarEvolution to be able to analyze GEPs when
TargetData is not present. It still uses TargetData when available.
This generalization also fixed some limitations in the TargetData
case; the attached testcase covers this.

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

15 years agonull streamer needs to maintain the current section as well.
Chris Lattner [Tue, 18 Aug 2009 16:46:29 +0000 (16:46 +0000)]
null streamer needs to maintain the current section as well.

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

15 years agoCMake: LLVM_ENABLE_PIC now defaults to ON, as in `configure'. This is
Oscar Fuentes [Tue, 18 Aug 2009 15:29:35 +0000 (15:29 +0000)]
CMake: LLVM_ENABLE_PIC now defaults to ON, as in `configure'. This is
required on some platforms for building shared libraries that link to
the LLVM libraries.

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

15 years agoMake tail merging handle blocks with repeated predecessors correctly, and
Dan Gohman [Tue, 18 Aug 2009 15:18:18 +0000 (15:18 +0000)]
Make tail merging handle blocks with repeated predecessors correctly, and
remove RemoveDuplicateSuccessor, as it is no longer necessary, and because
it breaks assumptions made in
MachineBasicBlock::isOnlyReachableByFallthrough.

Convert test/CodeGen/X86/omit-label.ll to FileCheck and add a testcase
for PR4732.

test/CodeGen/Thumb2/thumb2-ifcvt2.ll sees a diff with this commit due to
it being bugpoint-reduced to the point where it doesn't matter what the
condition for the branch is.

Add some more interesting code to
test/CodeGen/X86/2009-08-06-branchfolder-crash.ll, which is the testcase
that originally motivated the RemoveDuplicateSuccessor code, to help
verify that the original problem isn't being re-broken.

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

15 years agoFix a bug that caused globalopt to miscompile tramp3d: don't miss
Dan Gohman [Tue, 18 Aug 2009 14:58:19 +0000 (14:58 +0000)]
Fix a bug that caused globalopt to miscompile tramp3d: don't miss
unruly indices for arrays that are members of structs.

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

15 years agoText sections should have 'exec' flag set. This seems to unbreak libstdc++ on linux.
Anton Korobeynikov [Tue, 18 Aug 2009 14:06:12 +0000 (14:06 +0000)]
Text sections should have 'exec' flag set. This seems to unbreak libstdc++ on linux.
Patch by Dmitry Gorbachev!

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

15 years agoFixed spelling of MSP430.
Misha Brukman [Tue, 18 Aug 2009 13:50:28 +0000 (13:50 +0000)]
Fixed spelling of MSP430.

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

15 years agoFix Triple to recognize the 'bfin' arch.
Daniel Dunbar [Tue, 18 Aug 2009 07:06:26 +0000 (07:06 +0000)]
Fix Triple to recognize the 'bfin' arch.

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

15 years agoMake AsmStreamer maintain a notion of the current section, pushing it up from the
Chris Lattner [Tue, 18 Aug 2009 06:15:16 +0000 (06:15 +0000)]
Make AsmStreamer maintain a notion of the current section, pushing it up from the
MCAsmStreamer.  Based on this, eliminate the current section from AsmPrinter.

While I'm at it, clean up the last of the horrible "switch to null section" stuff
and add an assert.  This change is in preparation for completely eliminating
asmprinter::switchtosection.

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

15 years agoadd a horrible hack to the dwarf printer. It looks like mingw is not specifying
Chris Lattner [Tue, 18 Aug 2009 06:13:03 +0000 (06:13 +0000)]
add a horrible hack to the dwarf printer.  It looks like mingw is not specifying
an EHFrame section, so we just emit ehframe data into a random section.

This is clearly bad.

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

15 years agoInclude valgrind in the steps to reproduce if valgrind was used to reproduce
Nick Lewycky [Tue, 18 Aug 2009 06:08:01 +0000 (06:08 +0000)]
Include valgrind in the steps to reproduce if valgrind was used to reproduce
the problem.

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

15 years agoremove some pointless null switchtosections. The IntelAsmPrinter doesn't really...
Chris Lattner [Tue, 18 Aug 2009 06:03:07 +0000 (06:03 +0000)]
remove some pointless null switchtosections.  The IntelAsmPrinter doesn't really work anyway.

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

15 years agoFix revsh pattern.
Evan Cheng [Tue, 18 Aug 2009 05:43:23 +0000 (05:43 +0000)]
Fix revsh pattern.

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

15 years agoadd support for some targetflags on GV operands. This allows us to
Chris Lattner [Tue, 18 Aug 2009 05:33:27 +0000 (05:33 +0000)]
add support for some targetflags on GV operands.  This allows us to
send instructions like:

NEW:  movl "L___stack_chk_guard$non_lazy_ptr" - "L1$pb"(%esi), %eax
OLD:  movl L___stack_chk_guard$non_lazy_ptr-"L1$pb"(%esi), %eax

through the streamer.  Several fixmes.

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

15 years agoRecognize xscale as an ARM arch.
Daniel Dunbar [Tue, 18 Aug 2009 04:51:26 +0000 (04:51 +0000)]
Recognize xscale as an ARM arch.
 - Patch by Yonggang Luo.

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

15 years agoAdd Triple matching for pic16 arch and solaris OS.
Daniel Dunbar [Tue, 18 Aug 2009 04:43:27 +0000 (04:43 +0000)]
Add Triple matching for pic16 arch and solaris OS.
 - Patch by Yonggang Luo.

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

15 years agofix another bozo bug
Chris Lattner [Tue, 18 Aug 2009 04:34:36 +0000 (04:34 +0000)]
fix another bozo bug

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

15 years agofix accidentally inverted conditional and add comment.
Chris Lattner [Tue, 18 Aug 2009 04:33:15 +0000 (04:33 +0000)]
fix accidentally inverted conditional and add comment.

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

15 years agoturn this conditional into something humans might actually
Chris Lattner [Tue, 18 Aug 2009 04:30:35 +0000 (04:30 +0000)]
turn this conditional into something humans might actually
be able to understand ;-)

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

15 years ago"-" should write to stdout, not stderr.
Chris Lattner [Tue, 18 Aug 2009 04:03:24 +0000 (04:03 +0000)]
"-" should write to stdout, not stderr.

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

15 years agoChange bugpoint to use Triple to make runtime decisions.
Daniel Dunbar [Tue, 18 Aug 2009 03:35:57 +0000 (03:35 +0000)]
Change bugpoint to use Triple to make runtime decisions.
 - This is cleaner, and makes bugpoint match the host instead of the build
   architecture.

 - Patch by Sandeep Patel!

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

15 years agoSeparate out Makefile defines so that we can keep the llvm
Eric Christopher [Tue, 18 Aug 2009 03:23:40 +0000 (03:23 +0000)]
Separate out Makefile defines so that we can keep the llvm
defined ones from the user defined ones. Propagate accordingly.

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

15 years agoAdd LLVMInitializeAllTargetInfos for C api, and update
Daniel Dunbar [Tue, 18 Aug 2009 03:03:27 +0000 (03:03 +0000)]
Add LLVMInitializeAllTargetInfos for C api, and update
LLVMInitializeNativeTarget to initialize target info.
 - Patch by Jose Fonseca.

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

15 years agoMake TargetData optional in MemCpyOptimizer.
Dan Gohman [Tue, 18 Aug 2009 01:17:52 +0000 (01:17 +0000)]
Make TargetData optional in MemCpyOptimizer.

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

15 years agoEven more Apple style build horribleness.
Evan Cheng [Tue, 18 Aug 2009 00:56:17 +0000 (00:56 +0000)]
Even more Apple style build horribleness.

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

15 years agoMake TargetData optional in SimplifyLibCalls.
Dan Gohman [Tue, 18 Aug 2009 00:48:13 +0000 (00:48 +0000)]
Make TargetData optional in SimplifyLibCalls.

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

15 years agoRegenerate
Anton Korobeynikov [Tue, 18 Aug 2009 00:40:51 +0000 (00:40 +0000)]
Regenerate

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

15 years agoThe attached patches attempt to fix cross builds. For example, if you
Anton Korobeynikov [Tue, 18 Aug 2009 00:40:33 +0000 (00:40 +0000)]
The attached patches attempt to fix cross builds. For example, if you
try to use i686-darwin to build for arm-eabi, you'll quickly run into
several false assumptions that the target OS must be the same as the
host OS. These patches split $(OS) into $(HOST_OS) and $(TARGET_OS) to
help builds like "make check" and the test-suite able to cross
compile. Along the way a target of *-unknown-eabi is defined as
"Freestanding" so that TARGET_OS checks have something to work with.

Patch by Sandeep Patel!

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

15 years agoLLVM Ada language bindings. Credit to Rod Kay and the AuroraUX team.
Edward O'Callaghan [Tue, 18 Aug 2009 00:24:36 +0000 (00:24 +0000)]
LLVM Ada language bindings. Credit to Rod Kay and the AuroraUX team.

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

15 years agoFix function alignment at -Os on x86 to be 1, not 2. getFunctionAlignment
Dan Gohman [Tue, 18 Aug 2009 00:20:06 +0000 (00:20 +0000)]
Fix function alignment at -Os on x86 to be 1, not 2. getFunctionAlignment
returns a log2 value.

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

15 years agoPowerPC inline asm was emitting two output operands
Dale Johannesen [Tue, 18 Aug 2009 00:18:39 +0000 (00:18 +0000)]
PowerPC inline asm was emitting two output operands
for a single "m" constraint; this is wrong because the
opcode of a load or store would have to change in parallel.
This patch makes it always compute addresses into a register,
which is correct but not as efficient as possible.  7144566.

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

15 years agoAdd prefix only if it is needed.
Devang Patel [Mon, 17 Aug 2009 23:17:17 +0000 (23:17 +0000)]
Add prefix only if it is needed.

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

15 years agocleanups per review. Mostly cosmetic, plus use SmallVector in place of std::vector.
Jim Grosbach [Mon, 17 Aug 2009 21:40:03 +0000 (21:40 +0000)]
cleanups per review. Mostly cosmetic, plus use SmallVector in place of std::vector.

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

15 years ago#include <cstdlib> in the code listing for strtod.
John McCall [Mon, 17 Aug 2009 21:07:37 +0000 (21:07 +0000)]
#include <cstdlib> in the code listing for strtod.

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

15 years agoOops. find all llvm.dbg.global_variables.
Devang Patel [Mon, 17 Aug 2009 20:36:20 +0000 (20:36 +0000)]
Oops. find all llvm.dbg.global_variables.

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

15 years agoRemove a bit more cruft from the sjlj moving to a backend pass.
Jim Grosbach [Mon, 17 Aug 2009 20:25:04 +0000 (20:25 +0000)]
Remove a bit more cruft from the sjlj moving to a backend pass.

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

15 years agoUpdate CMakeLists.
Benjamin Kramer [Mon, 17 Aug 2009 18:47:11 +0000 (18:47 +0000)]
Update CMakeLists.

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

15 years agoUpdate comments to new-style syntax.
Dan Gohman [Mon, 17 Aug 2009 18:45:31 +0000 (18:45 +0000)]
Update comments to new-style syntax.

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

15 years agoFix build warning.
Daniel Dunbar [Mon, 17 Aug 2009 18:41:42 +0000 (18:41 +0000)]
Fix build warning.

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

15 years agoPrivatize the last bits of static type state.
Owen Anderson [Mon, 17 Aug 2009 17:59:35 +0000 (17:59 +0000)]
Privatize the last bits of static type state.

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

15 years agoTest the pass the test is actually for, instead of one that doesn't exist.
Nick Lewycky [Mon, 17 Aug 2009 17:41:29 +0000 (17:41 +0000)]
Test the pass the test is actually for, instead of one that doesn't exist.

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

15 years agoMove the TypeMap lock to a member on LLVMContextImpl.
Owen Anderson [Mon, 17 Aug 2009 17:34:27 +0000 (17:34 +0000)]
Move the TypeMap lock to a member on LLVMContextImpl.

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

15 years agoAdd locking around the attributes list.
Owen Anderson [Mon, 17 Aug 2009 17:10:58 +0000 (17:10 +0000)]
Add locking around the attributes list.

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

15 years agoAdd locking around signal handler registration.
Owen Anderson [Mon, 17 Aug 2009 17:07:22 +0000 (17:07 +0000)]
Add locking around signal handler registration.

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

15 years agoClear the uniquing table when initializing TLOF to avoid a crash when the TLOF is...
Benjamin Kramer [Mon, 17 Aug 2009 17:05:44 +0000 (17:05 +0000)]
Clear the uniquing table when initializing TLOF to avoid a crash when the TLOF is reinitialized with a different MCContext.

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

15 years agoDon't crash on critical edge. Patch by Andre Tavares.
Nick Lewycky [Mon, 17 Aug 2009 17:00:57 +0000 (17:00 +0000)]
Don't crash on critical edge. Patch by Andre Tavares.

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

15 years agoMove the sjlj exception handling conversions to a back-end pass where they
Jim Grosbach [Mon, 17 Aug 2009 16:41:22 +0000 (16:41 +0000)]
Move the sjlj exception handling conversions to a back-end pass where they
more properly belong. This allows removing the front-end conditionalized
SJLJ code, and cleans up the generated IR considerably. All of the
infrastructure code (calling _Unwind_SjLj_Register/Unregister, etc) is
added by the SjLjEHPrepare pass.

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

15 years agoUpdate getSectionForConstant() to to allow mergable sections to be nulled out
Richard Osborne [Mon, 17 Aug 2009 16:37:11 +0000 (16:37 +0000)]
Update getSectionForConstant() to to allow mergable sections to be nulled out
if not supported by the ELF subtarget.

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

15 years agoExtend the instruction itinerary model to include the ability to indicate the def...
David Goodwin [Mon, 17 Aug 2009 16:02:57 +0000 (16:02 +0000)]
Extend the instruction itinerary model to include the ability to indicate the def and use cycle for each operand. This additional information is optional, so existing itineraries do not need to be changed.

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

15 years agothe MinPad argument to PadToColumn only really makes sense to be 1,
Chris Lattner [Mon, 17 Aug 2009 15:48:08 +0000 (15:48 +0000)]
the MinPad argument to PadToColumn only really makes sense to be 1,
just remove the argument and replace it with 1.

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

15 years agoFixed indentation and spelling.
Misha Brukman [Mon, 17 Aug 2009 15:31:24 +0000 (15:31 +0000)]
Fixed indentation and spelling.

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

15 years agoFix more missing newlines.
Dan Gohman [Mon, 17 Aug 2009 15:29:31 +0000 (15:29 +0000)]
Fix more missing newlines.

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

15 years agoFix printing of instructions with null operands.
Dan Gohman [Mon, 17 Aug 2009 15:28:08 +0000 (15:28 +0000)]
Fix printing of instructions with null operands.

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

15 years agoAlways print at least one space before adding a comment.
Dan Gohman [Mon, 17 Aug 2009 15:27:30 +0000 (15:27 +0000)]
Always print at least one space before adding a comment.

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

15 years agoFix debug output to include a newline after printing a Value, now
Dan Gohman [Mon, 17 Aug 2009 15:25:05 +0000 (15:25 +0000)]
Fix debug output to include a newline after printing a Value, now
that Value's operator<< doesn't include one.

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

15 years agoDon't access the first element of a potentially empty
Duncan Sands [Mon, 17 Aug 2009 14:33:27 +0000 (14:33 +0000)]
Don't access the first element of a potentially empty
vector (&Formals[0]).  With this change llvm-gcc builds
with expensive checking enabled for C, C++ and Fortran.
While there, change a std::vector into a SmallVector.
This is partly gratuitous, but mostly because not all
STL vector implementations define the data method (and
it should be faster).

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

15 years agoXFAIL this test since the fix was reverted.
Duncan Sands [Mon, 17 Aug 2009 12:20:45 +0000 (12:20 +0000)]
XFAIL this test since the fix was reverted.

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

15 years agoAdd a test that shows that SSI is working correctly.
Nick Lewycky [Mon, 17 Aug 2009 07:32:08 +0000 (07:32 +0000)]
Add a test that shows that SSI is working correctly.

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

15 years agochange AsmPrinter to switch sections using AsmStreamer instead of
Chris Lattner [Mon, 17 Aug 2009 05:49:08 +0000 (05:49 +0000)]
change AsmPrinter to switch sections using AsmStreamer instead of
doing it directly.  This requires const'izing a bunch of stuff that
took sections, but this seems like the right semantic thing to do:
emitting a label to a section shouldn't mutate the MCSection object
itself, for example.

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

15 years agoDon't crash trying to promote VLAs.
Nick Lewycky [Mon, 17 Aug 2009 05:37:31 +0000 (05:37 +0000)]
Don't crash trying to promote VLAs.

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

15 years agoCMake: Updated library dependencies.
Oscar Fuentes [Mon, 17 Aug 2009 04:23:50 +0000 (04:23 +0000)]
CMake: Updated library dependencies.

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

15 years agogive MCAsmStreamer a TargetAsmInfo.
Chris Lattner [Mon, 17 Aug 2009 04:23:44 +0000 (04:23 +0000)]
give MCAsmStreamer a TargetAsmInfo.

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

15 years agoformatting cleanups, no functionality change.
Chris Lattner [Mon, 17 Aug 2009 04:17:34 +0000 (04:17 +0000)]
formatting cleanups, no functionality change.

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

15 years agoMake a declaration consistent with its definition.
Oscar Fuentes [Mon, 17 Aug 2009 04:10:20 +0000 (04:10 +0000)]
Make a declaration consistent with its definition.

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

15 years agoCMake: LLVMConfig assigns LLVMX86 to the `native' component
Oscar Fuentes [Mon, 17 Aug 2009 01:41:46 +0000 (01:41 +0000)]
CMake: LLVMConfig assigns LLVMX86 to the `native' component
name. Updated LLVM_LINK_COMPONENTS of Kaleidoscope.

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

15 years agoWrap unit test death tests in GTEST_HAS_DEATH_TEST
Erick Tryzelaar [Mon, 17 Aug 2009 00:55:33 +0000 (00:55 +0000)]
Wrap unit test death tests in GTEST_HAS_DEATH_TEST

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

15 years agoChange APFloatTest from using ASSERTs to EXPECTs
Erick Tryzelaar [Mon, 17 Aug 2009 00:14:11 +0000 (00:14 +0000)]
Change APFloatTest from using ASSERTs to EXPECTs

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

15 years agoExpose creating constant ints and floats from strings to ocaml.
Erick Tryzelaar [Sun, 16 Aug 2009 23:37:03 +0000 (23:37 +0000)]
Expose creating constant ints and floats from strings to ocaml.

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

15 years agoExpose creating constant ints and floats from strings in llvm-c.
Erick Tryzelaar [Sun, 16 Aug 2009 23:36:46 +0000 (23:36 +0000)]
Expose creating constant ints and floats from strings in llvm-c.

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

15 years agoAdd helper functions to ConstantInt and ConstantFP to accept strings.
Erick Tryzelaar [Sun, 16 Aug 2009 23:36:33 +0000 (23:36 +0000)]
Add helper functions to ConstantInt and ConstantFP to accept strings.

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

15 years agoModify APFloat to take a StringRef instead of a c string.
Erick Tryzelaar [Sun, 16 Aug 2009 23:36:19 +0000 (23:36 +0000)]
Modify APFloat to take a StringRef instead of a c string.

This also adds unit tests to APFloat that mainly tests the
string handling of APFloat, but not much else of it's api.

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

15 years agoAdd failure tests to APInt unit test.
Erick Tryzelaar [Sun, 16 Aug 2009 23:36:01 +0000 (23:36 +0000)]
Add failure tests to APInt unit test.

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

15 years agoAdd a getOffsetOf, for building a target-independent expression for
Dan Gohman [Sun, 16 Aug 2009 21:26:11 +0000 (21:26 +0000)]
Add a getOffsetOf, for building a target-independent expression for
offsetof, similar to getSizeOf for sizeof.

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

15 years agoAvoid emitting XMM save code in soft-float or no-implicit-float mode
Dan Gohman [Sun, 16 Aug 2009 21:24:25 +0000 (21:24 +0000)]
Avoid emitting XMM save code in soft-float or no-implicit-float mode
or some other situation where no xmm registers need to be saved.

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

15 years agoDelete an unused field.
Dan Gohman [Sun, 16 Aug 2009 21:19:53 +0000 (21:19 +0000)]
Delete an unused field.

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

15 years agoCMake: Removed traces of obsolete variable LLVM_PLO_FLAGS.
Oscar Fuentes [Sun, 16 Aug 2009 21:01:16 +0000 (21:01 +0000)]
CMake: Removed traces of obsolete variable LLVM_PLO_FLAGS.

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

15 years agoCMake: New option LLVM_BUILD_TOOLS. Renamed LLVM_EXAMPLES to
Oscar Fuentes [Sun, 16 Aug 2009 20:56:30 +0000 (20:56 +0000)]
CMake: New option LLVM_BUILD_TOOLS. Renamed LLVM_EXAMPLES to
LLVM_BUILD_EXAMPLES and set default to true. Documented.

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

15 years agoCMake: Discriminate MINGW, MSYS, CYGWIN: does not try to build llvm-config under...
Oscar Fuentes [Sun, 16 Aug 2009 20:50:41 +0000 (20:50 +0000)]
CMake: Discriminate MINGW, MSYS, CYGWIN: does not try to build llvm-config under mingw without msys.

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

15 years agoReplace RegScavenger::DistanceMap with a simpler local algorithm.
Jakob Stoklund Olesen [Sun, 16 Aug 2009 17:41:39 +0000 (17:41 +0000)]
Replace RegScavenger::DistanceMap with a simpler local algorithm.

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

15 years agoClean up the public interface of RegScavenger.
Jakob Stoklund Olesen [Sun, 16 Aug 2009 17:41:20 +0000 (17:41 +0000)]
Clean up the public interface of RegScavenger.

Remove unused methods and make others private.

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

15 years agoBe more clever about regclasses in ScheduleDAGSDNodes::EmitCopyFromReg.
Jakob Stoklund Olesen [Sun, 16 Aug 2009 17:40:59 +0000 (17:40 +0000)]
Be more clever about regclasses in ScheduleDAGSDNodes::EmitCopyFromReg.

If two uses of a CopyFromReg want different regclasses, first try a common
sub-class, then fall back on the copy emitted in AddRegisterOperand. There is
no need for an assert here. The cross-class joiner usually cleans up nicely.

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

15 years agoFix use after free in Thumb2SizeReduction (PR4707). A MachineInstr was used after...
Benjamin Kramer [Sun, 16 Aug 2009 11:56:42 +0000 (11:56 +0000)]
Fix use after free in Thumb2SizeReduction (PR4707). A MachineInstr was used after erasure.

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

15 years agoStyalistic and format changes. No functionality change.
Bill Wendling [Sun, 16 Aug 2009 11:00:26 +0000 (11:00 +0000)]
Styalistic and format changes. No functionality change.

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

15 years agoFix the MSVC build again.
Benjamin Kramer [Sun, 16 Aug 2009 09:44:27 +0000 (09:44 +0000)]
Fix the MSVC build again.

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

15 years agoCMake: Hopefully this will fix the build on VS. I can't replicate the
Oscar Fuentes [Sun, 16 Aug 2009 07:44:02 +0000 (07:44 +0000)]
CMake: Hopefully this will fix the build on VS. I can't replicate the
failure with VS 9.0, nmake and cmake 2.6.4. The buildbot output does
not show the patch level of cmake, it just says 2.6.

Sadly, parallel builds are broken due to recent changes on LLVM Target
libraries and its auxiliaries (TargetInfo, AsmPrinter, AsmParser). I
have a patch for stablishing the correct dependencies, but cmake is
buggy and generates makefiles that can't handle them.

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

15 years agoCMake: Revert r79144. It reverted a change necessary for correct
Oscar Fuentes [Sun, 16 Aug 2009 05:16:43 +0000 (05:16 +0000)]
CMake: Revert r79144. It reverted a change necessary for correct
parallel builds.

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

15 years agoadd support for external symbols + X86::MOVPC32r.
Chris Lattner [Sun, 16 Aug 2009 04:28:14 +0000 (04:28 +0000)]
add support for external symbols + X86::MOVPC32r.

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

15 years agoFix for PR3016: detect the tricky case, where there are
Eli Friedman [Sun, 16 Aug 2009 04:23:49 +0000 (04:23 +0000)]
Fix for PR3016: detect the tricky case, where there are
unfoldable references to a PHI node in the block being folded, and disable
the transformation in that case.  The correct transformation of such PHI
nodes depends on whether BB dominates Succ, and dominance is expensive
to compute here.  (Alternatively, it's possible to check whether any
uses are live, but that's also essentially a dominance calculation.
Another alternative is to use reg2mem, but it probably isn't a good idea to
use that in simplifycfg.)

Also, remove some incorrect code from CanPropagatePredecessorsForPHIs
which is made unnecessary with this patch: it didn't consider the case
where a PHI node in BB has multiple uses.

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

15 years agoimplement support for lowering references to global addresses. For example, we now
Chris Lattner [Sun, 16 Aug 2009 03:12:25 +0000 (03:12 +0000)]
implement support for lowering references to global addresses.  For example, we now
can asmprint:

NEW:  movl "L___stack_chk_guard$non_lazy_ptr", %eax
OLD:  movl L___stack_chk_guard$non_lazy_ptr, %eax

where 'new' is coming out of the MCInst version of the printer.

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

15 years agomore formatting improvements, no functionality change.
Chris Lattner [Sun, 16 Aug 2009 02:45:18 +0000 (02:45 +0000)]
more formatting improvements, no functionality change.

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

15 years agocode formatting improvements, no functionality change.
Chris Lattner [Sun, 16 Aug 2009 02:36:40 +0000 (02:36 +0000)]
code formatting improvements, no functionality change.

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

15 years agowhen emitting errors about CHECK-NEXT directives, show the line that the
Chris Lattner [Sun, 16 Aug 2009 02:22:31 +0000 (02:22 +0000)]
when emitting errors about CHECK-NEXT directives, show the line that the
CHECK-NEXT is on.

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

15 years agoAdd an llvm-c function that lets you insert an instruction with a name.
Erick Tryzelaar [Sun, 16 Aug 2009 02:20:57 +0000 (02:20 +0000)]
Add an llvm-c function that lets you insert an instruction with a name.

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

15 years agoExpose most of the Constant creation functions to ocaml.
Erick Tryzelaar [Sun, 16 Aug 2009 02:20:37 +0000 (02:20 +0000)]
Expose most of the Constant creation functions to ocaml.

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

15 years agoExpose most of the IRBuilder functionality to ocaml.
Erick Tryzelaar [Sun, 16 Aug 2009 02:20:24 +0000 (02:20 +0000)]
Expose most of the IRBuilder functionality to ocaml.

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

15 years agoExpose most of the Constant creation functions to llvm-c.
Erick Tryzelaar [Sun, 16 Aug 2009 02:20:12 +0000 (02:20 +0000)]
Expose most of the Constant creation functions to llvm-c.

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

15 years agoExpose most of the rest of IRBuilder's functions to llvm-c.
Erick Tryzelaar [Sun, 16 Aug 2009 02:19:59 +0000 (02:19 +0000)]
Expose most of the rest of IRBuilder's functions to llvm-c.

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

15 years agoAdd more casts to the IRBuilder.
Erick Tryzelaar [Sun, 16 Aug 2009 02:19:46 +0000 (02:19 +0000)]
Add more casts to the IRBuilder.

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