Commit Graph

48291 Commits

Author SHA1 Message Date
Eli Friedman
baf7e04afa Fix comment.
llvm-svn: 75499
2009-07-13 20:58:59 +00:00
Owen Anderson
1e5155161a Move more functionality over to LLVMContext.
llvm-svn: 75497
2009-07-13 20:58:05 +00:00
Dan Gohman
1a780ad8db Move the memoization check for SCEVSignExtendExpr and
SCEVZeroExtendExpr ahead of the most expensive analysis. This
speeds up analysis and helps avoid pathologically bad behavior
on the testcase in PR4534.

llvm-svn: 75496
2009-07-13 20:55:53 +00:00
Eli Friedman
832f33550c Don't bother to call commonIntCastTransforms for bitcasts; int->int
bitcasts will always be eliminated anyway.

llvm-svn: 75495
2009-07-13 20:53:00 +00:00
Dan Gohman
bf3719359b Convert SCEV from FoldingSetNode to FastFoldingSetNode. This eliminates
a bunch of redundent code in Profile methods, and prepares for upcoming
changes to do improved memoization.

llvm-svn: 75494
2009-07-13 20:50:19 +00:00
Dan Gohman
19222a6572 Delete a spurious const.
llvm-svn: 75493
2009-07-13 20:46:11 +00:00
Bill Wendling
d7ca276d9f Reverted r75484. It was causing a failure with Apple-style builds.
llvm-svn: 75491
2009-07-13 20:27:41 +00:00
David Greene
814f6a648f Add infrastructure to allow post instruction printing action triggers.
We'll eventually use this to print comments in asm files and do other
fun things.

This adds interfaces to the AsmPrinter and changes TableGen to invoke
the postInstructionAction when appropriate.  It also add parameters to
TargetAsmInfo to control comment layout.

llvm-svn: 75490
2009-07-13 20:25:48 +00:00
Chris Lattner
adc834d034 Add NetBSD to the Triple class, patch by Krister Walfridsson!
llvm-svn: 75489
2009-07-13 20:22:23 +00:00
Bill Wendling
1f26277c9b More standard way of specifying greater than Leopard.
llvm-svn: 75488
2009-07-13 20:18:43 +00:00
Bill Wendling
4ef26e9b22 On greater than Leopard systems, place exception tables in the __TEXT section.
llvm-svn: 75484
2009-07-13 18:48:39 +00:00
Daniel Dunbar
d86bb86bd3 Makefile rules for generating assembly matcher.
- Unused, fear not cmakers.

llvm-svn: 75483
2009-07-13 18:35:35 +00:00
Dan Gohman
21f79b4239 Change printInstruction to not print a trailing newline. Value::dump
always adds a newline, so this fixes Value::dump printing an
extra blank line.

llvm-svn: 75481
2009-07-13 18:27:59 +00:00
Dan Gohman
9a19e608d4 Add an optional optimization to FoldingSet to allow ID values to be
stored rather than recomputed on each bucket traversal.

llvm-svn: 75480
2009-07-13 18:25:44 +00:00
Bob Wilson
e0478ff8e5 Fix comment typos.
llvm-svn: 75479
2009-07-13 18:11:36 +00:00
Chris Lattner
11cf698cf7 factor the 'optimized sort' code out into a static helper function
and use it from one more place.  Patch by Jakub Staszak!

llvm-svn: 75478
2009-07-13 17:20:05 +00:00
Chris Lattner
b4bd955891 Move the re-sort of invalidated NonLocalPointerDeps cache earlier
so that all code paths get it.  PR4256 was about a case where the
phi translation loop would find all preds in the Visited cache, so
it could get by without re-sorting the NonLocalPointerDeps cache.
Fix this by resorting it earlier, there is no reason not to do this.

This patch inspired by Jakub Staszak's patch.

llvm-svn: 75476
2009-07-13 17:14:23 +00:00
David Greene
0dbe5b0a97 Make some more changes suggested by Chris. Manipulators go away.
llvm-svn: 75472
2009-07-13 16:49:27 +00:00
Sanjiv Gupta
afb0db5554 Added a fixme for platform specific GetDirSeparator().
llvm-svn: 75461
2009-07-13 10:58:55 +00:00
Sanjiv Gupta
2a0e3440ff allow mcc16 users to specify --save-temps even though it is hidden by mcc16.
link libstd.so with llvm-ld by default with all the programs user is trying to build.

llvm-svn: 75460
2009-07-13 10:56:29 +00:00
Daniel Dunbar
060ce73124 Match declaration to definition (missed a few).
llvm-svn: 75456
2009-07-13 06:04:06 +00:00
Daniel Dunbar
cf2cfb50d3 Match declaration to definition.
llvm-svn: 75454
2009-07-13 06:00:13 +00:00
Nick Lewycky
673f3dbbd7 Fix build on Linux.
llvm-svn: 75453
2009-07-13 05:49:04 +00:00
Daniel Dunbar
fdc557472e Fix some non-sensical code.
- This makes it more like other similar code in Archive handling.

llvm-svn: 75452
2009-07-13 05:29:34 +00:00
Daniel Dunbar
8338833066 Switch to raw_ostream.
llvm-svn: 75451
2009-07-13 05:27:30 +00:00
Lang Hames
c1b01a178f Removed some junk code that snuck in to an earlier commit.
llvm-svn: 75450
2009-07-13 05:01:19 +00:00
Nick Lewycky
0cc1d245c4 Fix an error in ConstantRange::getSignedMax on wrapped ranges. Thanks once
again to Daniel Dunbar and KLEE!

llvm-svn: 75449
2009-07-13 04:50:21 +00:00
Nick Lewycky
41a9bdab7b 'i8 full-range' sign extended to i16 should equal [-128, 128) not [-128, 127).
Found by Daniel Dunbar and KLEE.

llvm-svn: 75448
2009-07-13 04:17:23 +00:00
Owen Anderson
393d8b0a0c Begin the painful process of tearing apart the rat'ss nest that is Constants.cpp and ConstantFold.cpp.
This involves temporarily hard wiring some parts to use the global context.  This isn't ideal, but it's
the only way I could figure out to make this process vaguely incremental.

llvm-svn: 75445
2009-07-13 04:09:18 +00:00
Nick Lewycky
fee90bcb80 Multiply was very wrong for wrapped ranges. This supplies a half-fix that will
generally return Full on all wrapped inputs. "Fixes" PR4545.

llvm-svn: 75444
2009-07-13 03:27:41 +00:00
Nick Lewycky
7280c39dc7 Fix a bug summing two full sets. The overflow checking doesn't handle sets as
large as the full set, only those one size smaller. Thanks to Daniel Dunbar
who found this bug using Klee!

llvm-svn: 75443
2009-07-13 02:49:08 +00:00
Daniel Dunbar
c6592df02d Match declaration to definition.
llvm-svn: 75440
2009-07-12 23:50:34 +00:00
Daniel Dunbar
e79e475000 Match declaration to definition.
llvm-svn: 75438
2009-07-12 22:46:08 +00:00
Chris Lattner
b8dac327a7 remove tests for removed intrinsics.
llvm-svn: 75433
2009-07-12 21:30:06 +00:00
Chris Lattner
d3eba0efb8 remove llvm.part.set.* and llvm.part.select.*. They have never been
implemented in codegen, have no frontend to generate them, and are 
better implemented with pattern matching (like the ppc backend does
to generate rlwimi/rlwinm etc).

PR4543

llvm-svn: 75430
2009-07-12 21:08:53 +00:00
Daniel Dunbar
4aa12d4330 Use llvm_report_error, not llvm_unreachable.
llvm-svn: 75429
2009-07-12 21:01:49 +00:00
Torok Edwin
d2f2458584 Mention that llvm_report_error() does not return.
llvm-svn: 75428
2009-07-12 21:01:44 +00:00
Daniel Dunbar
b9b0e0fc3d Add an LLVM API change.
llvm-svn: 75426
2009-07-12 20:41:27 +00:00
Daniel Dunbar
995f9a8a15 Improve sys::Path::makeAbsolute on Win32.
- Patch by Viktor Kutuzov!

 - Minor tweak by me to add llvm_unreachable calls on FIXMEd error paths.

llvm-svn: 75424
2009-07-12 20:23:56 +00:00
Torok Edwin
67153904ec Fix assert(0) conversion, as suggested by Chris.
llvm-svn: 75423
2009-07-12 20:07:01 +00:00
Daniel Dunbar
29416147f7 Clarify a FIXME.
llvm-svn: 75422
2009-07-12 19:45:34 +00:00
Chris Lattner
cf99e77cc3 "UNIX paths can contain non-ASCII characters, so Path::isValid() should not reject paths with such characters in them. The attached patch removes the check from Path::isValid()."
patch by Benjamin Kramer!

llvm-svn: 75421
2009-07-12 19:01:16 +00:00
Jakob Stoklund Olesen
8511b1d5ad Implement support for promotion of AND/OR/XOR on integer types.
The blackfin processor has a legal i16 type, but only logic operations on i32.

llvm-svn: 75419
2009-07-12 18:10:18 +00:00
Jakob Stoklund Olesen
2792392244 Fix types in PromoteNode handling of CTPOP and friends.
llvm-svn: 75418
2009-07-12 17:43:20 +00:00
Jakob Stoklund Olesen
3f85980927 Add CCIfSRet calling convention predicate.
The blackfin calling convention uses a different register for sret arguments.

llvm-svn: 75417
2009-07-12 13:15:50 +00:00
Torok Edwin
62902fd6c8 Remove extra \n from LLVM_UNREACHABLE calls.
llvm-svn: 75416
2009-07-12 07:15:17 +00:00
Nick Lewycky
31db02e0ba Make this clearer for the mathematically inclined. Thanks to Duncan Sands for
going over the text!

llvm-svn: 75414
2009-07-12 05:44:08 +00:00
Nick Lewycky
dc5ef94320 Implement udiv for ConstantRanges.
llvm-svn: 75413
2009-07-12 05:18:18 +00:00
Bill Wendling
dcf4c8e237 Temporarily revert r75408. It appears to break the Apple-style builds:
x86_64-apple-darwin10-gcc -c   -g -O2  -DIN_GCC   -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Wold-style-definition -Wmissing-format-attribute   -mdynamic-no-pic -DHAVE_CONFIG_H -I. -I. -I/Volumes/Sandbox/Buildbot/llvm/build.llvm-gcc-x86_64-darwin10-selfhost/build/llvmgcc42.roots/llvmgcc42~obj/src/gcc -I/Volumes/Sandbox/Buildbot/llvm/build.llvm-gcc-x86_64-darwin10-selfhost/build/llvmgcc42.roots/llvmgcc42~obj/src/gcc/. -I/Volumes/Sandbox/Buildbot/llvm/build.llvm-gcc-x86_64-darwin10-selfhost/build/llvmgcc42.roots/llvmgcc42~obj/src/gcc/../include -I./../intl -I/Volumes/Sandbox/Buildbot/llvm/build.llvm-gcc-x86_64-darwin10-selfhost/build/llvmgcc42.roots/llvmgcc42~obj/src/gcc/../libcpp/include  -I/Volumes/Sandbox/Buildbot/llvm/build.llvm-gcc-x86_64-darwin10-selfhost/build/llvmgcc42.roots/llvmgcc42~obj/src/gcc/../libdecnumber -I../libdecnumber -I/Volumes/Sandbox/Buildbot/llvm/build.llvm-gcc-x86_64-darwin10-selfhost/build/llvmCore.roots/llvmCore~dst/Developer/usr/local/include -I/Volumes/Sandbox/Buildbot/llvm/build.llvm-gcc-x86_64-darwin10-selfhost/build/llvmCore.roots/llvmCore~obj/src/include -DENABLE_LLVM -I/Volumes/Sandbox/Buildbot/llvm/build.llvm-gcc-x86_64-darwin10-selfhost/build/llvmCore.roots/llvmCore~dst/Developer/usr/local/include  -D_DEBUG  -D_GNU_SOURCE -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -DLLVM_VERSION_INFO='"9999"' -DBUILD_LLVM_APPLE_STYLE   /Volumes/Sandbox/Buildbot/llvm/build.llvm-gcc-x86_64-darwin10-selfhost/build/llvmgcc42.roots/llvmgcc42~obj/src/gcc/tree-ssa-alias.c -o tree-ssa-alias.o
/var/tmp//ccJQ2JBT.s:4134:Incorrect register `%rcx' used with `l' suffix
make[2]: *** [tree-ssa-live.o] Error 1
make[2]: *** Waiting for unfinished jobs....

llvm-svn: 75412
2009-07-12 02:49:22 +00:00
Nick Lewycky
7cb010e885 This is not overly conservative.
Some = [10, 2730). A subset of that is [1024..2048) which covers every possible
10-bit pattern.

llvm-svn: 75411
2009-07-12 02:28:40 +00:00