Dan Gohman
dbc6c31f62
TargetLowering.h #includes SelectionDAGNodes.h, so it doesn't need its
...
own OpActionsCapacity magic number; it can just use ISD::BUILTIN_OP_END,
as long as it takes care to round up when needed.
llvm-svn: 61733
2009-01-05 19:40:39 +00:00
Devang Patel
2c2eeabb54
s/ConstructType/ConstructTypeDIE/g
...
llvm-svn: 61731
2009-01-05 19:07:53 +00:00
Devang Patel
5024d377f2
Construct stuct field DIEs.
...
llvm-svn: 61729
2009-01-05 18:59:44 +00:00
Chris Lattner
1c8dd9be79
fix wordo
...
llvm-svn: 61728
2009-01-05 18:56:52 +00:00
Steve Naroff
f6bbfa3424
Remove redundant ValID::ValID:: scoping (doesn't compile on Windows).
...
llvm-svn: 61727
2009-01-05 18:48:47 +00:00
Devang Patel
c0adc6b9bc
Construct enumerator DIE using DebugInfo.
...
llvm-svn: 61726
2009-01-05 18:38:38 +00:00
Chris Lattner
2ed06b4276
Reject PR3281:accepted03.ll with:
...
llvm-as: accepted03.ll:1:35: invalid unresolved type up reference
declare void @r({ \7, opaque, \10 } %su)
^
llvm-svn: 61725
2009-01-05 18:34:07 +00:00
Devang Patel
758e7d7781
Construct array/vector type DIEs using DebugInfo.
...
llvm-svn: 61724
2009-01-05 18:33:01 +00:00
Owen Anderson
96fce00dc0
Get rid of sentinel insertion in interval reconstruction. It just masked the
...
problem, rather than fixing it. The problem has now been fixed the right way.
llvm-svn: 61723
2009-01-05 18:32:26 +00:00
Chris Lattner
dc83a54567
reject PR3281:crash11.ll with:
...
llvm-as: crash11.ll:2:27: function may not return return opaque type
"xw" = tail call opaque @608(label %31)
^
llvm-svn: 61722
2009-01-05 18:27:50 +00:00
Chris Lattner
8f57d29e0c
reject PR3281:crash10.ll with:
...
llvm-as: crash10.ll:3:35: floating point constant does not have type 'ppc_fp128'
"dumy" = fcmp ult ppc_fp128 "j",9209.4
^
llvm-svn: 61721
2009-01-05 18:24:23 +00:00
Chris Lattner
651252b019
reject PR3281:crash09.ll with this diagnostic:
...
llvm-as: crash09.ll:3:1: self referential type is invalid
type %0
^
llvm-svn: 61720
2009-01-05 18:19:46 +00:00
Chris Lattner
5261c8923f
allow opaque undefs. This resolves PR3282 and fixes
...
test/Assembler/2005-05-05-OpaqueUndefValues.ll
llvm-svn: 61719
2009-01-05 18:12:21 +00:00
Dan Gohman
906152a20f
Tidy up #includes, deleting a bunch of unnecessary #includes.
...
llvm-svn: 61715
2009-01-05 17:59:02 +00:00
Devang Patel
1e03f7f19e
Construct basic and derived type DIEs using DebugInfo.
...
llvm-svn: 61714
2009-01-05 17:57:47 +00:00
Devang Patel
15deef2a3c
subsume ConstructPointerType()
...
llvm-svn: 61711
2009-01-05 17:45:59 +00:00
Devang Patel
ef2a94e8df
subsume ConstructBasicType().
...
llvm-svn: 61709
2009-01-05 17:44:11 +00:00
Devang Patel
56a8bb670f
squash warnings.
...
llvm-svn: 61707
2009-01-05 17:31:22 +00:00
Gabor Greif
4077dd0abb
another fix to my previous commit:
...
* some picky <g> compilers get insulted by const-incorrectness
* respect 80-char limit
llvm-svn: 61701
2009-01-05 17:19:25 +00:00
Evan Cheng
70b42590b0
Fix misplaced right parentheses.
...
llvm-svn: 61699
2009-01-05 17:17:04 +00:00
Gabor Greif
6265ab8c10
eliminate tabs from my previous commit
...
llvm-svn: 61695
2009-01-05 16:28:14 +00:00
Gabor Greif
2231c2cac3
Get rid of the tagging functions and use PointerIntPair.
...
This means that we have to include an additional header.
This patch should be functionally equivalent. I cannot outrule any performance
degradation, though I do not expect any.
llvm-svn: 61694
2009-01-05 16:05:32 +00:00
Evan Cheng
c3b09c3baa
Atom and Core i7 do not have same model number after all.
...
llvm-svn: 61686
2009-01-05 08:45:01 +00:00
Chris Lattner
229b0304f0
produce the same diagnostics for vicmp constant exprs as vicmp instructions.
...
llvm-svn: 61685
2009-01-05 08:26:05 +00:00
Chris Lattner
eeefa9a098
Fix PR3281:crash08.ll with this diagnostic:
...
llvm-as: crash08.ll:3:15: invalid operand type for instruction
"qp" = sdiv fp128 0x1, %30
^
llvm-svn: 61684
2009-01-05 08:24:46 +00:00
Chris Lattner
b55ab54b77
reject PR3281:crash07.ll with:
...
llvm-as: crash07.ll:2:32: va_arg requires operand with first class type
%y = va_arg [52 x <{}>] %43, double (...) sspreq
^
llvm-svn: 61683
2009-01-05 08:18:44 +00:00
Chris Lattner
ffa0778c36
reject undef/zero labels. This fixes PR3281:crash0[56].ll with these
...
diagnostics:
llvm-as: crash05.ll:1:14: invalid type for null constant
global label zeroinitializer addrspace (75), section "c"
^
llvm-as: crash06.ll:2:14: invalid type for null constant
udiv label zeroinitializer, @0
^
llvm-svn: 61681
2009-01-05 08:13:38 +00:00
Chris Lattner
c38e99547e
add checking intentionally elided for vfcmp/vicmp since they should really
...
just be removed. However, this fixes PR3281:crash04.ll, diagnosing it with:
lvm-as: crash04.ll:2:13: vfcmp requires vector floating point operands
vfcmp uno double* undef, undef
^
llvm-svn: 61680
2009-01-05 08:09:48 +00:00
Chris Lattner
ce473c7be0
diagnose PR3281:crash02.ll with:
...
llvm-as: crash02.ll:1:62: invalid function return type
declare { <{ <{}>, void ([1898 x { void ()* }], opaque, ...) (), fp128 * }>, opaque } @t ()
^
llvm-svn: 61679
2009-01-05 08:04:33 +00:00
Chris Lattner
fae73dd27f
reject PR3281:crash01.ll with:
...
llvm-as: crash01.ll:1:9: invalid function return type
declare opaque @t()
^
llvm-svn: 61678
2009-01-05 08:00:30 +00:00
Chris Lattner
654695b7b5
tighten up return type check
...
llvm-svn: 61677
2009-01-05 07:58:59 +00:00
Chris Lattner
998fa0a2a2
fix PR3281:accepted0[02].ll: represent empty arrays distinctly, and
...
diagnose attempts to initialize non-empty arrays with them. This
produces:
llvm-as: accepted02.ll:1:28: invalid empty array initializer
@"o" = global [5 x double] []
^
llvm-as: accepted00.ll:1:32: invalid empty array initializer
@"za" = thread_local global {} []
^
[
llvm-svn: 61676
2009-01-05 07:52:51 +00:00
Chris Lattner
d11f514739
PR3281:crash00.ll: produce this diagnostic instead of crashing:
...
@t = global i8 0, align 3
^
llvm-svn: 61675
2009-01-05 07:46:05 +00:00
Dan Gohman
d32ec016cc
Handle weak_extern in the JIT. This fixes
...
SingleSource/UnitTests/2007-04-25-weak.c in JIT mode. The test
now passes on systems which are able to produce a correct
reference output to compare with.
llvm-svn: 61674
2009-01-05 05:32:42 +00:00
Scott Michel
74f249517e
CellSPU:
...
- Teach SPU64InstrInfo.td about the remaining signed comparisons, update tests
accordingly.
llvm-svn: 61672
2009-01-05 04:05:53 +00:00
Scott Michel
a664240476
CellSPU:
...
- Fix (brcond (setq ...)) bug, where BRNZ should have been used vice BRZ.
- Kill unused/unnecessary nodes in SPUNodes.td
- Beef out the i64operations.c test harness to use a lot of unaligned
loads, test loops and LLVM loop/basic block optimizations; run the
test harness successfully on real Cell hardware.
llvm-svn: 61664
2009-01-05 01:34:35 +00:00
Nick Lewycky
e4e5532e05
Move the libcall annotating part from doFinalization to doInitialization.
...
Finalization occurs after all the FunctionPasses in the group have run, which
is clearly not what we want.
This also means that we have to make sure that we apply the right param
attributes when creating a new function.
Also, add a missed optimization: strdup and strndup. NoCapture and
NoAlias return!
llvm-svn: 61658
2009-01-05 00:07:50 +00:00
Nick Lewycky
3a0c106979
Add a mechanism to specify attributes in getOrInsertFunction.
...
llvm-svn: 61645
2009-01-04 22:54:40 +00:00
Chris Lattner
ad6f3355a7
Refactor some parser interfaces to fix PR3278 and a FIXME:
...
ParseAssemblyString with a specified module would not parse
into the module, it would create and return a new one.
llvm-svn: 61635
2009-01-04 20:44:11 +00:00
Nick Lewycky
959af7ba30
Run a post-pass that marks known function declarations by name.
...
llvm-svn: 61632
2009-01-04 20:27:34 +00:00
Chris Lattner
8f561c9c97
elf writer really wants the size of the global, not the size
...
of the pointer to the global.
llvm-svn: 61630
2009-01-04 20:19:20 +00:00
Bill Wendling
0c04f9fdc3
Revert this transform. It was causing some dramatic slowdowns in a few tests. See PR3266.
...
llvm-svn: 61623
2009-01-04 06:19:11 +00:00
Bill Wendling
ac79602005
The llvm::ELFWriter::EmitGlobal() method is calling the
...
llvm::PATypeHolder::get() method when LLVM is self-hosted in Release
mode. Before the parser changed, there was a definition of llvm::PAHolder::get()
in llvmAsmParser.y. This was probably a bug that no-one noticed.
Explicitly #include the Type.h file as a temporary fix for now.
llvm-svn: 61620
2009-01-04 01:47:14 +00:00
Dan Gohman
b9fa1d24f8
Fix a DAGCombiner abort on an invalid shift count constant. This fixes PR3250.
...
llvm-svn: 61613
2009-01-03 19:22:06 +00:00
Dan Gohman
4d41fdf4ca
CommuteNodesToReducePressure() is now removed.
...
llvm-svn: 61612
2009-01-03 19:19:30 +00:00
Dan Gohman
1be2e9650e
Remove the code from the scheduler that commuted two-address
...
instructions to avoid copies, because TwoAddressInstructionPass
also does this optimization. The scheduler's version didn't
account for live-out values, which resulted in spurious commutes
and missed opportunities.
Now, TwoAddressInstructionPass handles all the opportunities,
instead of just those that the scheduler missed. The result is
usually the same, though there are occasional trivial differences
resulting from the avoidance of spurious commutes.
llvm-svn: 61611
2009-01-03 18:01:46 +00:00
Nick Lewycky
1d805c62c4
Any void readonly functions are provably dead, don't waste time adding
...
nocapture attributes to them.
llvm-svn: 61610
2009-01-03 17:05:32 +00:00
Evan Cheng
6e100a62b1
Add Intel processors core i7 and atom.
...
llvm-svn: 61603
2009-01-03 04:24:44 +00:00
Evan Cheng
9a3ec1b208
Fix PR3210: Detect more Intel processors. Patch by Torok Edwin.
...
llvm-svn: 61602
2009-01-03 04:04:46 +00:00
Nick Lewycky
8f375fc215
We know it's always a SCEVConstant if it gets here, so just cast it and
...
inline the only use of isNegative. Fixes warning reported by Mike Stump.
llvm-svn: 61600
2009-01-03 01:53:24 +00:00