Daniel Dunbar
33d86f22f2
Fix Triple to recognize the 'bfin' arch.
...
llvm-svn: 79325
2009-08-18 07:06:26 +00:00
Chris Lattner
0adae25ec1
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.
llvm-svn: 79324
2009-08-18 06:15:16 +00:00
Chris Lattner
5de2e2de93
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.
llvm-svn: 79323
2009-08-18 06:13:03 +00:00
Chris Lattner
966d32dffb
remove some pointless null switchtosections. The IntelAsmPrinter doesn't really work anyway.
...
llvm-svn: 79321
2009-08-18 06:03:07 +00:00
Evan Cheng
dd406177de
Fix revsh pattern.
...
llvm-svn: 79318
2009-08-18 05:43:23 +00:00
Chris Lattner
40bbb85949
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.
llvm-svn: 79317
2009-08-18 05:33:27 +00:00
Daniel Dunbar
320d331311
Recognize xscale as an ARM arch.
...
- Patch by Yonggang Luo.
llvm-svn: 79315
2009-08-18 04:51:26 +00:00
Daniel Dunbar
781f94d7fe
Add Triple matching for pic16 arch and solaris OS.
...
- Patch by Yonggang Luo.
llvm-svn: 79314
2009-08-18 04:43:27 +00:00
Chris Lattner
63d3fa5f3b
fix another bozo bug
...
llvm-svn: 79313
2009-08-18 04:34:36 +00:00
Chris Lattner
249e1acf1b
fix accidentally inverted conditional and add comment.
...
llvm-svn: 79312
2009-08-18 04:33:15 +00:00
Chris Lattner
523d2f6e2c
turn this conditional into something humans might actually
...
be able to understand ;-)
llvm-svn: 79311
2009-08-18 04:30:35 +00:00
Dan Gohman
10f1471e2f
Make TargetData optional in MemCpyOptimizer.
...
llvm-svn: 79306
2009-08-18 01:17:52 +00:00
Dan Gohman
9f2b3db428
Make TargetData optional in SimplifyLibCalls.
...
llvm-svn: 79298
2009-08-18 00:48:13 +00:00
Anton Korobeynikov
90e17e787f
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!
llvm-svn: 79296
2009-08-18 00:40:33 +00:00
Dan Gohman
47a31a29c5
Fix function alignment at -Os on x86 to be 1, not 2. getFunctionAlignment
...
returns a log2 value.
llvm-svn: 79293
2009-08-18 00:20:06 +00:00
Dale Johannesen
4a50e68b65
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.
llvm-svn: 79292
2009-08-18 00:18:39 +00:00
Devang Patel
c6faffde6c
Add prefix only if it is needed.
...
llvm-svn: 79289
2009-08-17 23:17:17 +00:00
Jim Grosbach
f933c409e2
cleanups per review. Mostly cosmetic, plus use SmallVector in place of std::vector.
...
llvm-svn: 79287
2009-08-17 21:40:03 +00:00
Devang Patel
993e527b30
Oops. find all llvm.dbg.global_variables.
...
llvm-svn: 79274
2009-08-17 20:36:20 +00:00
Jim Grosbach
43bbb9de66
Remove a bit more cruft from the sjlj moving to a backend pass.
...
llvm-svn: 79272
2009-08-17 20:25:04 +00:00
Benjamin Kramer
436bd9f770
Update CMakeLists.
...
llvm-svn: 79264
2009-08-17 18:47:11 +00:00
Dan Gohman
7cb92a1e3d
Update comments to new-style syntax.
...
llvm-svn: 79263
2009-08-17 18:45:31 +00:00
Daniel Dunbar
f9bdf988a2
Fix build warning.
...
llvm-svn: 79262
2009-08-17 18:41:42 +00:00
Owen Anderson
9801560ace
Privatize the last bits of static type state.
...
llvm-svn: 79258
2009-08-17 17:59:35 +00:00
Owen Anderson
286b3af6ae
Move the TypeMap lock to a member on LLVMContextImpl.
...
llvm-svn: 79256
2009-08-17 17:34:27 +00:00
Owen Anderson
d91e6b097d
Add locking around the attributes list.
...
llvm-svn: 79255
2009-08-17 17:10:58 +00:00
Owen Anderson
820739dccc
Add locking around signal handler registration.
...
llvm-svn: 79254
2009-08-17 17:07:22 +00:00
Benjamin Kramer
bd3c033713
Clear the uniquing table when initializing TLOF to avoid a crash when the TLOF is reinitialized with a different MCContext.
...
llvm-svn: 79253
2009-08-17 17:05:44 +00:00
Nick Lewycky
4c737147e1
Don't crash on critical edge. Patch by Andre Tavares.
...
llvm-svn: 79252
2009-08-17 17:00:57 +00:00
Jim Grosbach
486be66dbd
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.
llvm-svn: 79250
2009-08-17 16:41:22 +00:00
Richard Osborne
94a2c1acae
Update getSectionForConstant() to to allow mergable sections to be nulled out
...
if not supported by the ELF subtarget.
llvm-svn: 79249
2009-08-17 16:37:11 +00:00
David Goodwin
d813cbfe72
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.
...
llvm-svn: 79247
2009-08-17 16:02:57 +00:00
Chris Lattner
ee97b8b11c
the MinPad argument to PadToColumn only really makes sense to be 1,
...
just remove the argument and replace it with 1.
llvm-svn: 79246
2009-08-17 15:48:08 +00:00
Dan Gohman
74cb168a9e
Fix more missing newlines.
...
llvm-svn: 79244
2009-08-17 15:29:31 +00:00
Dan Gohman
d04f9bf01a
Fix printing of instructions with null operands.
...
llvm-svn: 79243
2009-08-17 15:28:08 +00:00
Dan Gohman
d0cc3f31c0
Always print at least one space before adding a comment.
...
llvm-svn: 79242
2009-08-17 15:27:30 +00:00
Dan Gohman
8dd69f88ea
Fix debug output to include a newline after printing a Value, now
...
that Value's operator<< doesn't include one.
llvm-svn: 79240
2009-08-17 15:25:05 +00:00
Duncan Sands
c4ce58d8fe
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).
llvm-svn: 79237
2009-08-17 14:33:27 +00:00
Chris Lattner
aa1526419c
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.
llvm-svn: 79227
2009-08-17 05:49:08 +00:00
Nick Lewycky
aa464002f0
Don't crash trying to promote VLAs.
...
llvm-svn: 79226
2009-08-17 05:37:31 +00:00
Chris Lattner
a61e93d4b5
give MCAsmStreamer a TargetAsmInfo.
...
llvm-svn: 79222
2009-08-17 04:23:44 +00:00
Chris Lattner
962c5bd803
formatting cleanups, no functionality change.
...
llvm-svn: 79221
2009-08-17 04:17:34 +00:00
Erick Tryzelaar
dd99135721
Expose creating constant ints and floats from strings in llvm-c.
...
llvm-svn: 79213
2009-08-16 23:36:46 +00:00
Erick Tryzelaar
fc2280d874
Add helper functions to ConstantInt and ConstantFP to accept strings.
...
llvm-svn: 79212
2009-08-16 23:36:33 +00:00
Erick Tryzelaar
19f63b2e4d
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.
llvm-svn: 79210
2009-08-16 23:36:19 +00:00
Dan Gohman
ff3af725ea
Add a getOffsetOf, for building a target-independent expression for
...
offsetof, similar to getSizeOf for sizeof.
llvm-svn: 79208
2009-08-16 21:26:11 +00:00
Dan Gohman
f0b984021c
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.
llvm-svn: 79207
2009-08-16 21:24:25 +00:00
Dan Gohman
4bb9357921
Delete an unused field.
...
llvm-svn: 79206
2009-08-16 21:19:53 +00:00
Jakob Stoklund Olesen
84b4d2241f
Replace RegScavenger::DistanceMap with a simpler local algorithm.
...
llvm-svn: 79195
2009-08-16 17:41:39 +00:00
Jakob Stoklund Olesen
ac09a9a1f5
Clean up the public interface of RegScavenger.
...
Remove unused methods and make others private.
llvm-svn: 79194
2009-08-16 17:41:20 +00:00