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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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