OSDN Git Service
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
Evan Cheng [Sat, 15 Aug 2009 23:41:42 +0000 (23:41 +0000)]
Needs to check whether unaligned load / store of i64 is legal here.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79150
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Sat, 15 Aug 2009 22:28:08 +0000 (22:28 +0000)]
Remove <iostream>.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79146
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Sat, 15 Aug 2009 21:57:01 +0000 (21:57 +0000)]
Revert 78996. It was breaking MSVC builds.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79144
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Sat, 15 Aug 2009 21:41:03 +0000 (21:41 +0000)]
Mingw also doesn't have st_blksize.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79142
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Sat, 15 Aug 2009 21:28:17 +0000 (21:28 +0000)]
Fix test on Linux.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79140
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Sat, 15 Aug 2009 21:27:32 +0000 (21:27 +0000)]
An overhaul of the exception handling code. This is arguably more correct than
what was there before. In "no FP mode", we weren't generating labels and unwind
table entries after each "push" instruction. While more than likely "okay", it's
not technically correct. The major thing was that the ordering of when to define
a new CFA register and at what offset wasn't correct. This would cause the
exception handling to fail in ways most miserable to users.
I also cleaned up some code a bit. There's one function which has a "return" at
the beginning, so it's never used. Should I just remove it? :-)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79139
91177308-0d34-0410-b5e6-
96231b3b80d8
Eli Friedman [Sat, 15 Aug 2009 21:22:20 +0000 (21:22 +0000)]
Add svn:ignore to a couple of directories.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79138
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Sat, 15 Aug 2009 21:21:19 +0000 (21:21 +0000)]
Reapply r79127. It was fixed by d0k.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79136
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Sat, 15 Aug 2009 21:14:01 +0000 (21:14 +0000)]
Revert r79127. It was causing compilation errors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79135
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Sat, 15 Aug 2009 21:07:49 +0000 (21:07 +0000)]
Don't try to get the context from an erased Instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79134
91177308-0d34-0410-b5e6-
96231b3b80d8
Benjamin Kramer [Sat, 15 Aug 2009 20:46:16 +0000 (20:46 +0000)]
Unbreak build. Evan, please make sure my changes are correct.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79133
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Sat, 15 Aug 2009 20:12:18 +0000 (20:12 +0000)]
SSI construction should just go ahead and ignore instructions in unreachable
blocks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79132
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Sat, 15 Aug 2009 20:08:04 +0000 (20:08 +0000)]
Fix validation errors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79131
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Sat, 15 Aug 2009 20:07:42 +0000 (20:07 +0000)]
Fix validation errors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79130
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sat, 15 Aug 2009 19:23:44 +0000 (19:23 +0000)]
Change allowsUnalignedMemoryAccesses to take type argument since some targets
support unaligned mem access only for certain types. (Should it be size
instead?)
ARM v7 supports unaligned access for i16 and i32, some v6 variants support it
as well.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79127
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 15 Aug 2009 18:33:10 +0000 (18:33 +0000)]
wrap to 80 cols
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79124
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 15 Aug 2009 18:32:21 +0000 (18:32 +0000)]
implement support for CHECK-NEXT: in filecheck.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79123
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Sat, 15 Aug 2009 18:16:58 +0000 (18:16 +0000)]
Refine EarlyClobber assert in register scavenger.
It is legal for an inline asm operand to use an earlyclobber register if the
use operand is tied to the earlyclobber operand. The issue is discussed here:
http://gcc.gnu.org/ml/gcc/1999-04n/msg00431.html
We should perhaps let only the machine code verifier worry about these finer
details. EarlyClobber operands are not really interesting to the scavenger.
This fixes PR4528 for the third time.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79122
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 15 Aug 2009 18:00:42 +0000 (18:00 +0000)]
simplify some code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79121
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 15 Aug 2009 17:53:12 +0000 (17:53 +0000)]
rewrite FindStringInBuffer to use an explicit loop instead of
trying to wrap strstr which is just too inconvenient. Make it
use a StringRef to avoid ".c_str()" calls.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79120
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 15 Aug 2009 17:41:04 +0000 (17:41 +0000)]
Instead of using an std::pair, use a custom struct.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79119
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 15 Aug 2009 17:35:05 +0000 (17:35 +0000)]
specify a target triple so global variable manglings are consistent etc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79118
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 15 Aug 2009 17:28:09 +0000 (17:28 +0000)]
convert to filecheck.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79117
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 15 Aug 2009 17:24:09 +0000 (17:24 +0000)]
rename this test to sse2.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79116
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 15 Aug 2009 17:21:44 +0000 (17:21 +0000)]
merge a bunch more sse3 tests into sse3.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79115
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 15 Aug 2009 17:05:03 +0000 (17:05 +0000)]
convert test to filecheck format.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79114
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 15 Aug 2009 17:01:44 +0000 (17:01 +0000)]
rename test
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79113
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 15 Aug 2009 17:01:19 +0000 (17:01 +0000)]
this is a test for sse3, simplify it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79112
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 15 Aug 2009 16:54:02 +0000 (16:54 +0000)]
the .eh_frame sections we generate need to be writable (which
is why they are datarel). This should fix PR4724, and is fallout
from r78890.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79111
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 15 Aug 2009 16:51:06 +0000 (16:51 +0000)]
document filecheck.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79110
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 15 Aug 2009 16:18:56 +0000 (16:18 +0000)]
fix pasto noticed by Jakub
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79109
91177308-0d34-0410-b5e6-
96231b3b80d8
Nicolas Geoffray [Sat, 15 Aug 2009 15:41:32 +0000 (15:41 +0000)]
Use the new API for creating an OpaqueType.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79107
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 15 Aug 2009 15:40:48 +0000 (15:40 +0000)]
add a stub for futher description of filecheck.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79106
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 15 Aug 2009 15:38:11 +0000 (15:38 +0000)]
add a simple FileCheck man page.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79105
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 15 Aug 2009 15:08:28 +0000 (15:08 +0000)]
tidy up
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79101
91177308-0d34-0410-b5e6-
96231b3b80d8
Nicolas Geoffray [Sat, 15 Aug 2009 14:47:42 +0000 (14:47 +0000)]
Update cpp generation with new LLVM API for primitive types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79098
91177308-0d34-0410-b5e6-
96231b3b80d8
Sanjiv Gupta [Sat, 15 Aug 2009 14:36:48 +0000 (14:36 +0000)]
Revert a few changes that were done in 78603.
PIC16DebugInfo currently rely on NameStr of composite type descriptors to uniquely
identify debug info for two aggregate type decls with same name.
This implementation will change when we have MDNodes based debug info implemenatation in place
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79097
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Sat, 15 Aug 2009 13:10:46 +0000 (13:10 +0000)]
Don't setCalleeSavedInfoValid() until spills are interted.
In a naked function, the flag is never set and getPristineRegs() returns an
empty list. That means naked functions are able to clobber callee saved
registers, but that is the whole point of naked functions.
This fixes PR4716.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79096
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Sat, 15 Aug 2009 13:10:15 +0000 (13:10 +0000)]
Allow double defs in the machine code verifier after the addPreRegAlloc passes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79095
91177308-0d34-0410-b5e6-
96231b3b80d8
Richard Osborne [Sat, 15 Aug 2009 12:53:15 +0000 (12:53 +0000)]
Move XCore AsmPrinter to XCore/AsmPrinter directory.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79094
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Sat, 15 Aug 2009 12:10:22 +0000 (12:10 +0000)]
Add XFAIL testcase for setcc undef.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79093
91177308-0d34-0410-b5e6-
96231b3b80d8
Jakob Stoklund Olesen [Sat, 15 Aug 2009 12:09:56 +0000 (12:09 +0000)]
Add XFAIL test case for a scavenger assert.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79092
91177308-0d34-0410-b5e6-
96231b3b80d8
Tilmann Scheller [Sat, 15 Aug 2009 11:54:46 +0000 (11:54 +0000)]
Add support for the PowerPC 64-bit SVR4 ABI.
The Link Register is volatile when using the 32-bit SVR4 ABI.
Make it possible to use the 64-bit SVR4 ABI.
Add non-volatile registers for the 64-bit SVR4 ABI.
Make sure r2 is a reserved register when using the 64-bit SVR4 ABI.
Update PPCFrameInfo for the 64-bit SVR4 ABI.
Add FIXME for 64-bit Darwin PPC.
Insert NOP instruction after direct function calls.
Emit official procedure descriptors.
Create TOC entries for GlobalAddress references.
Spill 64-bit non-volatile registers to the correct slots.
Only custom lower VAARG when using the 32-bit SVR4 ABI.
Use simple VASTART lowering for the 64-bit SVR4 ABI.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79091
91177308-0d34-0410-b5e6-
96231b3b80d8