Devang Patel
8d1207dc18
Fix typo in DEBUG message.
...
llvm-svn: 135111
2011-07-14 00:04:53 +00:00
Devang Patel
b9fe59ad12
Add DEBUG messages.
...
llvm-svn: 135110
2011-07-14 00:03:58 +00:00
Evan Cheng
c9e252df68
Change createAsmParser to take a MCSubtargetInfo instead of triple,
...
CPU, and feature string. Parsing some asm directives can change
subtarget state (e.g. .code 16) and it must be reflected in other
modules (e.g. MCCodeEmitter). That is, the MCSubtargetInfo instance
must be shared.
llvm-svn: 134795
2011-07-09 05:47:46 +00:00
Devang Patel
31505d2d78
Refactor.
...
llvm-svn: 134703
2011-07-08 17:09:57 +00:00
Devang Patel
756482ca98
Make provision to have floating point constants in .debug_loc expressions.
...
llvm-svn: 134702
2011-07-08 16:49:43 +00:00
Evan Cheng
50f2d8d304
Eliminate asm parser's dependency on TargetMachine:
...
- Each target asm parser now creates its own MCSubtatgetInfo (if needed).
- Changed AssemblerPredicate to take subtarget features which tablegen uses
to generate asm matcher subtarget feature queries. e.g.
"ModeThumb,FeatureThumb2" is translated to
"(Bits & ModeThumb) != 0 && (Bits & FeatureThumb2) != 0".
llvm-svn: 134678
2011-07-08 01:53:10 +00:00
Devang Patel
f97af90b4a
Add DEBUG message.
...
llvm-svn: 134643
2011-07-07 21:44:42 +00:00
Devang Patel
a30ca05040
Add DEBUG messages.
...
llvm-svn: 134572
2011-07-07 00:14:27 +00:00
Devang Patel
94f4eec7e4
Remove dead code.
...
llvm-svn: 134561
2011-07-06 23:26:18 +00:00
Devang Patel
91fee59b74
Handle debug info for i128 constants.
...
llvm-svn: 133821
2011-06-24 20:46:11 +00:00
Nick Lewycky
bf55e4b776
Emit trailing padding on constant vectors when TargetData says that the vector
...
is larger than the sum of the elements (including per-element padding).
llvm-svn: 133631
2011-06-22 18:55:03 +00:00
Bill Wendling
94ed847adb
Add verbose EH table printing to SjLj exception tables.
...
llvm-svn: 133561
2011-06-21 22:40:24 +00:00
Bill Wendling
16b9bd4460
Improve the comment printing for the EH table. This gives a much more detailed
...
explanation of what the EH table describes.
llvm-svn: 133559
2011-06-21 22:30:20 +00:00
Jay Foad
9dc6571cbc
Fix a FIXME by making GlobalVariable::getInitializer() return a
...
const Constant *.
llvm-svn: 133400
2011-06-19 18:37:11 +00:00
Rafael Espindola
1b76d1651c
Handle jump tables. Test to follow soon.
...
llvm-svn: 133083
2011-06-15 21:00:28 +00:00
Eli Friedman
fadc05bee8
Revert r133004 ; it's breaking nightly tests.
...
llvm-svn: 133007
2011-06-14 19:30:33 +00:00
Rafael Espindola
53ce31b37e
Partial revert of 132882.
...
Dan noted that this would work on the case shown on the commit message. I think
the case that was failing was a bb ending with a redundant conditional jump:
...
jne foo
foo:
...
I was unable to find any such case in the tests or in a debug build of clang,
so I will revert this part of the patch and watch the bots.
llvm-svn: 133004
2011-06-14 18:12:31 +00:00
Rafael Espindola
434d19ff30
Implement Jakob's suggestion on how to detect fall thought without calling
...
AnalyzeBranch.
llvm-svn: 132981
2011-06-14 06:08:32 +00:00
Rafael Espindola
8d0f7518b2
Really fix the fall-through logic.
...
Add a triple to the tests.
llvm-svn: 132885
2011-06-12 05:57:01 +00:00
Rafael Espindola
3a5efcd955
Fix silly bug I introduce in the previous commit. Fixes debug builds.
...
llvm-svn: 132883
2011-06-12 05:26:32 +00:00
Rafael Espindola
db58547906
AnalyzeBranch doesn't change which successors a bb has, just the order
...
we try to branch to them.
Before we were creating successor lists with duplicated entries. Fixing that
found a bug in isBlockOnlyReachableByFallthrough that would causes it to
return the wrong answer for
-----------
...
jne foo
jmp bar
foo:
----------
llvm-svn: 132882
2011-06-12 03:20:32 +00:00
Chad Rosier
f1b711035c
Ensure that EmitGlobalVariable is correctly differentiating between declarations
...
and definitions when emitting global variables. This was causing global
declarations to be emitted as if they were definitions.
Fixes <rdar://problem/9429892>.
llvm-svn: 132825
2011-06-10 00:53:15 +00:00
Benjamin Kramer
3bd28deb10
Use path API for path concatenation.
...
llvm-svn: 132668
2011-06-05 14:36:47 +00:00
Devang Patel
03708bbb55
A DBG_VALUE that truncates a range does not start another dbg value range.
...
llvm-svn: 132433
2011-06-01 23:00:17 +00:00
Devang Patel
1a3058d727
Do not drop constant values when a variable's content is described using .debug_loc entries.
...
llvm-svn: 132427
2011-06-01 22:03:25 +00:00
Devang Patel
4eab0639a4
Incomplete type may not have corresponding DIE, so do not check DIEEntry eagerly.
...
llvm-svn: 132377
2011-06-01 00:23:24 +00:00
Devang Patel
4077aa90ed
Refactor.
...
llvm-svn: 132373
2011-05-31 23:30:30 +00:00
Devang Patel
a9f6a46390
Include global types, that are referenced through local variables, in debug_pubtypes list.
...
llvm-svn: 132371
2011-05-31 22:56:51 +00:00
Charles Davis
52d44a8a21
Emit the handler's data area. For GCC-style exceptions under Win64, the
...
handler's data area starts with a 4-byte reference to the personality
function, followed by the DWARF LSDA.
llvm-svn: 132302
2011-05-30 00:13:34 +00:00
Charles Davis
850e4b68b1
When generating against the Win64 EH scheme, set the handler to the GCC-specific
...
handler.
At this moment, only GCC-style exceptions are supported. Other kinds
of exceptions, including "traditional" SEH and Microsoft Visual C++ exceptions,
need more work--and an compiler exception model that isn't specific to
GCC-style exceptions!
In particular, I imagine that it would be possible to mix "traditional" SEH
with GCC-style EH or Microsoft C++ EH. Currently LLVM has no way (beyond some
target-specific defaults and whole-module compiler switches) of knowing which
scheme to use when.
llvm-svn: 132283
2011-05-29 04:28:35 +00:00
Charles Davis
6702c786ed
When generating code for Win64 EH, emit StartProc and EndProc directives.
...
llvm-svn: 132250
2011-05-28 04:21:04 +00:00
Devang Patel
93e78e996f
Select DW_AT_const_value size based on global variable size.
...
llvm-svn: 132239
2011-05-28 00:39:18 +00:00
Rafael Espindola
386c4259db
Fix the root cause of the bootstrap failure:
...
There was no way to check if a given register/mode pair was valid. We now return
an error code (-2) instead of asserting. If anyone thinks that an assert
at this point is really needed, we can autogen a hasValidDwarfRegNum instead.
llvm-svn: 132236
2011-05-28 00:13:01 +00:00
Charles Davis
cf8d922dbe
Stub out support for Win64-style exceptions. Note that this is merely using
...
the Win64 EH mechanism to implement GCC-style exceptions. LLVM supports
hardly anything else at this point!
llvm-svn: 132234
2011-05-27 23:47:32 +00:00
Rafael Espindola
9ce5cebde6
Fix a regression I recently introduced by removing DwarfRegNum of
...
subregisters:
When a value is in a subregister, at least report the location as being
the superregister. We should extend the .td files to encode the bit
range so that we can produce a DW_OP_bit_piece.
llvm-svn: 132224
2011-05-27 22:15:01 +00:00
Rafael Espindola
2230168a0f
Make size computation less brittle.
...
llvm-svn: 132222
2011-05-27 22:05:41 +00:00
Devang Patel
2872ac051d
Keep this simple. Use DIType to get signness and size of a type. Based on size, select appropraite form.
...
llvm-svn: 132206
2011-05-27 19:13:26 +00:00
Devang Patel
c0bffe6366
Handle signed types gracefully.
...
This fixes regressions reported by buildbots as a fallout of r132193.
llvm-svn: 132197
2011-05-27 18:15:52 +00:00
Devang Patel
62a7038a9f
Select DW_AT_const_value size based on variable size.
...
llvm-svn: 132193
2011-05-27 16:45:18 +00:00
Rafael Espindola
70213c7c5f
Replace the -unwind-tables option with a per function flag. This is more
...
LTO friendly as we can now correctly merge files compiled with or without
-fasynchronous-unwind-tables.
llvm-svn: 132033
2011-05-25 03:44:17 +00:00
Devang Patel
5bce258c3d
Fix debug info for blocks' variable.
...
llvm-svn: 131940
2011-05-24 00:22:25 +00:00
Devang Patel
8a90970a54
Remove unnecessary comment.
...
llvm-svn: 131936
2011-05-23 23:16:14 +00:00
Jim Grosbach
909aff492f
No reason not to allow defining the CFA as a reg w/ offset zero.
...
llvm-svn: 131760
2011-05-20 21:50:09 +00:00
Jim Grosbach
c4a65b2613
Fix typo.
...
llvm-svn: 131757
2011-05-20 21:35:39 +00:00
Jim Grosbach
b2b33616c0
Add support for frame info use of the .cfi_def_cfa directive.
...
llvm-svn: 131756
2011-05-20 21:23:17 +00:00
Devang Patel
dd08ae41c6
Doug convinced me that DW_AT_APPLE_objc_complete_type is more appropriate name.
...
s/DW_AT_APPLE_objc_class_extension/DW_AT_APPLE_objc_complete_type/g
llvm-svn: 131244
2011-05-12 21:29:42 +00:00
Devang Patel
b865dd6a20
Let Objective-C front-end identify class extension, in dwarf output, using an attribute DW_AT_APPLE_objc_class_extension.
...
llvm-svn: 131238
2011-05-12 19:06:16 +00:00
Devang Patel
344808fbe5
Identify end of prologue (and beginning of function body) using DW_LNS_set_prologue_end line table opcode.
...
llvm-svn: 131194
2011-05-11 19:22:19 +00:00
Rafael Espindola
26a7112c00
Initialize moveTypeModule.
...
llvm-svn: 131157
2011-05-10 21:54:59 +00:00
Rafael Espindola
46b0ce1b5f
Produce a __debug_frame section on darwin ARM when appropriate.
...
llvm-svn: 131151
2011-05-10 21:04:45 +00:00