Commit Graph

52465 Commits

Author SHA1 Message Date
Devang Patel
3b3d8a9d09 Existence of a compile unit for input source file is a good indicator to check debug info's presence in a module.
llvm-svn: 83348
2009-10-06 00:03:14 +00:00
Devang Patel
f129b0d44f If subprogram die is not available then construct new one.
This can happen if debug info is processed lazily.

llvm-svn: 83347
2009-10-05 23:59:00 +00:00
Jeffrey Yasskin
4b0dd74b7f Add a test for http://llvm.org/PR3043.
llvm-svn: 83346
2009-10-05 23:51:08 +00:00
Devang Patel
dff583ac49 Adjust context for the global variables that are not at file scope, e.g.
void foo() { static int bar = 42; }
Here, foo's DIE is parent of bar's DIE.

llvm-svn: 83344
2009-10-05 23:40:42 +00:00
Devang Patel
4e9591a170 Set address while constructing DIE.
llvm-svn: 83343
2009-10-05 23:22:08 +00:00
Edward O'Callaghan
322db411d4 CMake misses a check for sbrk on NetBSD.
llvm-svn: 83341
2009-10-05 23:05:32 +00:00
Evan Phoenix
1b803795c7 Extend ConstantFolding to understand signed overflow variants
llvm-svn: 83338
2009-10-05 22:53:52 +00:00
Jim Grosbach
d6da133b85 In Thumb1, the register scavenger is not always able to use an emergency
spill slot. When frame references are via the frame pointer, they will be
negative, but Thumb1 load/store instructions only allow positive immediate
offsets. Instead, Thumb1 will spill to R12.

llvm-svn: 83336
2009-10-05 22:30:23 +00:00
Evan Phoenix
72c458d8a6 First test commit
llvm-svn: 83334
2009-10-05 22:29:11 +00:00
Torok Edwin
1a53fd9356 Don't treat malloc calls with non-matching prototype as malloc.
Fixes second part of PR5130, miscompilation in FreeBSD kernel, where malloc takes 3 params,
and *does* initialize memory.

llvm-svn: 83324
2009-10-05 21:15:43 +00:00
Edward O'Callaghan
8b7189e234 No newline at end of files.
llvm-svn: 83318
2009-10-05 18:43:19 +00:00
Devang Patel
28b7c6155c Gracefully handle various scopes while recording source line info.
llvm-svn: 83317
2009-10-05 18:03:19 +00:00
Dan Gohman
176e47a413 Remove an unnnecessary LLVMContext argument in
ConstantFoldLoadThroughGEPConstantExpr.

llvm-svn: 83311
2009-10-05 16:36:26 +00:00
Dan Gohman
a926123a24 Use Use::operator= instead of Use::set, for consistency.
llvm-svn: 83310
2009-10-05 16:31:55 +00:00
Dan Gohman
cc0c3fe456 Remove explicit enum integer values. They don't appear to be needed, and
they make it less convenient to add new entries.

llvm-svn: 83308
2009-10-05 15:52:08 +00:00
Dan Gohman
b38864fb37 Add RIP to GR64_NOREX. This fixed a MachineVerifier error when RIP
is used in an operand which requires GR64_NOREX.

llvm-svn: 83307
2009-10-05 15:42:08 +00:00
Dan Gohman
1b6c3b40ec Fix a name in a comment.
llvm-svn: 83306
2009-10-05 15:23:17 +00:00
Chris Lattner
a296956311 callgraph changes came after the 2.6 branch.
llvm-svn: 83299
2009-10-05 07:07:29 +00:00
Chris Lattner
a3cf123e86 strength reduce a ton of type equality tests to check the typeid (Through
the new predicates I added) instead of going through a context and doing a
pointer comparison.  Besides being cheaper, this allows a smart compiler
to turn the if sequence into a switch.

llvm-svn: 83297
2009-10-05 05:54:46 +00:00
Chris Lattner
8afd7dbdaa add more type predicates.
llvm-svn: 83296
2009-10-05 05:48:40 +00:00
Chris Lattner
7d19c8841c teach the optimizer how to constant fold uadd/usub intrinsics.
llvm-svn: 83295
2009-10-05 05:26:04 +00:00
Chris Lattner
8b72a24a35 simplify this code a bunch.
llvm-svn: 83294
2009-10-05 05:06:24 +00:00
Chris Lattner
30e2de19c7 add some helper functions.
llvm-svn: 83293
2009-10-05 05:05:57 +00:00
Chris Lattner
24a77e2ade code simplifications.
llvm-svn: 83292
2009-10-05 05:00:35 +00:00
Evan Cheng
4d98198a37 Move implicit and paralle to a separate codegen specific section.
llvm-svn: 83291
2009-10-05 02:51:06 +00:00
Chris Lattner
513b66b237 instcombine shouldn't delete all null checks for mallocs.
This fixes PR5130.

llvm-svn: 83290
2009-10-05 02:47:47 +00:00
Chris Lattner
2c0a4fb325 stop MachineFunctionPass from claiming that it preserves LoopDependence info,
which causes dependence info to be linked into lli.

llvm-svn: 83289
2009-10-05 02:35:05 +00:00
Chris Lattner
1aa661ce46 remove llvm-db: it is completely broken and if anyone wants to do a debugger,
they should not base it on llvm-db (which not following almost any "best practices").

llvm-svn: 83288
2009-10-05 02:29:51 +00:00
Chris Lattner
27b99c62cd add some completely unformated and probably incoherent notes about things
I saw while reading all the commits between the 2.5 and 2.6 release branches.

llvm-svn: 83287
2009-10-05 02:12:39 +00:00
Owen Anderson
412df08b59 Do away with the strange use of BitVectors in SSI, and just use normal sets. This makes the code much more C++/LLVM-ish.
llvm-svn: 83286
2009-10-04 18:49:55 +00:00
Jakob Stoklund Olesen
61a76937ee Whitespace and formatting.
llvm-svn: 83285
2009-10-04 18:18:39 +00:00
Jakob Stoklund Olesen
2c7d981a62 Remove trailing whitespace from build output.
llvm-svn: 83284
2009-10-04 17:54:36 +00:00
Owen Anderson
cadab85644 Fix a typo in the comment.
llvm-svn: 83283
2009-10-04 17:52:13 +00:00
Owen Anderson
18cecec6a0 SSI needs to require DT and DF transitively, since it uses them outside of its runOnFunction.
Similarly, it can be marked setPreservesAll, since it does no work in its runOnFunction.

llvm-svn: 83282
2009-10-04 17:47:39 +00:00
Oscar Fuentes
eeafcc6fab CMake: remove .so file extension from library names when building
dependency info.

Patch by Peter Collingbourne!

llvm-svn: 83275
2009-10-04 06:24:57 +00:00
Evan Cheng
eae1bb9779 Allow -inline-threshold override default threshold even if compiling to optimize for size.
llvm-svn: 83274
2009-10-04 06:13:54 +00:00
Evan Cheng
1a5c370be3 Rename enum NumOccurrences to NumOccurrencesFlag since there is a member named NumOccurrences.
llvm-svn: 83273
2009-10-04 05:25:42 +00:00
Nick Lewycky
5bf0eb2dd5 Requires element types in a constant initializer to match the element types of
of the constant. This reverts r6544 and r7428.

llvm-svn: 83270
2009-10-03 19:30:43 +00:00
Bob Wilson
64ce6ef65a Add a comment to describe letters used in multiclass name suffixes.
llvm-svn: 83257
2009-10-03 04:44:16 +00:00
Bob Wilson
be258e083a Fix encoding problem for VMLS instruction.
Thanks to Johnny Chen for pointing this out!

llvm-svn: 83256
2009-10-03 04:41:21 +00:00
Lang Hames
40530eacdb Oops. Renamed remaining MachineInstrIndex references.
llvm-svn: 83255
2009-10-03 04:31:31 +00:00
Lang Hames
f6903a7043 Renamed MachineInstrIndex to LiveIndex.
llvm-svn: 83254
2009-10-03 04:21:37 +00:00
Benjamin Kramer
bb7785eb81 Try to fix unit test linking on linux ...
llvm-svn: 83252
2009-10-02 19:52:33 +00:00
Benjamin Kramer
8cebbc5761 MingW build fixes
- MingW needs -lpsapi (in ${LIBS}) linked after -lLLVMSystem.
  Noticed by Ronald Pijnacker!

- Some parts of the System library must be build with exceptions on windows.
  Based on a patch by Jay Foad!

llvm-svn: 83251
2009-10-02 19:36:31 +00:00
Benjamin Kramer
aa33886dd7 Fix a use-after-free in post-ra-scheduling.
MI->addOperand invalidates references to it's operands, avoid touching
the operand after a new one was added.

llvm-svn: 83249
2009-10-02 15:59:52 +00:00
Torok Edwin
4480acda62 Fix make rule when objdir is inside srcdir.
llvm-svn: 83243
2009-10-02 09:30:03 +00:00
Evan Cheng
8cf9f56cca getFunctionAlignment should return log2 alignment.
llvm-svn: 83242
2009-10-02 06:57:25 +00:00
Evan Cheng
d93fbb28ed Fix tests.
llvm-svn: 83241
2009-10-02 06:53:57 +00:00
Evan Cheng
03c42a9294 Fix test.
llvm-svn: 83240
2009-10-02 06:50:50 +00:00
Evan Cheng
72758db303 C++ member functions must be 2 byte aligned per ABI.
llvm-svn: 83239
2009-10-02 06:07:47 +00:00