Commit Graph

61246 Commits

Author SHA1 Message Date
Owen Anderson ff5f14c15e Fix bad paste-o in the MSVC atomics.
Patch by Иван Сорокин.

llvm-svn: 73779
2009-06-19 18:37:50 +00:00
Owen Anderson 59ba814f39 Forgot to remove some explicit locking when it became implicit in the ValueMap.
llvm-svn: 73778
2009-06-19 18:34:09 +00:00
Owen Anderson 383f7b1f08 Fences are expensive. Avoid doing them when we're not in multithreaded mode.
llvm-svn: 73777
2009-06-19 17:50:11 +00:00
Dan Gohman b9063a84ce Make ScalarEvolution::print print getSCEVAtScope values for
expressions, when interesting.

llvm-svn: 73776
2009-06-19 17:49:54 +00:00
Owen Anderson 81241a37fa Move the memory fences out of the path for single-threaded mode.
llvm-svn: 73775
2009-06-19 17:45:12 +00:00
Dan Gohman 2199dbc5ff Don't (unconditionally) use getSCEVAtScope to simplify the step
expression in IVUsers, because in the case of a use of a non-linear
addrec outside of a loop, this causes the addrec to be evaluated as
a linear addrec.

llvm-svn: 73774
2009-06-19 17:33:15 +00:00
Owen Anderson ff967be708 Fix incorrect comment pointed out by Duncan.
llvm-svn: 73773
2009-06-19 17:20:50 +00:00
Bob Wilson 646ac6ac8a Clean up nightly tester to use Perl's File::Find.
Patch by Benjamin Kramer.

llvm-svn: 73772
2009-06-19 17:19:38 +00:00
Ted Kremenek c55f0cdaa0 Remove more GetSVal/GetLValue methods in GRExprEngine/GRState, instead
preferring to use their replacements in GRState. This further unifies the code
paths for such logic and leads to some code reduction.

llvm-svn: 73771
2009-06-19 17:10:32 +00:00
Owen Anderson c4baa9b64d Fix a major typo.
Nicolas, this is probably the cause of the failures you were seeing.

llvm-svn: 73770
2009-06-19 17:08:20 +00:00
Chris Lattner d0a363e03b make jump threading handle lexically identical compare instructions
as if they were multiple uses of the same instruction.  This interacts
well with the existing loadpre that j-t does to open up many new jump
threads earlier.

llvm-svn: 73768
2009-06-19 16:27:56 +00:00
Chris Lattner 3773afe931 fix the sparc codegen to not depend on the sparc asmprinter.
llvm-svn: 73767
2009-06-19 15:48:10 +00:00
Duncan Sands 0de39b42ff Add support for AuroraUX. Patch by evocallaghan.
llvm-svn: 73766
2009-06-19 14:40:01 +00:00
Duncan Sands e532b557c4 Since -Wno-long-long is ignored without -pedantic,
place it with -pedantic.  Remove -Wunused since it
is implied by -Wall.  Group -Wno-unused-parameter
with -Wall -W since it is the combination of these
two that turns on -Wunused-parameter.

llvm-svn: 73765
2009-06-19 12:40:30 +00:00
Argyrios Kyrtzidis e55f6ff3de Fix bug in the new PCHReader constructor. PP and Context should be initialized to 0.
llvm-svn: 73762
2009-06-19 07:55:35 +00:00
Evan Cheng d305869ca2 Add comments.
llvm-svn: 73761
2009-06-19 07:06:07 +00:00
Eli Friedman 2fc939c809 Fix for PR2484: add an SSE1 pattern for a shuffle we normally prefer to
handle with an SSE2 instruction.

llvm-svn: 73760
2009-06-19 07:00:55 +00:00
Evan Cheng 1592035e67 Should be using Bcc (average) latency to determine if-conversion threshold, not BL.
llvm-svn: 73759
2009-06-19 06:56:26 +00:00
Argyrios Kyrtzidis 0ec73555a8 Tiny correction on the command-line source location parser.
llvm-svn: 73758
2009-06-19 06:32:46 +00:00
Eli Friedman 495d02f4a6 Minor cleanup; fixes review comments for a previous patch. Sorry for
taking so long to get to this!

llvm-svn: 73757
2009-06-19 06:01:55 +00:00
Zhongxing Xu 54fb536b5c A further step of r73690: associate the cast-to type with the created symbol,
because the type of the symbol is used to create the default range. We need the
sign to be consistent.

llvm-svn: 73756
2009-06-19 06:00:32 +00:00
Nick Lewycky 77585a24ac Teach jump threading to look at comparisons between phi nodes and non-constants.
llvm-svn: 73755
2009-06-19 04:56:29 +00:00
Zhongxing Xu cc45762253 If the SymbolicRegion was cast to another type, use that type to create the
ElementRegion.

llvm-svn: 73754
2009-06-19 04:51:14 +00:00
Eli Friedman 707cbc4126 Misc tweaks to Intel asm printing to make it more compatible with MASM.
Patch by Benedict Gaster.

llvm-svn: 73753
2009-06-19 04:48:38 +00:00
Chris Lattner 5ca4197829 Improve tail call elim to move loads above readonly calls
when it allows forming a tail call.  Patch by Frits van
Bommel.  This implements PR4323.

llvm-svn: 73752
2009-06-19 04:22:16 +00:00
Chris Lattner 87a222c5c8 part of PR4405: disable a contentious optimization for
strcmp -> memcmp when the lengths of the strings are unknown.

Patch by Nick Lewycky!

llvm-svn: 73751
2009-06-19 04:17:36 +00:00
Lang Hames 6b2c960cc4 More VNInfo tweaking, plus a little progress on intra-block splitting.
llvm-svn: 73750
2009-06-19 02:17:53 +00:00
Evan Cheng 5d8df7ff34 Transfer dead markers when a ldrd is changed into a ldm or a pair of ldr.
llvm-svn: 73749
2009-06-19 01:59:04 +00:00
Zhongxing Xu db371e376d Include DataTypes.h for 'uint64_t'.
llvm-svn: 73748
2009-06-19 01:56:53 +00:00
Evan Cheng 4e712de541 Latency information for ARM v6. It's rough and not yet hooked up. Right now we are only using branch latency to determine if-conversion limits.
llvm-svn: 73747
2009-06-19 01:51:50 +00:00
Eli Friedman d984158320 Mark a few Thumb instructions commutable; just happened to spot this
while experimenting.  I'm reasonably sure this is correct, but please 
tell me if these instructions have some strange property which makes this
change unsafe.

llvm-svn: 73746
2009-06-19 01:43:08 +00:00
Owen Anderson 60502b9ba0 Fix weird class-size-being-different problems. At some level this is being caused by config.h not being
included everywhere.

llvm-svn: 73745
2009-06-19 00:48:22 +00:00
Chris Lattner a08186aabc add a file I missed, this goes with r73743
llvm-svn: 73744
2009-06-19 00:47:59 +00:00
Chris Lattner 3235c38dbb Add some scaffolding for a new experimental asmprinter
implementation.  The idea is that we want asmprinting to
work by converting MachineInstrs into a new MCInst class,
then the per-instruction asmprinter works on MCInst.  MCInst
and the new asmprinters will not depend on most of the 
llvm code generators.  This allows building diassemblers
that don't link in the whole llvm code generator.  This is
step #1 of many.

llvm-svn: 73743
2009-06-19 00:47:33 +00:00
Chris Lattner 8284b66264 merge the common darwin settings from the X86/PPC/ARM targets
into DarwinTargetAsmInfo.cpp.  The remaining differences should
be evaluated.  It seems strange that x86/arm has .zerofill but ppc
doesn't, etc.

llvm-svn: 73742
2009-06-19 00:08:39 +00:00
Argyrios Kyrtzidis 366985d5eb Make changes to PCHReader to allow reading a PCH file without having a pre-initialized Preprocessor.
-Introduce 'PCHReaderListener' which is an abstract interface for getting various information from the PCHReader.
-If PCHReader is constructed without a Preprocessor, it can still load the file and invoke the callbacks of PCHReaderListener.
-If PCHReader is constructed with an initialized Preprocessor, PCHValidator is used as a PCHReaderListener to validate the contents of the PCH file against the given Preprocessor.

llvm-svn: 73741
2009-06-19 00:03:23 +00:00
Ted Kremenek 095f1a9848 Move clients over from using GRStateManager::BindXXX and friends to
GRState->bindXXX and friends (and constify some arguments along the way).

llvm-svn: 73740
2009-06-18 23:58:37 +00:00
Chris Lattner 2cce7d5988 fix build problem pointed out by John Thompson!
llvm-svn: 73739
2009-06-18 23:46:04 +00:00
Chris Lattner b84764516d move mangler quote handling from asm printers to TargetAsmInfo.
llvm-svn: 73738
2009-06-18 23:41:35 +00:00
Chris Lattner 4df8e5c800 minor cleanup
llvm-svn: 73737
2009-06-18 23:33:13 +00:00
Chris Lattner 09081b25a5 simplify macro debug info directive handling.
llvm-svn: 73736
2009-06-18 23:31:37 +00:00
Ted Kremenek 4c6a367182 Remove GRStateManager& field from SimpleConstraintManager.
llvm-svn: 73735
2009-06-18 23:20:05 +00:00
Evan Cheng a0ca298f8a Remove UseThumbBacktraces. Just check if subtarget is darwin.
llvm-svn: 73734
2009-06-18 23:14:30 +00:00
Chris Lattner c7ab953177 fix file header
llvm-svn: 73733
2009-06-18 23:05:21 +00:00
Chris Lattner 8dd8a52533 Add a skeleton driver for new machine code level fun. llvm-mc is meant
to be a test driver of other components in the system, which will develop
over time.

llvm-svn: 73732
2009-06-18 23:04:45 +00:00
Ted Kremenek f9906843b7 libAnalysis:
- Remove the 'isFeasible' flag from all uses of 'Assume'.
- Remove the 'Assume' methods from GRStateManager.  Now the only way to
  create a new GRState with an assumption is to use the new 'assume' methods
  in GRState.

llvm-svn: 73731
2009-06-18 22:57:13 +00:00
Chris Lattner fb8097b576 new testcase for rdar://6983634
llvm-svn: 73729
2009-06-18 22:53:26 +00:00
Owen Anderson 38830b19e9 Add a parent pointer to SCEV, in preparation for getting rid of the global uniquing tables. No functionality change.
llvm-svn: 73728
2009-06-18 22:25:12 +00:00
Lang Hames 32270cc78e Improved PHI def marking, replaced some gotos with breaks.
llvm-svn: 73727
2009-06-18 22:01:47 +00:00
Evan Cheng 032bc36939 Allow user to specify separate SVN url for llvm and the test suite.
llvm-svn: 73726
2009-06-18 21:39:50 +00:00