Commit Graph

62888 Commits

Author SHA1 Message Date
Daniel Dunbar 5ae1e029f4 Add --time-tests option to test runner, for profiling 'make test'.
llvm-svn: 75396
2009-07-11 22:46:27 +00:00
Daniel Dunbar 09bb21f80c Fix comment, and reduce computational expense of this test.
- I don't see any need for it to be this expensive.

llvm-svn: 75395
2009-07-11 22:44:48 +00:00
Chris Lattner a797d376de silence vc++ warning.
llvm-svn: 75394
2009-07-11 22:32:37 +00:00
Chris Lattner 2f67295aac silence a vc++ warning.
llvm-svn: 75393
2009-07-11 22:31:59 +00:00
Chris Lattner 056dfc6f90 this test was incorrect for x86-64 static. It passed on darwin, because darwin
doesn't have static x86-64 mode.

llvm-svn: 75392
2009-07-11 22:30:05 +00:00
Daniel Dunbar 8bda49a827 Tweak comment.
llvm-svn: 75391
2009-07-11 22:06:10 +00:00
Daniel Dunbar cfd6800c76 Add -disable-free to this test in the hopes if having it pass on Linux for now.
llvm-svn: 75390
2009-07-11 22:00:53 +00:00
Daniel Dunbar d66cc5c781 Update CMakeLists.txt
llvm-svn: 75389
2009-07-11 21:53:14 +00:00
Daniel Dunbar fd9f712b5f Tweak svn:ignore
llvm-svn: 75387
2009-07-11 21:40:36 +00:00
Daniel Dunbar 9dc326fbaa Fix unused function warning.
llvm-svn: 75386
2009-07-11 21:24:52 +00:00
Daniel Dunbar 7e5f052772 Fix type conversion of ObjCObjectPointerType.
- Previous code was based on a misunderstanding (on my part) of the type
   representation.

llvm-svn: 75385
2009-07-11 21:12:14 +00:00
Nick Lewycky c0bf46b226 Revert r75252 which was causing some crashes at compile time.
llvm-svn: 75384
2009-07-11 20:38:25 +00:00
Daniel Dunbar 9d82da40ec Generate correct prototype for objc_enumerationMutation.
- This was a latent bug exposed by the recent objc type changes.

llvm-svn: 75383
2009-07-11 20:32:50 +00:00
Chris Lattner e91900097e Fix PR4533, which is about buggy codegen in x86-64 -static mode.
Basically, using:
  lea symbol(%rip), %rax

is not valid in -static mode, because the current RIP may not be
within 32-bits of "symbol" when an app is built partially pic and
partially static.  The fix for this is to compile it to:

  lea symbol, %rax

It would be better to codegen this as:

  movq $symbol, %rax

but that will come next.


The hard part of fixing this bug was fixing abi-isel, which was actively
testing for the wrong behavior.  Also, the RUN lines are completely impossible
to understand what they are testing.  To help with this, convert the -static 
x86-64 codegen tests to use filecheck.  This is much more stable and makes it
more clear what the codegen is expected to be.

llvm-svn: 75382
2009-07-11 20:29:19 +00:00
Daniel Dunbar 631a57e30f Fix test case to match intent.
llvm-svn: 75381
2009-07-11 20:17:35 +00:00
Torok Edwin 4eb1ad2086 Fix comment.
llvm-svn: 75380
2009-07-11 20:13:58 +00:00
Torok Edwin 56d0659726 assert(0) -> LLVM_UNREACHABLE.
Make llvm_unreachable take an optional string, thus moving the cerr<< out of
line.
LLVM_UNREACHABLE is now a simple wrapper that makes the message go away for
NDEBUG builds.

llvm-svn: 75379
2009-07-11 20:10:48 +00:00
Daniel Dunbar 3085b57bb8 Stub out assembly matcher (.s -> MCInst) tblgen backend.
llvm-svn: 75378
2009-07-11 19:39:44 +00:00
Mikhail Glushenkov 0decbb2ad0 Regenerate.
llvm-svn: 75376
2009-07-11 19:28:00 +00:00
Mikhail Glushenkov bee767fa26 Update documentation.
llvm-svn: 75375
2009-07-11 19:27:40 +00:00
Mikhail Glushenkov 3c9e8d3b1f Delete the temp dir even when '--temp-dir' is specified.
llvm-svn: 75374
2009-07-11 19:27:07 +00:00
Nick Lewycky fc69ee2cc6 Fix handling of max and full set.
A full set is a constant range that represents any number. If you take the
umax of that and [5, 10) you end up with [5, INT_MAX] because the values less
than 5 would be umax's against a value which is at least 5.

llvm-svn: 75372
2009-07-11 19:22:21 +00:00
Chris Lattner 0029c0e57a improve filecheck's "scanning from here" caret position.
llvm-svn: 75371
2009-07-11 19:21:09 +00:00
Chris Lattner 2c3e5cdf3d make filecheck default to canonicalizing horizontal whitespace
away.  This way you can write a space and it matches arbitrary spaces and tabs.

llvm-svn: 75370
2009-07-11 18:58:15 +00:00
Nick Lewycky 17a4fa84ee Break the world's largest unit test down a few logical lines. No semantic
changes.

llvm-svn: 75369
2009-07-11 18:43:20 +00:00
Nuno Lopes 14ea24e422 restore proper valgrind support.
disclaim: I know nothing about Python, so apologies in advance if I break something

llvm-svn: 75368
2009-07-11 18:34:43 +00:00
Sanjiv Gupta 594006524b Erase the temp dir before starting.
llvm-svn: 75367
2009-07-11 17:35:46 +00:00
Nick Lewycky 9c5fc41547 Clarify and simplify.
llvm-svn: 75366
2009-07-11 17:04:01 +00:00
Alisdair Meredith f6eb60a851 Fix breakage on Windows, cannot redeclare loop variable i in the immediate scope of loop. Rename variable to j.
llvm-svn: 75365
2009-07-11 14:32:10 +00:00
Dan Gohman a32ee1d3f2 Don't use a void return type with a function that returns a value.
llvm-svn: 75364
2009-07-11 13:56:14 +00:00
Torok Edwin ccb29cd290 Convert more assert(0)+abort() -> LLVM_UNREACHABLE,
and abort()/exit() -> llvm_report_error().

llvm-svn: 75363
2009-07-11 13:10:19 +00:00
Chris Lattner 20adc670b2 We get the P modifier wrong in a lot of cases, just add some more rigorous testing.
In addition to fixing this, I still need to do some more testing on darwin.

llvm-svn: 75362
2009-07-11 08:30:22 +00:00
Evan Cheng 017288a4fc Don't put IT instruction before conditional branches.
llvm-svn: 75361
2009-07-11 07:26:20 +00:00
Evan Cheng 0794c6a083 Smarter isel of ldrsb / ldrsh. Only make use of these when [r,r] address is feasible.
llvm-svn: 75360
2009-07-11 07:08:13 +00:00
Evan Cheng cd4cdd1157 Major changes to Thumb (not Thumb2). Many 16-bit instructions either modifies CPSR when they are outside the IT blocks, or they can predicated when in Thumb2. Move the implicit def of CPSR to an optional def which defaults CPSR. This allows the 's' bit to be toggled dynamically.
A side-effect of this change is asm printer is now using unified assembly. There are some minor clean ups and fixes as well.

llvm-svn: 75359
2009-07-11 06:43:01 +00:00
Evan Cheng bf041366c4 80 col violation.
llvm-svn: 75358
2009-07-11 06:37:27 +00:00
Nick Lewycky dcfdce9067 Move a method that creates constant ranges relative to another constant range
per icmp predicate out of predsimplify and into ConstantRange.

Add another utility method that determines whether one range is a subset of
another. Combine with the former to determine whether icmp pred range, range
is known to be true or not.

llvm-svn: 75357
2009-07-11 06:15:39 +00:00
Ted Kremenek da03e8443e Handle insidious corner case exposed by RegionStoreManager when handling void* values that are bound
to symbolic regions and then treated like integers.

llvm-svn: 75356
2009-07-11 04:38:49 +00:00
Zhongxing Xu e00c981feb remove duplicated test cast.
llvm-svn: 75329
2009-07-11 02:33:35 +00:00
Evan Cheng ede2ce71aa Fix up support for OptionalDefOperand when it defaults to an actual register def. I need this to get ready for major Thumb1 surgery.
llvm-svn: 75328
2009-07-11 01:06:50 +00:00
Anders Carlsson 0d14291fbf Fix a test.
llvm-svn: 75327
2009-07-11 01:00:52 +00:00
Ted Kremenek f6f0461a38 Restructure RegionStoreManager::EvalBinOp() as a switch dispatch over different
MemRegion kinds. This allows the compiler to identify what MemRegions we don't
handle for pointer arithmetic.

llvm-svn: 75326
2009-07-11 00:58:27 +00:00
Eli Friedman 55179ca5aa Fix typo (found by gcc warning).
llvm-svn: 75325
2009-07-11 00:57:02 +00:00
Anders Carlsson 43171d6aeb Add another test.
llvm-svn: 75324
2009-07-11 00:55:33 +00:00
Anders Carlsson ae01993a12 Implement more of C++0x 'auto'. A variable with an auto type specifier must have an initializer. Also, move some tests around to match the C++0x draft better.
llvm-svn: 75322
2009-07-11 00:34:39 +00:00
Ted Kremenek f514592197 Fix warning when compiling with optimizations:
warning: ‘OPT’ may be used uninitialized in this function

Now OPT is initialized to NULL. I'm not certain if this is the correct fix;
others please review.

llvm-svn: 75321
2009-07-11 00:21:48 +00:00
Eli Friedman 106f2885d1 Use CreateStackStoreLoad helper in more places.
llvm-svn: 75320
2009-07-11 00:11:07 +00:00
Ted Kremenek 156700fd14 This test passes with RegionStoreManager.
llvm-svn: 75318
2009-07-11 00:07:06 +00:00
Evan Cheng b4dfce2dba Two-address pass should use findCommutedOpIndices to determine what registers are commuted.
llvm-svn: 75317
2009-07-11 00:04:23 +00:00
Ted Kremenek 74a7b9188a This test now passes with RegionStoreManager.
llvm-svn: 75316
2009-07-11 00:03:23 +00:00