Commit Graph

64429 Commits

Author SHA1 Message Date
David Goodwin 865c6298d7 Add workaround for <rdar://problem/7098328>.
llvm-svn: 77340
2009-07-28 18:15:38 +00:00
Fariborz Jahanian b77659f4ae Some code cleanup.
llvm-svn: 77339
2009-07-28 18:09:28 +00:00
Chris Lattner ebbbf451c9 fix testcase for previous patch.
llvm-svn: 77338
2009-07-28 18:04:18 +00:00
Daniel Dunbar 6d1e79dded Expose Tokens to target specific assembly parsers.
llvm-svn: 77337
2009-07-28 17:58:44 +00:00
Chris Lattner 513a36b63d Fix PR4639, a ELF-TLS regression from some of my refactoring.
llvm-svn: 77336
2009-07-28 17:57:51 +00:00
Anders Carlsson d5d6413aa5 More CGRecordLayoutBuilder cleanup.
llvm-svn: 77335
2009-07-28 17:56:36 +00:00
Chris Lattner a3242e93b7 the apple "ld_classic" linker doesn't support .literal16 in 32-bit
mode, and "ld64" (the default linker) falls back to it in -static
mode.

llvm-svn: 77334
2009-07-28 17:50:28 +00:00
Fariborz Jahanian 5142fbd02e More work toward data member access ir-gen.
llvm-svn: 77332
2009-07-28 17:38:28 +00:00
Daniel Dunbar bca2105c57 Tweak LLVM emacs style to make default namespace indentation closer to style
guide.

llvm-svn: 77331
2009-07-28 17:34:57 +00:00
Anders Carlsson 32d105d8d4 Add two more tests.
llvm-svn: 77330
2009-07-28 17:14:18 +00:00
David Goodwin e82862e24e Add Thumb-2 patterns for ARMsrl_flag and ARMsra_flag.
llvm-svn: 77329
2009-07-28 17:06:49 +00:00
Daniel Dunbar bc79816f28 Switch AsmLexer::Lex to returning a reference to the current token.
llvm-svn: 77328
2009-07-28 16:56:42 +00:00
David Greene 71ab2fdddd Add reload and remat backscheduling. This is disabled by default. Use
-schedule-spills=true to enable.

llvm-svn: 77327
2009-07-28 16:49:24 +00:00
Chris Lattner 795b63fb65 fix unused variable warning
llvm-svn: 77326
2009-07-28 16:49:19 +00:00
Douglas Gregor 8ce432e9eb Add a template test that requires canonical expression comparison
llvm-svn: 77325
2009-07-28 16:39:54 +00:00
Douglas Gregor 32615a13f4 Fix a typo in a comment
llvm-svn: 77324
2009-07-28 16:39:25 +00:00
Daniel Dunbar ee4465cf82 Drop some AsmLexer methods in favor of their AsmToken equivalents.
llvm-svn: 77323
2009-07-28 16:38:40 +00:00
Daniel Dunbar f2dcd77253 llvm-mc: Sink token enum into AsmToken.
llvm-svn: 77322
2009-07-28 16:08:33 +00:00
Douglas Gregor d9aedfaa5a Profiling the pointer of a canonical type is sufficient to uniquely identify the type
llvm-svn: 77321
2009-07-28 15:32:17 +00:00
Douglas Gregor 4488259d40 Finish profile support for statements.
llvm-svn: 77320
2009-07-28 15:27:13 +00:00
Douglas Gregor a709509f96 Complete profile support for C++ and Objective-C expressions
llvm-svn: 77318
2009-07-28 14:44:31 +00:00
Stefanus Du Toit 5ea6a1f118 Include cmath/math.h in DataTypes.h regardless of whether MSVC is being used.
Fixes MSVC build of LiveInterval.cpp.

Patch by Nicolas Capens.

llvm-svn: 77317
2009-07-28 13:41:07 +00:00
Evan Cheng 12da273f90 tADDrSPI doesn't have a predicate operand, but tADDhirr and tADDi3 have.
llvm-svn: 77305
2009-07-28 07:38:35 +00:00
Nick Lewycky 1b329eb2bf Remove memory corruption bug. string.c_str() was returning a temporary that was
dead before we used it.

llvm-svn: 77304
2009-07-28 06:53:50 +00:00
John McCall 8945266f3d Bounds checking for address spaces.
llvm-svn: 77303
2009-07-28 06:52:18 +00:00
Daniel Dunbar ec5ae3d75a CallExpr's SubExprs sometimes were allocated in the wrong place.
llvm-svn: 77302
2009-07-28 06:29:46 +00:00
Evan Cheng 73a5119675 Code clean up. No functionality changes.
llvm-svn: 77301
2009-07-28 06:24:12 +00:00
Evan Cheng 780748d565 - More refactoring. This gets rid of all of the getOpcode calls.
- This change also makes it possible to switch between ARM / Thumb on a
  per-function basis.
- Fixed thumb2 routine which expand reg + arbitrary immediate. It was using
  using ARM so_imm logic.
- Use movw and movt to do reg + imm when profitable.
- Other code clean ups and minor optimizations.

llvm-svn: 77300
2009-07-28 05:48:47 +00:00
John McCall 7be52a8179 Reimplement QualifierSet using a single word, as requested by dgregor.
llvm-svn: 77299
2009-07-28 05:41:20 +00:00
Argyrios Kyrtzidis f390c43c3c Implement ObjCMethodDecl::getCanonicalDecl().
llvm-svn: 77298
2009-07-28 05:11:17 +00:00
Argyrios Kyrtzidis a56fa19ac6 -Add ObjCCategoryImplDecl::getCategoryClass() which returns the category interface decl.
-Correct ObjCMethodDecl::getNextRedeclaration(); A method in a ObjCCategoryImplDecl should point to
a method in the associated ObjCCategoryDecl, not the ObjCInterfaceDecl.

llvm-svn: 77297
2009-07-28 05:11:05 +00:00
Argyrios Kyrtzidis 2cee40daa7 Use ObjCImplDecl in place of ObjCCategoryImplDecl/ObjCImplementationDecl.
llvm-svn: 77296
2009-07-28 05:10:52 +00:00
Chris Lattner e1a70c964f fix a casting problem on the llvm-x86_64-linux tester
llvm-svn: 77295
2009-07-28 03:20:34 +00:00
Chris Lattner 5e693ed07b Rip all of the global variable lowering logic out of TargetAsmInfo. Since
it is highly specific to the object file that will be generated in the end,
this introduces a new TargetLoweringObjectFile interface that is implemented
for each of ELF/MachO/COFF/Alpha/PIC16 and XCore.

Though still is still a brutal and ugly refactoring, this is a major step
towards goodness.

This patch also:
1. fixes a bunch of dangling pointer problems in the PIC16 backend.
2. disables the TargetLowering copy ctor which PIC16 was accidentally using.
3. gets us closer to xcore having its own crazy target section flags and
   pic16 not having to shadow sections with its own objects.
4. fixes wierdness where ELF targets would set CStringSection but not
   CStringSection_.  Factor the code better.
5. fixes some bugs in string lowering on ELF targets.

llvm-svn: 77294
2009-07-28 03:13:23 +00:00
Chris Lattner 697150ec0c don't copy TargetLowering.
llvm-svn: 77293
2009-07-28 03:05:40 +00:00
Daniel Dunbar 8368f4e8a4 llvm-mc: Factor AsmToken class out of AsmLexer.
llvm-svn: 77292
2009-07-28 03:00:54 +00:00
Mike Stump a4de80b8b1 Make longjmp a real builtin.
llvm-svn: 77291
2009-07-28 02:25:19 +00:00
Dan Gohman 31a9b9880b Teach instcombine to respect and preserve inbounds. Add inbounds
to a few tests where it is required for the expected transformation.

llvm-svn: 77290
2009-07-28 01:40:03 +00:00
Mike Stump 38a579fe5a Fix a small little typo.
llvm-svn: 77289
2009-07-28 01:35:34 +00:00
John McCall caa1945306 Allow functions to be marked "implicit return zero" and so mark main().
Codegen by initializing the return value with its LLVM type's null value.

llvm-svn: 77288
2009-07-28 01:00:58 +00:00
Daniel Dunbar 5cf338ad60 llvm-mc: Stop uniqueing string tokens, nothing actually uses this.
llvm-svn: 77287
2009-07-28 00:58:50 +00:00
Dan Gohman 9ba43abc70 Replace dyn_castGetElementPtr with dyn_cast<GEPOperator>.
llvm-svn: 77286
2009-07-28 00:37:50 +00:00
Dan Gohman a3dcff5900 Grab the LLVMContext and parent Module of SI ahead of the
point where SI can get deleted. This fixes a use of free'd memory.
This fixes Externals/Povray.

llvm-svn: 77285
2009-07-28 00:37:06 +00:00
Douglas Gregor 5c193b9e18 Add a Profile function for statements so that we can (eventually) determine
when statements and expressions are equivalent.

llvm-svn: 77284
2009-07-28 00:33:38 +00:00
Ted Kremenek 0799d4f0bb Only generate preprocessed files during crashes using Clang, not GCC.
llvm-svn: 77281
2009-07-28 00:14:21 +00:00
Ted Kremenek 4c9f161fd5 Fix helper function GetNextStmt() to look for the first statement that has a
valid SourceLocation.

llvm-svn: 77280
2009-07-28 00:07:15 +00:00
Mike Stump 82a9e445b7 Make sure to move the comment with the code.
llvm-svn: 77279
2009-07-28 00:07:08 +00:00
David Goodwin 57b51d9f82 ORN does not require (and can not have) the ".w" suffix. "Orthogonality" is a dirty word at ARM.
llvm-svn: 77275
2009-07-27 23:34:12 +00:00
Mike Stump 4798763e14 Fix a release-asserts warning. Debug functions should be marked used,
if there are no other uses.  If people don't need this routine
anymore, if should be deleted.

llvm-svn: 77274
2009-07-27 23:33:34 +00:00
Dan Gohman a30c0a1b3e Pass true to the Internalize parameter of createStandardLTOPasses,
to match llvm-ld's default behavior.

llvm-svn: 77273
2009-07-27 23:23:47 +00:00