Commit Graph

106145 Commits

Author SHA1 Message Date
Charles Davis 97019c709d Add a method to TargetRegisterInfo to get the register number that the Win64 EH
scheme uses internally. Implement it for x86 (the only architecture that LLVM
supports for which this matters right now).

llvm-svn: 131969
2011-05-24 16:57:53 +00:00
Douglas Gregor fcafc6e3de Implement the initial part of C++0x [expr.const]p2, which specifies
that the unevaluated subexpressions of &&, ||, and ? : are not
considered when determining whether the expression is a constant
expression. Also, turn the "used in its own initializer" warning into
a runtime-behavior warning, so that it doesn't fire when a variable is
used as part of an unevaluated subexpression of its own initializer.

Fixes PR9999.

llvm-svn: 131968
2011-05-24 16:02:01 +00:00
Jim Grosbach 7c2c664500 For non-Darwin, a plain 'char' type is unsigned.
llvm-svn: 131967
2011-05-24 15:40:46 +00:00
Tobias Grosser cf771b146b www: Use absolute links
Like this the menu can also be used in subdirectories.

llvm-svn: 131964
2011-05-24 13:56:06 +00:00
Tobias Grosser e7f23ffa66 www: Add documentation.html
llvm-svn: 131963
2011-05-24 13:29:23 +00:00
Tobias Grosser efe01ce677 www: Add a separarate documentation section.
llvm-svn: 131962
2011-05-24 13:15:01 +00:00
Howard Hinnant cf76200bd3 http://llvm.org/bugs/show_bug.cgi?id=9399 fixed by Ryuta Suzuki
llvm-svn: 131961
2011-05-24 12:54:00 +00:00
Tobias Grosser 76747f76a0 ScheduleOptimizer: Declare functions static
Functions that are currently only used in this file can be declared static.

Suggested by: ether

llvm-svn: 131960
2011-05-24 12:20:07 +00:00
Tobias Grosser 766b4742cc www: Add two publications
Tobias' diploma thesis and Raghesh's master thesis.

llvm-svn: 131959
2011-05-24 12:20:00 +00:00
Chandler Carruth e5d9d906cb Fix a bug in the most recent openSUSE support patch.
This patch also by Ismail Donmez.

llvm-svn: 131958
2011-05-24 07:51:17 +00:00
Chandler Carruth 0dc3f8db1a Fix a bug in -Wundefined-reinterpret-cast where we failed to look
through sugared types when testing for TagTypes. This was the actual
cause of the only false positive in Clang+LLVM.

Next evaluation will be over a much larger selection of code including
large amounts of open source code.

llvm-svn: 131957
2011-05-24 07:43:19 +00:00
Cameron Zwarich 46e1ebf367 Clean up the lazy initialization of DIBuilder a bit.
llvm-svn: 131956
2011-05-24 06:00:08 +00:00
Nico Weber 3b1d1217f8 Make it possible for external tools to distinguish between paths that come from -I and paths that come from -system. Patch from Paul Holden!
llvm-svn: 131955
2011-05-24 04:31:14 +00:00
Jakob Stoklund Olesen 0130027dec Work around code generation bug in Visual Studio 2010.
See http://llvm.org/pr9976 for details.

llvm-svn: 131954
2011-05-24 03:20:56 +00:00
Cameron Zwarich 843bc7d673 Make LoadAndStorePromoter preserve debug info and create llvm.dbg.values when
promoting allocas to SSA variables. Fixes <rdar://problem/9479036>.

llvm-svn: 131953
2011-05-24 03:10:43 +00:00
Rafael Espindola 0d018b1155 Explain FIXME.
llvm-svn: 131952
2011-05-24 03:10:31 +00:00
Rafael Espindola 0f33be1b87 Fix the defaults for .eh_frame. We were marking it as writable.
llvm-svn: 131951
2011-05-24 02:50:20 +00:00
Francois Pichet a8032e96b5 MSVC doesn't do any validation regarding exception specification.
llvm-svn: 131950
2011-05-24 02:11:43 +00:00
Charles Davis 1a4f5123dd Link in the MCJIT. Fixes makefile build.
llvm-svn: 131949
2011-05-24 01:54:03 +00:00
Evan Cheng 88f9137fd7 - Teach SelectionDAG::isKnownNeverZero to return true (op x, c) when c is
non-zero.
- Teach X86 cmov optimization to eliminate the cmov from ctlz, cttz extension
  when the source of X86ISD::BSR / X86ISD::BSF is proven to be non-zero.

rdar://9490949

llvm-svn: 131948
2011-05-24 01:48:22 +00:00
Evan Cheng a3b4203cbc Remove dead option.
llvm-svn: 131947
2011-05-24 01:43:38 +00:00
Andrew Trick 37f0082804 FileCheck-ize a couple of IV unit tests.
llvm-svn: 131946
2011-05-24 01:02:49 +00:00
Rafael Espindola 7e9ca2c095 Fix cmake dependencies.
llvm-svn: 131943
2011-05-24 00:58:06 +00:00
Akira Hatanaka cb4a1a8d3f Simplify offset calculation of stack frame objects for $gp restore location and
variable arguments in LowerCall and LowerFormalArguments. This should also fix
the bug in which handling of variable arguments is incorrect when the front-end
optimizes away unused fixed arguments.

llvm-svn: 131942
2011-05-24 00:23:52 +00:00
Devang Patel 433a11b95a Test case for r131940.
llvm-svn: 131941
2011-05-24 00:22:40 +00:00
Devang Patel 354fa0798f Fix debug info for blocks' variable.
llvm-svn: 131940
2011-05-24 00:22:25 +00:00
Andrew Trick 1ea0243bd0 Test case for r130799 - indvars: Added canExpandBackEdgeTakenCount.
llvm-svn: 131939
2011-05-24 00:17:53 +00:00
Alexis Hunt 6a31f2c7c9 Delete the extraneous return statement that was causing my earlier
issues and also add a test.

We should now handle defaulted members of templates properly. No
comment as to whether or not this also holds for templated functions,
but defaulting those is kind of insane.

llvm-svn: 131938
2011-05-23 23:56:01 +00:00
Johnny Chen 0084527b82 Refactor InstructionLLVM::Dump() a little bit to reduce the entropy by introducing
a new file static utility function AddSymbolicInfo() which is called from places
within InstructionLLVM::Dump().

llvm-svn: 131937
2011-05-23 23:29:23 +00:00
Devang Patel faaa16ea2c Remove unnecessary comment.
llvm-svn: 131936
2011-05-23 23:16:14 +00:00
David Chisnall b85775c3ba Fix bug introduced with r131930.
llvm-svn: 131935
2011-05-23 23:15:11 +00:00
Greg Clayton 49c0fe24d6 Don't resolve the path when we extract the path from the dyld info or we
can end up with an invalid path if the path resolves to something different
on the local machine. It is very important not to since remote debugging will
mention paths that might exist on the current machine (like 
"/System/Library/Frameworks/CoreFoundation/CoreFoundation" which on the desktop
systems is a symlink to "/System/Library/Frameworks/CoreFoundation/Versions/A/CoreFoundation").

We will let the platform plug-ins resolve the paths in a later stage.

llvm-svn: 131934
2011-05-23 23:14:34 +00:00
Alexis Hunt 61ae8d395e Implement explicit specialization of explicitly-defaulted constructors.
The general out-of-line case (including explicit instantiation mostly
works except that the definition is being lost somewhere between the AST
and CodeGen, so the definition is never emitted.

llvm-svn: 131933
2011-05-23 23:14:04 +00:00
David Chisnall 1254f6efe2 Don't omit retain / release / autorelease message sends in hybrid GC mode.
llvm-svn: 131932
2011-05-23 23:13:25 +00:00
David Chisnall 3fe89562e8 Fix some problems where functions must be bitcast but we're expecting a llvm::Function of the right type.
PR9994.

llvm-svn: 131930
2011-05-23 22:33:28 +00:00
Akira Hatanaka dfb8cda11f Expand f64 FPOW.
llvm-svn: 131928
2011-05-23 22:23:58 +00:00
Akira Hatanaka 6af5bd2537 Add pattern for double-to-integer conversion. Patch by Sasa Stankovic.
llvm-svn: 131927
2011-05-23 22:16:43 +00:00
Devang Patel efec7715ec Revert 121907 (it causes llc crash) and apply original patch from PR9817.
llvm-svn: 131926
2011-05-23 22:04:42 +00:00
Johnny Chen a542f10092 Fix usage comment.
llvm-svn: 131925
2011-05-23 21:56:08 +00:00
Johnny Chen b5aa97ecc5 Add a Python utility to help convert the Mail.app saved 'Raw Message Source' .eml file to a git-am friendly file.
llvm-svn: 131924
2011-05-23 21:50:12 +00:00
Sean Callanan 79763a42ab This commit integrates support for the LLVM MCJIT
into the mainline LLDB codebase.  MCJIT introduces
API improvements and better architectural support.

This commit adds a new subsystem, the
ProcessDataAllocator, which is responsible for
performing static data allocations on behalf of the
IR transformer.  MCJIT currently does not support
the relocations required to store the constant pool
in the same allocation as the function body, so we
allocate a heap region separately and redirect
static data references from the expression to that
heap region in a new IR modification pass.

This patch also fixes bugs in the IR
transformations that were exposed by the transition
to the MCJIT.  Finally, the patch also pulls in a
more recent revision of LLVM so that the MCJIT is
available for use.

llvm-svn: 131923
2011-05-23 21:40:23 +00:00
Akira Hatanaka 9dbb45b596 Fixes related to coding style.
llvm-svn: 131922
2011-05-23 21:13:59 +00:00
Dan Gohman 911fa9084c Document llvm.exp and llvm.pow.
llvm-svn: 131921
2011-05-23 21:13:03 +00:00
Alexis Hunt 1fb4e76218 Correctly propagate defaultedness across template instantiation. This
fixes PR9965, but we're not out of the water yet, as we do not
successfully handle out-of-line definitions, due to my utter
misunderstanding of how we manage templates.

llvm-svn: 131920
2011-05-23 21:07:59 +00:00
Dan Gohman 6c4a319088 When checking for signed multiplication overflow, watch out for INT_MIN and -1.
This fixes PR9845.

llvm-svn: 131919
2011-05-23 21:07:39 +00:00
Jim Grosbach bae9fee95f Propagate error correctly in the MC Asm parser for leading '$' expressions.
llvm-svn: 131918
2011-05-23 20:36:04 +00:00
Akira Hatanaka 90d96f44ce Fix MipsAsmPrinter::printSavedRegsBitmaskChange. Remove functions and variables
in MipsFunctionInfo that are no longer used.

llvm-svn: 131917
2011-05-23 20:34:30 +00:00
Chris Lattner d71ed9431a clarify this, apparently it is confusing :)
llvm-svn: 131916
2011-05-23 20:17:44 +00:00
Akira Hatanaka f9e5750fc8 Change StackDirection from StackGrowsUp to StackGrowsDown.
The following improvements are accomplished as a result of applying this patch:
- Fixed frame objects' offsets (relative to either the virtual frame pointer or
  the stack pointer) are set before instruction selection is completed. There is
  no need to wait until Prologue/Epilogue Insertion is run to set them.
- Calculation of final offsets of fixed frame objects is straightforward. It is
  no longer necessary to assign negative offsets to fixed objects for incoming
  arguments in order to distinguish them from the others.
- Since a fixed object has its relative offset set during instruction
  selection, there is no need to conservatively set its alignment to 4.
- It is no longer necessary to reorder non-fixed frame objects in 
  MipsFrameLowering::adjustMipsStackFrame.

llvm-svn: 131915
2011-05-23 20:16:59 +00:00
Greg Clayton cdbf866727 Calculate the dyld slide from all in memory info without having to use the
lldb module.

llvm-svn: 131914
2011-05-23 20:06:52 +00:00