oota-llvm.git
15 years agoInstcombine should not promote whole computation trees to "strange"
Chris Lattner [Wed, 8 Apr 2009 05:41:03 +0000 (05:41 +0000)]
Instcombine should not promote whole computation trees to "strange"
integer types, unless they are already strange.  This prevents it from
turning the code produced by SROA into crazy libcalls and stuff that
the code generator can't handle.  In the attached example, the result
was an i96 multiply that caused the x86 backend to assert.

Note that if TargetData had an idea of what the legal types are for
a target that this could be used to stop instcombine from introducing
i64 muls, as Scott wanted.

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

15 years agoHandle indirect function calls.
Sanjiv Gupta [Wed, 8 Apr 2009 05:38:48 +0000 (05:38 +0000)]
Handle indirect function calls.
Every function has the address of its frame in the beginning of code section.
The frame address is retrieved and used to pass arguments.

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

15 years agodisable this code for now, re-breaking PR2975, but fixing
Chris Lattner [Wed, 8 Apr 2009 04:36:59 +0000 (04:36 +0000)]
disable this code for now, re-breaking PR2975, but fixing
a testcase I'm about to attach to that pr.

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

15 years agoRemove AllowInverse: it leaks memory and is not the right
Chris Lattner [Wed, 8 Apr 2009 03:43:51 +0000 (03:43 +0000)]
Remove AllowInverse: it leaks memory and is not the right
abstraction for CommandLine.

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

15 years agoFully escape the grep string for this test.
Dan Gohman [Wed, 8 Apr 2009 00:54:40 +0000 (00:54 +0000)]
Fully escape the grep string for this test.

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

15 years agoUpdate this test for recent codegen improvements. CodeGen is now
Dan Gohman [Wed, 8 Apr 2009 00:51:11 +0000 (00:51 +0000)]
Update this test for recent codegen improvements. CodeGen is now
using an lea in place of a mov and an add for this test.

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

15 years agochange printStringChar to emit characters as unsigned char instead of char,
Chris Lattner [Wed, 8 Apr 2009 00:28:38 +0000 (00:28 +0000)]
change printStringChar to emit characters as unsigned char instead of char,
avoiding sign extension for the top octet.  For "negative" chars, we'd print
stuff like:

.asciz "\702...
now we print:
.asciz "\302...

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

15 years agoImplement support for using modeling implicit-zero-extension on x86-64
Dan Gohman [Wed, 8 Apr 2009 00:15:30 +0000 (00:15 +0000)]
Implement support for using modeling implicit-zero-extension on x86-64
with SUBREG_TO_REG, teach SimpleRegisterCoalescing to coalesce
SUBREG_TO_REG instructions (which are similar to INSERT_SUBREG
instructions), and teach the DAGCombiner to take advantage of this on
targets which support it. This eliminates many redundant
zero-extension operations on x86-64.

This adds a new TargetLowering hook, isZExtFree. It's similar to
isTruncateFree, except it only applies to actual definitions, and not
no-op truncates which may not zero the high bits.

Also, this adds a new optimization to SimplifyDemandedBits: transform
operations like x+y into (zext (add (trunc x), (trunc y))) on targets
where all the casts are no-ops. In contexts where the high part of the
add is explicitly masked off, this allows the mask operation to be
eliminated. Fix the DAGCombiner to avoid undoing these transformations
to eliminate casts on targets where the casts are no-ops.

Also, this adds a new two-address lowering heuristic. Since
two-address lowering runs before coalescing, it helps to be able to
look through copies when deciding whether commuting and/or
three-address conversion are profitable.

Also, fix a bug in LiveInterval::MergeInClobberRanges. It didn't handle
the case that a clobber range extended both before and beyond an
existing live range. In that case, multiple live ranges need to be
added. This was exposed by the new subreg coalescing code.

Remove 2008-05-06-SpillerBug.ll. It was bugpoint-reduced, and the
spiller behavior it was looking for no longer occurrs with the new
instruction selection.

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

15 years agoRevert prev. patch for now.
Devang Patel [Tue, 7 Apr 2009 23:00:04 +0000 (23:00 +0000)]
Revert prev. patch for now.

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

15 years agoTemporarily revert r68552. This was causing a failure in the self-hosting LLVM
Bill Wendling [Tue, 7 Apr 2009 22:35:25 +0000 (22:35 +0000)]
Temporarily revert r68552. This was causing a failure in the self-hosting LLVM
builds.

--- Reverse-merging (from foreign repository) r68552 into '.':
U    test/CodeGen/X86/tls8.ll
U    test/CodeGen/X86/tls10.ll
U    test/CodeGen/X86/tls2.ll
U    test/CodeGen/X86/tls6.ll
U    lib/Target/X86/X86Instr64bit.td
U    lib/Target/X86/X86InstrSSE.td
U    lib/Target/X86/X86InstrInfo.td
U    lib/Target/X86/X86RegisterInfo.cpp
U    lib/Target/X86/X86ISelLowering.cpp
U    lib/Target/X86/X86CodeEmitter.cpp
U    lib/Target/X86/X86FastISel.cpp
U    lib/Target/X86/X86InstrInfo.h
U    lib/Target/X86/X86ISelDAGToDAG.cpp
U    lib/Target/X86/AsmPrinter/X86ATTAsmPrinter.cpp
U    lib/Target/X86/AsmPrinter/X86IntelAsmPrinter.cpp
U    lib/Target/X86/AsmPrinter/X86ATTAsmPrinter.h
U    lib/Target/X86/AsmPrinter/X86IntelAsmPrinter.h
U    lib/Target/X86/X86ISelLowering.h
U    lib/Target/X86/X86InstrInfo.cpp
U    lib/Target/X86/X86InstrBuilder.h
U    lib/Target/X86/X86RegisterInfo.td

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

15 years agoRight now DBG_LABEL are required for llvm.dbg.region_start and llvm.dbg.region_end...
Devang Patel [Tue, 7 Apr 2009 22:27:56 +0000 (22:27 +0000)]
Right now DBG_LABEL are required for llvm.dbg.region_start and llvm.dbg.region_end in non-fast mode also.

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

15 years agoReduce code duplication on the TLS implementation.
Rafael Espindola [Tue, 7 Apr 2009 21:37:46 +0000 (21:37 +0000)]
Reduce code duplication on the TLS implementation.
This introduces a small regression on the generated code
quality in the case we are just computing addresses, not
loading values.

Will work on it and on X86-64 support.

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

15 years agoDon't attempt to handle aggregate argument values in FastISel; let
Dan Gohman [Tue, 7 Apr 2009 20:40:11 +0000 (20:40 +0000)]
Don't attempt to handle aggregate argument values in FastISel; let
SelectionDAG do those. This fixes PR3955.

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

15 years agoPR2985 / <rdar://problem/6584986>
Jim Grosbach [Tue, 7 Apr 2009 20:34:09 +0000 (20:34 +0000)]
PR2985 / <rdar://problem/6584986>

When compiling in Thumb mode, only the low (R0-R7) registers are available
for most instructions. Breaking the low registers into a new register class
handles this. Uses of R12, SP, etc, are handled explicitly where needed
with copies inserted to move results into low registers where the rest of
the code generator can deal with them.

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

15 years agoRemove ccc now. Radar 6737767
Mike Stump [Tue, 7 Apr 2009 20:29:25 +0000 (20:29 +0000)]
Remove ccc now.  Radar 6737767

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

15 years agofix style.
Torok Edwin [Tue, 7 Apr 2009 19:45:59 +0000 (19:45 +0000)]
fix style.

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

15 years agoUse 'name' instead of 'href'.
Bill Wendling [Tue, 7 Apr 2009 18:54:06 +0000 (18:54 +0000)]
Use 'name' instead of 'href'.

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

15 years agoFix verification failure.
Bill Wendling [Tue, 7 Apr 2009 18:52:30 +0000 (18:52 +0000)]
Fix verification failure.

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

15 years agoOffer an explanation of why building LLVM-GCC with objdir == srcdir doesn't
Bill Wendling [Tue, 7 Apr 2009 18:51:13 +0000 (18:51 +0000)]
Offer an explanation of why building LLVM-GCC with objdir == srcdir doesn't
work.

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

15 years agoAnother reformatting. No change in docs.
Bill Wendling [Tue, 7 Apr 2009 18:40:56 +0000 (18:40 +0000)]
Another reformatting. No change in docs.

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

15 years agoAnother attempt at fixing PR2975.
Torok Edwin [Tue, 7 Apr 2009 17:23:02 +0000 (17:23 +0000)]
Another attempt at fixing PR2975.
Types can have references to eachother, so we can't just call destroy on them.

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

15 years agofix comment to reflect the implementation I ended up settling on.
Chris Lattner [Tue, 7 Apr 2009 16:30:31 +0000 (16:30 +0000)]
fix comment to reflect the implementation I ended up settling on.
Thanks to Duncan for noticing this

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

15 years agofix rdar://6762290, a crash compiling cxx filt with clang.
Chris Lattner [Tue, 7 Apr 2009 05:03:34 +0000 (05:03 +0000)]
fix rdar://6762290, a crash compiling cxx filt with clang.

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

15 years agoAdd an API for the bitstream reader to read blobs and return
Chris Lattner [Tue, 7 Apr 2009 02:56:46 +0000 (02:56 +0000)]
Add an API for the bitstream reader to read blobs and return
them by reference, instead of packing each byte into a
smallvector.

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

15 years agoremove empty section
Chris Lattner [Tue, 7 Apr 2009 02:55:53 +0000 (02:55 +0000)]
remove empty section

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

15 years agoAdd svn:ignore properties.
Dan Gohman [Tue, 7 Apr 2009 00:26:29 +0000 (00:26 +0000)]
Add svn:ignore properties.

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

15 years agostub out code for reading record with blobs as blobs. Not active yet.
Chris Lattner [Mon, 6 Apr 2009 22:44:40 +0000 (22:44 +0000)]
stub out code for reading record with blobs as blobs.  Not active yet.

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

15 years agoallow clients to look up abbrev id's
Chris Lattner [Mon, 6 Apr 2009 22:43:46 +0000 (22:43 +0000)]
allow clients to look up abbrev id's

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

15 years agoAdd a new EmitRecordWithBlob API that allows a blob to be emitted
Chris Lattner [Mon, 6 Apr 2009 22:26:26 +0000 (22:26 +0000)]
Add a new EmitRecordWithBlob API that allows a blob to be emitted
without converting each byte to a uint64_t to stick in a SmallVector.

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

15 years agoadd a new Blob encoding abbreviation for bitcode files that emits
Chris Lattner [Mon, 6 Apr 2009 21:50:39 +0000 (21:50 +0000)]
add a new Blob encoding abbreviation for bitcode files that emits
elements in a form that is efficient for the reader to just get a
pointer in memory and start reading.  APIs to do efficient reading
and writing are still todo.

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

15 years agoHandle 'a' modifier in ARM inline assembly.
Bob Wilson [Mon, 6 Apr 2009 21:46:51 +0000 (21:46 +0000)]
Handle 'a' modifier in ARM inline assembly.
Patch by Richard Pennington.

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

15 years agosplit ReadAbbreviatedLiteral out of ReadAbbreviatedField.
Chris Lattner [Mon, 6 Apr 2009 21:37:10 +0000 (21:37 +0000)]
split ReadAbbreviatedLiteral out of ReadAbbreviatedField.

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

15 years agoreduce indentation with early-out
Chris Lattner [Mon, 6 Apr 2009 21:34:58 +0000 (21:34 +0000)]
reduce indentation with early-out

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

15 years agosimplify code a bit.
Chris Lattner [Mon, 6 Apr 2009 21:20:01 +0000 (21:20 +0000)]
simplify code a bit.

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

15 years agosimplify to reduce indentation.
Chris Lattner [Mon, 6 Apr 2009 21:12:29 +0000 (21:12 +0000)]
simplify to reduce indentation.

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

15 years agorevert r68457, its crashing in make check.
Torok Edwin [Mon, 6 Apr 2009 20:57:34 +0000 (20:57 +0000)]
revert r68457, its crashing in make check.

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

15 years agoTeach llvm-bcanalyzer to skip over the header we use on LLVM IR files.
Chris Lattner [Mon, 6 Apr 2009 20:54:32 +0000 (20:54 +0000)]
Teach llvm-bcanalyzer to skip over the header we use on LLVM IR files.

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

15 years agofix (part of) memory leak on shutdown. See PR2975.
Torok Edwin [Mon, 6 Apr 2009 20:49:21 +0000 (20:49 +0000)]
fix (part of) memory leak on shutdown. See PR2975.

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

15 years agoclean up some html
Chris Lattner [Mon, 6 Apr 2009 20:35:19 +0000 (20:35 +0000)]
clean up some html

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

15 years agoAvoid -O3 on Darwin for now.
Mike Stump [Mon, 6 Apr 2009 19:58:11 +0000 (19:58 +0000)]
Avoid -O3 on Darwin for now.

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

15 years agoLet the strcat optimizer return the pointer to the start of the buffer,
Ed Schouten [Mon, 6 Apr 2009 13:06:48 +0000 (13:06 +0000)]
Let the strcat optimizer return the pointer to the start of the buffer,
instead of the place where it started to perform the string copy.

- PR3661
- Patch by Benjamin Kramer!

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

15 years agoMap stack based frameindices for spills to zero based indices that can be accessed...
Sanjiv Gupta [Mon, 6 Apr 2009 10:54:50 +0000 (10:54 +0000)]
Map stack based frameindices for spills to zero based indices that can be accessed based on an external symbol defining the location of temporary data for a function. For example: we have spill slots addressed as foo.tmp + 0, foo.tmp + 1 etc.

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

15 years agoAdd character encoding declaration to fix verification warning.
Bill Wendling [Sun, 5 Apr 2009 12:38:44 +0000 (12:38 +0000)]
Add character encoding declaration to fix verification warning.

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

15 years agoObsessively format this document.
Bill Wendling [Sun, 5 Apr 2009 12:37:44 +0000 (12:37 +0000)]
Obsessively format this document.

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

15 years agoAdd segment flag bits to ELF.h.
Mikhail Glushenkov [Sun, 5 Apr 2009 09:07:08 +0000 (09:07 +0000)]
Add segment flag bits to ELF.h.

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

15 years agoAdd character encoding declaration.
Bill Wendling [Sun, 5 Apr 2009 00:44:06 +0000 (00:44 +0000)]
Add character encoding declaration.

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

15 years agoFix validation error.
Bill Wendling [Sun, 5 Apr 2009 00:43:04 +0000 (00:43 +0000)]
Fix validation error.

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

15 years agoA lot of formatting changes.
Bill Wendling [Sun, 5 Apr 2009 00:41:19 +0000 (00:41 +0000)]
A lot of formatting changes.

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

15 years agoCMake: Added notes pointing to the LLVM CMake documentation.
Oscar Fuentes [Sat, 4 Apr 2009 22:52:02 +0000 (22:52 +0000)]
CMake: Added notes pointing to the LLVM CMake documentation.

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

15 years agoCMake: defines and uses macro add_llvm_definitions for keeping track
Oscar Fuentes [Sat, 4 Apr 2009 22:41:07 +0000 (22:41 +0000)]
CMake: defines and uses macro add_llvm_definitions for keeping track
of compiler parameters explicitly added by the build
specification. This macro replaces the cmake built-in
`add_definitions'.

Detects glibc and defines _GNU_SOURCE accordingly.

Resolves bug 3882.

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

15 years agoFix some HTML validation errors.
Bill Wendling [Sat, 4 Apr 2009 22:36:02 +0000 (22:36 +0000)]
Fix some HTML validation errors.

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

15 years agoGeneral clean-up of the bitcode format documentation. Having the paragraphs
Bill Wendling [Sat, 4 Apr 2009 22:27:03 +0000 (22:27 +0000)]
General clean-up of the bitcode format documentation. Having the paragraphs
formatted the same, putting words in <tt> tags, adding &mdash;s, etc.

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

15 years agoTry SSE2?
Nick Lewycky [Sat, 4 Apr 2009 10:24:24 +0000 (10:24 +0000)]
Try SSE2?

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

15 years agoCloneModule stores the BasicBlock mapping in ValueMap. There's no need to
Nick Lewycky [Sat, 4 Apr 2009 09:39:23 +0000 (09:39 +0000)]
CloneModule stores the BasicBlock mapping in ValueMap. There's no need to
recompute it. This fixes a O(n^2) in number of blocks when reducing a crash.

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

15 years agoRemove bogus include.
Nick Lewycky [Sat, 4 Apr 2009 07:42:46 +0000 (07:42 +0000)]
Remove bogus include.

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

15 years agoAdd support for embedded metadata to LLVM. This introduces two new types of
Nick Lewycky [Sat, 4 Apr 2009 07:22:01 +0000 (07:22 +0000)]
Add support for embedded metadata to LLVM. This introduces two new types of
Constant, MDString and MDNode which can only be used by globals with a name
that starts with "llvm." or as arguments to a function with the same naming
restriction.

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

15 years agoFix test on non-x86 platforms.
Nick Lewycky [Sat, 4 Apr 2009 07:20:43 +0000 (07:20 +0000)]
Fix test on non-x86 platforms.

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

15 years agoTest commit access to LLVM with some minor narcissism.
Stefanus Du Toit [Fri, 3 Apr 2009 21:41:52 +0000 (21:41 +0000)]
Test commit access to LLVM with some minor narcissism.

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

15 years agoWrap some lines to fix indentation problems.
Bob Wilson [Fri, 3 Apr 2009 21:08:42 +0000 (21:08 +0000)]
Wrap some lines to fix indentation problems.

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

15 years agoFix some comments.
Bob Wilson [Fri, 3 Apr 2009 20:53:25 +0000 (20:53 +0000)]
Fix some comments.

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

15 years agoDuplicate entry.
Bill Wendling [Fri, 3 Apr 2009 20:32:13 +0000 (20:32 +0000)]
Duplicate entry.

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

15 years ago"This adds a getName() method to TargetRegisterClass, just like in TargetRegisterInfo.
Chris Lattner [Fri, 3 Apr 2009 20:25:41 +0000 (20:25 +0000)]
"This adds a getName() method to TargetRegisterClass, just like in TargetRegisterInfo.
This makes debugging register classes a bit easier."

Patch by Jakob Stoklund Olesen!

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

15 years ago"Add documentation about the fix for missing x86
Chris Lattner [Fri, 3 Apr 2009 20:23:52 +0000 (20:23 +0000)]
"Add documentation about the fix for missing x86
target library in windows under the "Common problems" section."

Patch by Stefanus Du Toit!

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

15 years agoFix a TargetLowering optimization so that it doesn't duplicate
Dan Gohman [Fri, 3 Apr 2009 20:11:30 +0000 (20:11 +0000)]
Fix a TargetLowering optimization so that it doesn't duplicate
loads when an input node has multiple uses.

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

15 years agoAdd fast path for raw_ostream output of strings.
Daniel Dunbar [Fri, 3 Apr 2009 18:43:17 +0000 (18:43 +0000)]
Add fast path for raw_ostream output of strings.
 - Particularly nice for small constant strings, which get optimized
   down nicely. On a synthetic benchmark writing out "hello" in a
   loop, this is about 2x faster with gcc and 3x faster with
   llvm-gcc. llc on insn-attrtab.bc from 403.gcc is about .5% faster.

 - I tried for a fancier solution which wouldn't increase code size as
   much (by trying to match constant arrays), but can't quite make it
   fly.

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

15 years agoCMake: tools/llvm-config/CMakeLists.txt: Use ! instead of comma as
Oscar Fuentes [Fri, 3 Apr 2009 12:16:32 +0000 (12:16 +0000)]
CMake: tools/llvm-config/CMakeLists.txt: Use ! instead of comma as
separator in sed scripts. Resolves Bug 3881.

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

15 years agoCMake: removed IA64AsmPrinter.cpp from lib/Target/IA64/CMakeLists.txt
Oscar Fuentes [Fri, 3 Apr 2009 12:11:43 +0000 (12:11 +0000)]
CMake: removed IA64AsmPrinter.cpp from lib/Target/IA64/CMakeLists.txt

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

15 years agoSeparate MIPS asmprinter
Anton Korobeynikov [Fri, 3 Apr 2009 10:41:41 +0000 (10:41 +0000)]
Separate MIPS asmprinter

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

15 years agoFix target library name
Anton Korobeynikov [Fri, 3 Apr 2009 10:41:17 +0000 (10:41 +0000)]
Fix target library name

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

15 years agoFix comment
Anton Korobeynikov [Fri, 3 Apr 2009 10:41:00 +0000 (10:41 +0000)]
Fix comment

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

15 years agoMove IA64 asmprinter to separate library
Anton Korobeynikov [Fri, 3 Apr 2009 10:38:51 +0000 (10:38 +0000)]
Move IA64 asmprinter to separate library

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

15 years agoAdded a x86 dag combine to increase the chances to use a
Mon P Wang [Fri, 3 Apr 2009 02:43:30 +0000 (02:43 +0000)]
Added a x86 dag combine to increase the chances to use a
movq for v2i64 on x86-32.

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

15 years agoupdate some syntax
Chris Lattner [Fri, 3 Apr 2009 00:29:19 +0000 (00:29 +0000)]
update some syntax

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

15 years agoWork around an apparent GCC miscompilation by specializing different,
Chris Lattner [Fri, 3 Apr 2009 00:26:01 +0000 (00:26 +0000)]
Work around an apparent GCC miscompilation by specializing different,
this fixes a regression on some compilers from r68147.

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

15 years agoDelete ISD::INSERT_SUBREG and ISD::EXTRACT_SUBREG, which are unused.
Dan Gohman [Fri, 3 Apr 2009 00:25:26 +0000 (00:25 +0000)]
Delete ISD::INSERT_SUBREG and ISD::EXTRACT_SUBREG, which are unused.
Note that these are distinct from TargetInstrInfo::INSERT_SUBREG
and TargetInstrInfo::EXTRACT_SUBREG, which are used.

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

15 years agocorrect patch
Chris Lattner [Fri, 3 Apr 2009 00:10:56 +0000 (00:10 +0000)]
correct patch

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

15 years agoadd patch to go along with r68350
Chris Lattner [Fri, 3 Apr 2009 00:10:31 +0000 (00:10 +0000)]
add patch to go along with r68350

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

15 years agouse higher level APIs.
Chris Lattner [Fri, 3 Apr 2009 00:02:39 +0000 (00:02 +0000)]
use higher level APIs.

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

15 years agoadd missing *
Chris Lattner [Thu, 2 Apr 2009 23:53:03 +0000 (23:53 +0000)]
add missing *

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

15 years agoFixed build warnings.
Sanjiv Gupta [Thu, 2 Apr 2009 18:33:12 +0000 (18:33 +0000)]
Fixed build warnings.

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

15 years agoTo convert the StopPoint insn into an assembler directive by ISel, we need to have...
Sanjiv Gupta [Thu, 2 Apr 2009 18:03:10 +0000 (18:03 +0000)]
To convert the StopPoint insn into an assembler directive by ISel, we need to have access to the line number field. So we convert that info as an operand by custom handling DBG_STOPPOINT in legalize.

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

15 years agoParams are not being generated as static globals now. The caller passes them onto...
Sanjiv Gupta [Thu, 2 Apr 2009 17:42:00 +0000 (17:42 +0000)]
Params are not being generated as static globals now. The caller passes them onto the callee's stack directly and the callee loads the argvals from its own stack. Clang generated frameindexes validatd by recalculating the stack as if all frameindexes represent 1-byte slots.

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

15 years agofix overflow checks in SmallVector:
Chris Lattner [Thu, 2 Apr 2009 03:06:26 +0000 (03:06 +0000)]
fix overflow checks in SmallVector:

"The code was doing "if (End+NumInputs > Capacity) ...". If End is
close to 0xFFFFFFFF and NumInputs is large, it'll overflow, the
condition will come out false, and the vector won't grow to
accommodate the new elements, and the program will crash in memmove."

Patch by Jeffrey Yasskin!

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

15 years agoFix build on Linux.
Mikhail Glushenkov [Thu, 2 Apr 2009 01:11:37 +0000 (01:11 +0000)]
Fix build on Linux.

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

15 years agoReapply r68211, with the miscompilations it caused fixed.
Owen Anderson [Wed, 1 Apr 2009 23:53:49 +0000 (23:53 +0000)]
Reapply r68211, with the miscompilations it caused fixed.

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

15 years agoMake the constants fit.
Bill Wendling [Wed, 1 Apr 2009 22:44:18 +0000 (22:44 +0000)]
Make the constants fit.

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

15 years agoClean up pass manager cache after each run.
Devang Patel [Wed, 1 Apr 2009 22:34:41 +0000 (22:34 +0000)]
Clean up pass manager cache after each run.

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

15 years agosilence warning in release-asserts build.
Chris Lattner [Wed, 1 Apr 2009 22:14:45 +0000 (22:14 +0000)]
silence warning in release-asserts build.

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

15 years agoAdd llvm::Triple class for abstracting access to target triples.
Daniel Dunbar [Wed, 1 Apr 2009 21:53:23 +0000 (21:53 +0000)]
Add llvm::Triple class for abstracting access to target triples.
 - The code is silly, I'm just amusing myself. Rewrite to be efficient
   if you like. :)

Also, if you wish to debate the proper names of the triple components
I'm all ears.

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

15 years agoFixed file header comment.
Misha Brukman [Wed, 1 Apr 2009 21:37:19 +0000 (21:37 +0000)]
Fixed file header comment.

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

15 years agoAdded tests for math utility functions; fixed another test's header comment.
Misha Brukman [Wed, 1 Apr 2009 21:36:40 +0000 (21:36 +0000)]
Added tests for math utility functions; fixed another test's header comment.

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

15 years agoFixed spelling.
Misha Brukman [Wed, 1 Apr 2009 21:33:08 +0000 (21:33 +0000)]
Fixed spelling.

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

15 years agoRemove dead code.
Devang Patel [Wed, 1 Apr 2009 21:27:08 +0000 (21:27 +0000)]
Remove dead code.

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

15 years agoadd this to SVN to allow collaborative hacking.
Chris Lattner [Wed, 1 Apr 2009 21:11:04 +0000 (21:11 +0000)]
add this to SVN to allow collaborative hacking.

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

15 years agoAdd range insert method for DenseSet and define DenseMapInfo for chars.
Chris Lattner [Wed, 1 Apr 2009 19:50:49 +0000 (19:50 +0000)]
Add range insert method for DenseSet and define DenseMapInfo for chars.
Patch by Kevin Fan!

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

15 years agoRecognize arm triplets.
Evan Cheng [Wed, 1 Apr 2009 18:54:56 +0000 (18:54 +0000)]
Recognize arm triplets.

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

15 years agoUse CHAR_BIT instead of hard-coding 8 in several places where it
Dan Gohman [Wed, 1 Apr 2009 18:45:54 +0000 (18:45 +0000)]
Use CHAR_BIT instead of hard-coding 8 in several places where it
is appropriate. This helps visually differentiate host-oriented
calculations from target-oriented calculations.

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

15 years agoConstify method to make VC++ happy. Patch by Brian Diekelman!
Ted Kremenek [Wed, 1 Apr 2009 18:24:22 +0000 (18:24 +0000)]
Constify method to make VC++ happy.  Patch by Brian Diekelman!

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

15 years agoUse LLVM type names instead of C type names in comments, to be
Dan Gohman [Wed, 1 Apr 2009 18:10:16 +0000 (18:10 +0000)]
Use LLVM type names instead of C type names in comments, to be
less ambiguous and less C-specific.

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

15 years agoFix PR3862: Recognize some ARM-specific constraints for immediates in inline
Bob Wilson [Wed, 1 Apr 2009 17:58:54 +0000 (17:58 +0000)]
Fix PR3862: Recognize some ARM-specific constraints for immediates in inline
assembly.

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