69 Commits

Author SHA1 Message Date
Reid Spencer
3d986f6487 Implement review feedback for the ConstantBool->ConstantInt merge. Chris
recommended that getBoolValue be replaced with getZExtValue and that
get(bool) be replaced by get(const Type*, uint64_t). This implements
those changes.

llvm-svn: 33110
2007-01-12 04:24:46 +00:00
Reid Spencer
f3265181e2 Rename BoolTy as Int1Ty. Patch by Sheng Zhou.
llvm-svn: 33076
2007-01-11 18:21:29 +00:00
Zhou Sheng
23d24526b2 For PR1043:
Merge ConstantIntegral and ConstantBool into ConstantInt.
Remove ConstantIntegral and ConstantBool from LLVM.

llvm-svn: 33073
2007-01-11 12:24:14 +00:00
Jim Laskey
4308b27af2 NULL names should pass validation.
llvm-svn: 32835
2007-01-03 13:46:20 +00:00
Reid Spencer
dda168599d For PR950:
Three changes:
1. Convert signed integer types to signless versions.
2. Implement the @sext and @zext parameter attributes. Previously the
   type of an function parameter was used to determine whether it should
   be sign extended or zero extended before the call. This information is
   now communicated via the function type's parameter attributes.
3. The interface to LowerCallTo had to be changed in order to accommodate
   the parameter attribute information. Although it would have been
   convenient to pass in the FunctionType itself, there isn't always one
   present in the caller. Consequently, a signedness indication for the
   result type and for each parameter was provided for in the interface
   to this method. All implementations were changed to make the adjustment
   necessary.

llvm-svn: 32788
2006-12-31 05:55:36 +00:00
Reid Spencer
5bc563a190 Change inferred cast creation calls to more specific cast creations.
llvm-svn: 32460
2006-12-12 01:17:41 +00:00
Bill Wendling
23b8b13c9d Removing even more <iostream> includes.
llvm-svn: 32320
2006-12-07 20:04:42 +00:00
Jim Laskey
32137fffa5 better check for version
llvm-svn: 32045
2006-11-30 18:29:23 +00:00
Jim Laskey
0369cab61e Change global descriptor names to provide name, full name and linkage name.
llvm-svn: 32036
2006-11-30 14:35:45 +00:00
Reid Spencer
992d9788b3 For PR950:
The long awaited CAST patch. This introduces 12 new instructions into LLVM
to replace the cast instruction. Corresponding changes throughout LLVM are
provided. This passes llvm-test, llvm/test, and SPEC CPUINT2000 with the
exception of 175.vpr which fails only on a slight floating point output
difference.

llvm-svn: 31931
2006-11-27 01:05:10 +00:00
Jim Laskey
4d636f03f7 Now can re-enable debug label folding.
llvm-svn: 31549
2006-11-08 14:17:45 +00:00
Jim Laskey
f0843a78c4 Accidently reran commit.
llvm-svn: 31516
2006-11-07 21:58:55 +00:00
Jim Laskey
5264310433 Missed a label map, reverting till covered.
llvm-svn: 31514
2006-11-07 21:37:31 +00:00
Jim Laskey
54a8f6f998 Missed a label map, reverting till covered.
llvm-svn: 31512
2006-11-07 20:53:05 +00:00
Jim Laskey
7e0f0b2d24 1. Add a pass to fold debug label instructions so a debug info client can detect
empty ranges.

2. Reorg how MachineDebugInfo maintains changes to debug labels.

3. Have dwarf writer use debug label info to simplify scopes and source line
coorespondence.

4. Revert the merging of compile units until I can get the bugs ironed out.

llvm-svn: 31507
2006-11-07 19:33:46 +00:00
Jim Laskey
2008b25d7e D'oh - reversed logic.
llvm-svn: 31474
2006-11-06 13:20:29 +00:00
Jim Laskey
605cf8cc6a Tighter data structure for deleted debug labels.
llvm-svn: 31152
2006-10-24 11:50:43 +00:00
Jim Laskey
f6a28d7161 More complete solution to deleting blocks and debug info.
llvm-svn: 31129
2006-10-23 14:56:37 +00:00
Reid Spencer
d414793dbc For PR950:
This patch implements the first increment for the Signless Types feature.
All changes pertain to removing the ConstantSInt and ConstantUInt classes
in favor of just using ConstantInt.

llvm-svn: 31063
2006-10-20 07:07:24 +00:00
Chris Lattner
22e311fe77 add a method to remove a line # record.
llvm-svn: 31025
2006-10-17 23:16:42 +00:00
Chris Lattner
dd39b9d358 Do not leak all of the SourceLineInfo objects. Do not bother mallocing each
one separately.

llvm-svn: 31022
2006-10-17 22:06:46 +00:00
Jim Laskey
20feec042a Clean up dump.
llvm-svn: 30926
2006-10-13 13:01:34 +00:00
Jim Laskey
8b477a35d4 Adding C++ member support.
llvm-svn: 29799
2006-08-21 21:20:18 +00:00
Jim Laskey
4d97a53442 Fixed a bug handling void function types.
Requires rebuild of llvm-gcc4 (touch llvm-debug.cpp.)

llvm-svn: 29131
2006-07-13 15:27:42 +00:00
Jim Laskey
6fe083c694 1. Support for c++ mangled names.
2. Support for private/protected class members.

llvm-svn: 29104
2006-07-11 15:58:09 +00:00
Jim Laskey
1725929173 Add support for function types.
llvm-svn: 28874
2006-06-20 19:41:06 +00:00
Jim Laskey
005825407f Handle versioning of compile unit.
llvm-svn: 28855
2006-06-19 12:54:15 +00:00
Jim Laskey
120281ddcf 1. Revise vector debug support.
2. Update docs for vector debug support and new version control.

3. Simplify serialization of DebugDescInfo subclasses.

llvm-svn: 28816
2006-06-16 13:14:03 +00:00
Jim Laskey
849c76e55c 1. Support standard dwarf format (was bootstrapping in Apple format.)
2. Add vector support.

llvm-svn: 28807
2006-06-15 20:51:43 +00:00
Jim Laskey
bd680a03fd Change versioning to per debug info descriptor (merged with tag.)
llvm-svn: 28782
2006-06-14 14:45:39 +00:00
Jim Laskey
69d5018a05 Place dwarf headers at earliest possible point. Well behaved when skipping
functions.

llvm-svn: 28781
2006-06-14 11:35:03 +00:00
Reid Spencer
4719e9699d Expand some code with temporary variables to rid ourselves of the warning
about "dereferencing type-punned pointer will break strict-aliasing rules"

llvm-svn: 27671
2006-04-13 18:29:58 +00:00
Jim Laskey
b93bc75add Foundation for call frame information.
llvm-svn: 27491
2006-04-07 16:34:46 +00:00
Jim Laskey
702240530d More bulletproofing of DebugInfoDesc verify.
llvm-svn: 27203
2006-03-28 01:30:18 +00:00
Jim Laskey
c195040bcf Pass llvm/test/Regression/CodeGen/Generic/debug-info.ll.
llvm-svn: 27158
2006-03-27 01:51:47 +00:00
Jim Laskey
278ca1e735 How to be dumb on $5/day. Need a tri-state to track valid debug descriptors.
llvm-svn: 27154
2006-03-26 22:45:20 +00:00
Jim Laskey
867301543c Generate local variable and scope information and equivalent dwarf forms.
llvm-svn: 26989
2006-03-23 18:07:55 +00:00
Jim Laskey
f6494d753a Expand subprogram and added block descriptor.
llvm-svn: 26782
2006-03-15 19:09:58 +00:00
Jim Laskey
864fb2f799 1. Use null for serialized empty strings.
2. Allow for user defined debug descriptors.
3. Allow for user augmented fields on debug descriptors.

llvm-svn: 26760
2006-03-14 18:37:57 +00:00
Chris Lattner
d00d6b4f23 back out my previous hack
llvm-svn: 26650
2006-03-09 17:48:46 +00:00
Chris Lattner
f6937476d0 temporary hack to get the build working again, apparently a header
commit was forgotten

llvm-svn: 26642
2006-03-09 17:11:08 +00:00
Jim Laskey
7fcf238500 Move bit field endianness to backend.
llvm-svn: 26639
2006-03-09 13:28:47 +00:00
Jim Laskey
a1ad999bba Get rid of the multiple copies of getStringValue. Now a Constant:: method.
llvm-svn: 26616
2006-03-08 18:11:07 +00:00
Jim Laskey
aae3375a2b libstdc++-v3 was failing to build. Needed to handle composite types with empty
members (running into a zero initializer.)

llvm-svn: 26607
2006-03-08 02:07:02 +00:00
Jim Laskey
91d5ce2531 Use "llvm.metadata" section for debug globals. Filter out these globals in the
asm printer.

llvm-svn: 26599
2006-03-07 22:00:35 +00:00
Jim Laskey
eec3faecde Switch to using a numeric id for anchors.
llvm-svn: 26598
2006-03-07 20:53:47 +00:00
Jim Laskey
f915b6b08b Adding basic structure support.
llvm-svn: 26505
2006-03-03 15:06:57 +00:00
Jim Laskey
7ee6df939e Support for enumerations.
llvm-svn: 26466
2006-03-01 23:52:37 +00:00
Jim Laskey
c73a56236e Switch back to using actual dwarf tags. Simplifies code without loss to other
debug forms.

llvm-svn: 26455
2006-03-01 20:39:36 +00:00
Jim Laskey
08fa0d0d99 Basic array support.
llvm-svn: 26451
2006-03-01 17:53:02 +00:00