7039 Commits

Author SHA1 Message Date
Anton Korobeynikov
7daaf71b29 More DWARF-related things cleanup:
1. Fix PR1380
2. Apply Duncan's patch from PR1410
3. Insert workaround for "one personality function per module" as noted in PR1414
4. Emit correct debug frames for x86/linux. This partly fixes DebugInfo/2006-11-06-StackTrace.cpp: stack trace is
shown correctly, but arguments for function on top of stack are displayed incorrectly.

llvm-svn: 37015
2007-05-12 22:36:25 +00:00
Chris Lattner
96e9e88590 add some notes
llvm-svn: 36965
2007-05-10 00:08:04 +00:00
Evan Cheng
73abcaa525 Switch BCC, MOVCCr, etc. to PredicateOperand.
llvm-svn: 36948
2007-05-08 21:08:43 +00:00
Evan Cheng
4dd52e052f PredicateOperand can be used as a normal operand for isel.
llvm-svn: 36947
2007-05-08 21:06:08 +00:00
Evan Cheng
6a0b99b9f8 R0 is a sub-register of X0, etc.
llvm-svn: 36939
2007-05-08 17:03:51 +00:00
Lauro Ramos Venancio
4f648c68cd Fix PR1390 in a better way.
llvm-svn: 36916
2007-05-07 23:15:16 +00:00
Evan Cheng
a949d165ee This is no longer needed after enabling the DAG combiner xform.
llvm-svn: 36909
2007-05-07 21:29:41 +00:00
Chris Lattner
50214d1447 add this back
llvm-svn: 36892
2007-05-06 20:31:17 +00:00
Anton Korobeynikov
dda2087b65 Update MSIL BE. This patch fixes most weird glitches outlined in
README.txt. Patch by Roman Samoilov!

llvm-svn: 36890
2007-05-06 20:13:33 +00:00
Bill Wendling
88e78f8bdb 3DNowA implies 3DNow. 64-bit implies SSE1, SSE2, and I assume MMX.
llvm-svn: 36860
2007-05-06 07:56:19 +00:00
Nate Begeman
f496eb7607 Reference correct header
llvm-svn: 36834
2007-05-06 04:00:55 +00:00
Lauro Ramos Venancio
236cf4a51b Fix PR1390.
Don't spill extra register to align the stack.

llvm-svn: 36814
2007-05-05 23:44:41 +00:00
Chris Lattner
272510387e add a note
llvm-svn: 36811
2007-05-05 22:44:08 +00:00
Chris Lattner
0074283b61 the mason example is implemented. Move some examples out of llvm/test,
upgrade the syntax of some other examples.

llvm-svn: 36806
2007-05-05 22:29:06 +00:00
Chris Lattner
a13a7d375c implement anyextend from i1 -> i64
llvm-svn: 36802
2007-05-05 22:17:00 +00:00
Chris Lattner
9f8e81f9d3 move CodeGen/X86/overlap-add.ll here.
llvm-svn: 36799
2007-05-05 22:10:24 +00:00
Anton Korobeynikov
ce48606d7a Emit sections/directives in the proper order. This fixes PR1376. Also,
some small cleanup was made.

llvm-svn: 36780
2007-05-05 09:04:50 +00:00
Lauro Ramos Venancio
4e4a4e36dd Add a processor.
llvm-svn: 36765
2007-05-04 22:16:30 +00:00
Bill Wendling
dc82c5a195 Add an "implies" field to features. This indicates that, if the current
feature is set, then the features in the implied list should be set also.
The opposite is also enforced: if a feature in the implied list isn't set,
then the feature that owns that implies list shouldn't be set either.

llvm-svn: 36756
2007-05-04 20:38:40 +00:00
Evan Cheng
658a4fc56f On Mac OS X, GV requires an extra load only when relocation-model is non-static.
llvm-svn: 36718
2007-05-04 00:26:58 +00:00
Evan Cheng
8e5e87a16b Should never see an indexed load / store with zero offset.
llvm-svn: 36714
2007-05-03 23:30:36 +00:00
Dale Johannesen
d28d0bac2a Evan's patch to avoid FPreg->intreg copy for cvt; store to mem
llvm-svn: 36693
2007-05-03 20:54:42 +00:00
Lauro Ramos Venancio
1d84c031a0 Debug support for arm-linux.
Patch by Raul Herbster.

llvm-svn: 36690
2007-05-03 20:28:35 +00:00
Dan Gohman
fd25a9d9a3 Indent the .text, .data, and .bss directives in assembly output, so that
they are consistent with the other directives.

llvm-svn: 36687
2007-05-03 18:46:30 +00:00
Chris Lattner
60cd08c23e Fix two classes of bugs:
1. x86 backend rejected (&gv+c) for the 'i' constraint when in static mode.
  2. the matcher didn't correctly reject and accept some global addresses.
     the right predicate is GVRequiresExtraLoad, not "relomodel = pic".

llvm-svn: 36670
2007-05-03 16:52:29 +00:00
Chris Lattner
5d81bf937b add support for printing offset from global
llvm-svn: 36669
2007-05-03 16:42:23 +00:00
Chris Lattner
e980180c9d revert accidental commit
llvm-svn: 36668
2007-05-03 16:40:25 +00:00
Chris Lattner
4dd59a2bfb add support for printing offset of global
llvm-svn: 36667
2007-05-03 16:39:48 +00:00
Dan Gohman
a97ce790d0 Sets the section names for fixed-size constants and use the mergeable
flag for ELF on x86 so that duplicate constants can be eliminated by
the linker. This matches what GCC does with its -fmerge-constants
option, which is enabled at most -O levels.

llvm-svn: 36666
2007-05-03 16:38:57 +00:00
Chris Lattner
ee99a109d7 revert reid's patch to fix these failures:
test/CodeGen/CBackend/2007-01-08-ParamAttr-ICmp.ll for PR1099 [DEJAGNU]
Applications/SPASS/SPASS [CBE]
Regression/C/2004-03-15-IndirectGoto [CBE]

llvm-svn: 36664
2007-05-03 02:57:13 +00:00
Evan Cheng
550881463d Typo. It's checking if V is multiple of 4, not multiple of 3. :-)
llvm-svn: 36663
2007-05-03 02:00:18 +00:00
Devang Patel
cd45427a87 Drop 'const'
llvm-svn: 36662
2007-05-03 01:11:54 +00:00
Chris Lattner
844e3a4191 match a reassociated form of fnmul. This implements CodeGen/ARM/fnmul.ll
llvm-svn: 36660
2007-05-03 00:32:00 +00:00
Chris Lattner
0b2b0185a0 expose HonorSignDependentRoundingFPMathOption to .td files
llvm-svn: 36658
2007-05-03 00:27:11 +00:00
Chris Lattner
a3d01187b7 Add a new option.
llvm-svn: 36657
2007-05-03 00:16:07 +00:00
Bill Wendling
5a84dca7df Non-algorithmic change. Moved definitions around into separate sections
for SSE1, SSE2, SSE3, and SSSE3.

llvm-svn: 36656
2007-05-02 23:11:52 +00:00
Bill Wendling
18b8948839 Update.
llvm-svn: 36653
2007-05-02 21:42:20 +00:00
Devang Patel
8ee9065162 Use 'static const char' instead of 'static const int'.
Due to darwin gcc bug, one version of darwin linker coalesces
static const int, which defauts PassID based pass identification.

llvm-svn: 36652
2007-05-02 21:39:20 +00:00
Lauro Ramos Venancio
57d03e112b Fix build error.
llvm-svn: 36648
2007-05-02 20:37:47 +00:00
Anton Korobeynikov
44aa4c588b Emit correct register move information in eh frames for X86. This allows Shootout-C++/except to pass on x86/linux
with non-llvm-compiled (e.g. "native") unwind runtime.

llvm-svn: 36647
2007-05-02 19:53:33 +00:00
Anton Korobeynikov
d1bf4af988 Emit correct DWARF reg # for RA (return address) register
llvm-svn: 36646
2007-05-02 08:46:03 +00:00
Reid Spencer
10804f3fcb Make sign extension work correctly for unusual bit widths.
llvm-svn: 36635
2007-05-02 02:17:41 +00:00
Dale Johannesen
2a293b718e Add some support for (Darwin) code-generating directives in getInlineAsmLength.
Support is incomplete, but more accurate than gcc's.

llvm-svn: 36634
2007-05-02 01:02:40 +00:00
Anton Korobeynikov
6e6bfcaf4d Fix couple of bugs connected with eh info:
1. Correct output offsets on Linux
2. Fix "style" of personality function. It shouldn't be indirect.

llvm-svn: 36633
2007-05-01 22:23:12 +00:00
Devang Patel
38a66bc82e Do not use typeinfo to identify pass in pass manager.
llvm-svn: 36632
2007-05-01 21:15:47 +00:00
Evan Cheng
01853831d2 Doh. PC displacement is between the constantpool and the add instruction.
llvm-svn: 36630
2007-05-01 20:27:19 +00:00
Anton Korobeynikov
f808ab1e97 Use correct PC symbol
llvm-svn: 36628
2007-05-01 10:19:31 +00:00
Anton Korobeynikov
82d11e006a Adjust correct EH-related sections
llvm-svn: 36627
2007-05-01 10:16:06 +00:00
Evan Cheng
e47ec4d104 eliminateFrameIndex() change.
llvm-svn: 36626
2007-05-01 09:13:03 +00:00
Nate Begeman
767ee95d29 llvm bug #1350, parts 1, 2, and 3.
llvm-svn: 36618
2007-05-01 05:57:02 +00:00