Commit Graph

70459 Commits

Author SHA1 Message Date
Jim Grosbach 05536f50dc Conditionalize ARM/T2 frame index post-scavenging while working out fixes
for a few bugs.

llvm-svn: 84791
2009-10-21 22:59:24 +00:00
Benjamin Kramer b378347796 Simplify code. No intended functionality change.
llvm-svn: 84790
2009-10-21 22:55:51 +00:00
Mike Stump f23b0ead3d Turn on the preallocation of all BlockDeclRefExprs.
llvm-svn: 84789
2009-10-21 22:02:08 +00:00
Douglas Gregor b8440a76c4 Don't generate pointer types for void or base classes when finding
conversion types for builtin overloaded operator candidates; I misread
this section in the standard the first time around.

llvm-svn: 84788
2009-10-21 22:01:30 +00:00
Mike Stump 066b616684 Refine collection of BlockDeclRefExprs. WIP.
llvm-svn: 84787
2009-10-21 22:01:24 +00:00
Devang Patel 2505c1e17a Use StringRef.
llvm-svn: 84786
2009-10-21 21:57:13 +00:00
Bob Wilson 854530a7dd Most of the NEON shuffle instructions do not support 64-bit element types.
llvm-svn: 84785
2009-10-21 21:36:27 +00:00
Devang Patel 49914e6eb3 Do not use SmallVector to store MDNode elements.
llvm-svn: 84784
2009-10-21 21:25:09 +00:00
Anton Korobeynikov b45d621ab1 Revert r84764, it breaks mingw build
llvm-svn: 84783
2009-10-21 21:15:18 +00:00
Bill Wendling 08f9e23fac XFAIL this test for PPC.
llvm-svn: 84782
2009-10-21 21:09:48 +00:00
Benjamin Kramer 961b4e3edb Driver: don't produce bogus osx version numbers if no version (aka 0) was specified.
llvm-svn: 84781
2009-10-21 21:05:07 +00:00
Fariborz Jahanian b25817ac1f Expand on code gen. for pointer to data members so it works
for base classe members as well. Test case enhanced for this.

llvm-svn: 84780
2009-10-21 21:01:47 +00:00
Jim Grosbach a93ca3c637 Improve handling of immediates by splitting 32-bit immediates into two 16-bit
immediate operands when they will fit into the using instruction.

llvm-svn: 84778
2009-10-21 20:44:34 +00:00
Benjamin Kramer 53b4041151 Force triple; this test was failing on non-darwin platforms due to different
asm comment styles (## vs #).

llvm-svn: 84777
2009-10-21 19:59:43 +00:00
Anton Korobeynikov 9e92857b38 Add DAG printing for RMW stuff debugging
llvm-svn: 84776
2009-10-21 19:18:28 +00:00
Anton Korobeynikov ccfa3e31f7 RMW preprocessing stuff was incorrect. Grab the stuff from x86 backend and disable some tests until it will be clever enough to handle them.
llvm-svn: 84775
2009-10-21 19:17:55 +00:00
Anton Korobeynikov 5399c2d05e Implement branch folding
llvm-svn: 84774
2009-10-21 19:17:18 +00:00
Anton Korobeynikov 2983dcb1f2 Cosmetic changes, no functionality changes
llvm-svn: 84773
2009-10-21 19:16:49 +00:00
Victor Hernandez be9e179104 Make changes to rev 84292 as requested by Chris Lattner.
Most changes are cleanup, but there is 1 correctness fix:
I fixed InstCombine so that the icmp is removed only if the malloc call is removed (which requires explicit removal because the Worklist won't DCE any calls since they can have side-effects).

llvm-svn: 84772
2009-10-21 19:11:40 +00:00
Fariborz Jahanian 4ebdff5e1c Code gen for pointer-to-datamember - WIP.
llvm-svn: 84771
2009-10-21 18:38:00 +00:00
Mike Stump 945fec05dd Fix typo.
llvm-svn: 84770
2009-10-21 18:24:18 +00:00
Mike Stump 41eb02d496 Refactor.
llvm-svn: 84769
2009-10-21 18:23:01 +00:00
Mike Stump 9496790211 Complete out debug info generation for captured __block variables. WIP.
llvm-svn: 84768
2009-10-21 18:16:27 +00:00
Bob Wilson 0db964a3a0 Fix NEON VST2LN instruction encoding.
Patch by Johnny Chen.

llvm-svn: 84767
2009-10-21 17:54:01 +00:00
Bob Wilson 87671da29a Revert 84732. It was the wrong fix.
llvm-svn: 84766
2009-10-21 17:52:34 +00:00
Devang Patel 3eb5d33b65 Incorporate various suggestions Chris gave during metadata review.
- i < getNumElements()  instead of getNumElements() > i
- Make setParent() private
- Fix use of resizeOperands
- Reset HasMetadata bit after removing all metadata attached to an instruction
- Efficient use of iterators

llvm-svn: 84765
2009-10-21 17:33:41 +00:00
Sanjiv Gupta c5804f3cb6 Build shared lib instead of an archive.
llvm-svn: 84764
2009-10-21 17:27:23 +00:00
Anders Carlsson fcb4ab4420 Change FixOverloadedFunctionReference to return a (possibly new) expression. Substitute TemplateIdRefExprs with DeclRefExprs. Doug, plz review :)
llvm-svn: 84763
2009-10-21 17:16:23 +00:00
Douglas Gregor 26b9178a50 Downgrade "function declared 'noreturn' should not return" from an
error (by default) to a warning, per C++0x [dcl.attr.noreturn]. Patch
from Sean Hunt!

llvm-svn: 84762
2009-10-21 15:46:01 +00:00
Jim Grosbach bc30143451 Cleanup of frame index scavenging. Better code flow and more accurately
handles T2 and ARM use cases.

llvm-svn: 84761
2009-10-21 15:26:21 +00:00
Steve Naroff 20bad0b7c6 Extend clang_getCursor() to take a 'relativeDecl' argument (so speed up searching). Without a 'relativeDecl', the algorithm is n-squared. For example, running the following command on 'Large.m' takes hours without a 'relatvieDecl'.
snaroff% time ../../Debug/bin/c-index-test Large.ast all > Large.out
snaroff% cat Large.m
#import <Cocoa/Cocoa.h>
#import <QuickTime/QuickTime.h>
#import <OpenGL/OpenGL.h>

With a 'relativeDecl', it takes <30 seconds:-)

llvm-svn: 84760
2009-10-21 13:56:23 +00:00
Oscar Fuentes 45f99d6621 Two corrections for docs/CMake.html.
Patch by Victor Zverovich!

llvm-svn: 84759
2009-10-21 13:22:20 +00:00
Edward O'Callaghan 437ec1ed6e Add AuroraUX ABI Triple in correct place.
llvm-svn: 84758
2009-10-21 11:58:24 +00:00
Zhongxing Xu 2ebee13ff2 Simplify some code. No functionality change.
llvm-svn: 84757
2009-10-21 11:42:22 +00:00
Torok Edwin 1539a352a6 Fix PR5262: when folding select into PHI, make sure all operands are available
in the PHI's Basic Block. This uses a conservative approach, because we don't
have dominator info in instcombine.

llvm-svn: 84754
2009-10-21 10:49:00 +00:00
Sanjiv Gupta 47ea743618 Add a pass to overlay pic16 data sections for function frame and automatic
variables. This pass can be invoked by llvm-ld or opt to traverse over the call graph 
to detect what function frames and their automatic variables can be overlaid.
Currently this builds an archive , but needs to be changed to a loadable module.

llvm-svn: 84753
2009-10-21 10:42:44 +00:00
Sanjiv Gupta d6e77d004a Added more options to mcc16 driver.
llvm-svn: 84752
2009-10-21 10:38:59 +00:00
Evan Cheng 786b15fe12 Match more patterns to movt.
llvm-svn: 84751
2009-10-21 08:15:52 +00:00
Ted Kremenek 7fd48d8549 Update checker build.
llvm-svn: 84750
2009-10-21 08:00:24 +00:00
Evan Cheng f781bd8947 Need a comma after imp-use.
llvm-svn: 84749
2009-10-21 07:56:02 +00:00
Chris Lattner 72cdcacb02 add helpful methods to TargetInfo for querying builtin integer type properties,
patch by Ken Dyck!

llvm-svn: 84746
2009-10-21 06:24:21 +00:00
Douglas Gregor 74ba25ca5a Improve diagnostics and template instantiation behavior when calling
an overloaded function call operator.

llvm-svn: 84745
2009-10-21 06:18:39 +00:00
Douglas Gregor 05f77d5006 De-bork CMake build
llvm-svn: 84744
2009-10-21 06:01:54 +00:00
Chris Lattner 439fa3eddd Set comment string, patch by Johnny Chen!
llvm-svn: 84743
2009-10-21 05:07:57 +00:00
Chris Lattner 6720492c39 hookize wint_t's definition, patch by Edward O'Callaghan (from PR5233).
llvm-svn: 84740
2009-10-21 04:59:34 +00:00
Chris Lattner 8ed7bef409 make GVN work better when TD is not around:
"In the existing code, if the load and the value to replace it with are
of different types *and* target data is available, it tries to use the
target data to coerce the replacement value to the type of the load.
Otherwise, it skips all effort to handle the type mismatch and just
feeds the wrongly-typed replacement value to replaceAllUsesWith, which
triggers an assertion.

The patch replaces it with an outer if checking for type mismatch, and
an inner if-else that checks whether target data is available and, if
not, returns false rather than trying to replace the load."

Patch by Kenneth Uildriks!

llvm-svn: 84739
2009-10-21 04:11:19 +00:00
Chris Lattner 175d04c90f tidy
llvm-svn: 84738
2009-10-21 04:10:24 +00:00
Mike Stump 7fe9cc1dd5 Prep work to always preallocate BlockDeclRefExprs so that we can
generate the debug information for the first parameter to the block
invoke functions.  WIP.

llvm-svn: 84737
2009-10-21 03:49:08 +00:00
John McCall b879435493 Revert those last two commits. Beware the treacherous semicolon.
llvm-svn: 84736
2009-10-21 03:40:01 +00:00
John McCall fb81159c30 Preserve type source information when substituting into ParmVarDecls.
Apparently I'm grinding my commit count.

llvm-svn: 84735
2009-10-21 02:50:40 +00:00