Justin Holewinski
d8149c1bef
PTX: Always use registers for return values, but use .param space for device
...
parameters if SM >= 2.0
- Update test cases to be more robust against register allocation changes
- Bump up the number of registers to 128 per type
- Include Python script to re-generate register file with any number of
registers
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133736 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-23 18:10:13 +00:00
Justin Holewinski
6b1131e5ff
PTX: Fixup test cases for device param changes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133735 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-23 18:10:08 +00:00
Justin Holewinski
486ca24c08
PTX: Whitespace fixes and remove commented out code
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133734 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-23 18:10:07 +00:00
Justin Holewinski
a5ccb4e974
PTX: Prevent DCE from eliminating st.param calls, and unify the handling of
...
st.param and ld.param
FIXME: Test cases still need to be updated
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133733 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-23 18:10:05 +00:00
Justin Holewinski
67a9184861
PTX: Use .param space for parameters in device functions for SM >= 2.0
...
FIXME: DCE is eliminating the final st.param.x calls, figure out why
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133732 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-23 18:10:03 +00:00
Andrew Trick
28578e3137
cmake+lit: final cleanup related to the recent churn
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133729 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-23 18:00:32 +00:00
Evan Cheng
ef41ff618f
Remove TargetOptions.h dependency from X86Subtarget.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133726 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-23 17:54:54 +00:00
Andrew Trick
75d33878ab
cmake+lit: handle ENABLE_ASSERTIONS feature properly.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133725 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-23 17:52:36 +00:00
Rafael Espindola
83471853b1
Revert "revert 133714"
...
This reverts commit e8e00f5efb
.
The cmake build on OS X is still broken.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133718 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-23 14:19:39 +00:00
Rafael Espindola
385f46146c
Add missing file.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133717 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-23 14:02:13 +00:00
Dylan Noblesmith
e8e00f5efb
revert 133714
...
It broke the build worse.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133716 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-23 13:56:01 +00:00
Rafael Espindola
cd34486581
133713 broke the build, revert it.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133714 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-23 13:37:38 +00:00
Dylan Noblesmith
5417eed201
Support: make floating-exception header private
...
It has only one user. This eliminates the last include of
config.h from the public headers -- ideally, config.h
shouldn't even be installed by `make install` anymore.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133713 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-23 12:45:54 +00:00
Dylan Noblesmith
4e5885dc0f
Don't include config.h in public headers
...
Replace it with llvm-config.h, which defines a subset of
config.h's macros "so that they can be in exported headers
and won't override package specific directives", e.g.,
PACKAGE_NAME.
Endian.h wasn't using any macros at all though, so just delete
the include there instead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133712 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-23 12:34:31 +00:00
Dylan Noblesmith
3fa9a42fdd
remove CMake mode_t define
...
It's now replaced with a simple ifdef _MSC_VER in the one
place it's needed (clang's FileManager.h header).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133711 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-23 12:21:33 +00:00
Dylan Noblesmith
4dd26ddf8e
CppBackend: fixup for api change
...
This broke after r133364.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133709 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-23 12:11:37 +00:00
Jay Foad
95c3e48f95
Reinstate r133513 (reverted in r133700) with an additional fix for a
...
-Wshorten-64-to-32 warning in Instructions.h.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133708 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-23 09:09:15 +00:00
Bill Wendling
5b46e8e6b8
Use a reference. Don't make a useless copy of the vector.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133707 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-23 07:55:41 +00:00
Bill Wendling
a8c9e6a943
Formatting changes. No functionality change.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133706 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-23 07:44:54 +00:00
Eric Christopher
e59fbc04ad
Revert r133513:
...
"Reinstate r133435 and r133449 (reverted in r133499) now that the clang
self-hosted build failure has been fixed (r133512)."
Due to some additional warnings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133700 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-23 06:24:52 +00:00
Bill Wendling
4c0c446d74
Use the presence of the __compact_unwind section to indicate that a target
...
supports compact unwind info instead of having a separate flag indicating this.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133685 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-23 05:13:28 +00:00
Rafael Espindola
9dbbd87938
Move more logic to shouldTailDuplicate and only duplicate regular bb before
...
register allocation if it has a indirectbr or if we can duplicate it to
every predecessor.
This fixes the SingleSource/Benchmarks/Shootout-C++/matrix.cpp regression but
keeps the previous improvements to sunspider.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133682 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-23 03:41:29 +00:00
Evan Cheng
2fa82bc3da
Get rid of one getStackAlignment(). RegisterInfo shouldn't need to know about stack alignment.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133679 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-23 01:53:43 +00:00
Bill Wendling
e3cd13f0e2
Some skeleton code to emit the compact unwind. If the information is unable to
...
be emitted in a compact way, we then default to emitting a CIE and FDE.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133676 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-23 01:06:23 +00:00
Bill Wendling
533c9ac021
Allow the AsmInfo to query for the compact unwind section.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133670 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-23 00:23:04 +00:00
Bill Wendling
de0cea7e49
Allow the AsmInfo to query the TLOF to see if it supports compact unwind.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133669 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-23 00:12:58 +00:00
Bill Wendling
3f2ea825bd
80-column violations.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133668 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-23 00:09:43 +00:00
Andrew Trick
f2a58425cd
lit support for REQUIRES: asserts.
...
Take #2 . Don't piggyback on the existing config.build_mode. Instead,
define a new lit feature for each build feature we need (currently
just "asserts"). Teach both autoconf'd and cmake'd Makefiles to define
this feature within test/lit.site.cfg. This doesn't require any lit
harness changes and should be more robust across build systems.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133664 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-22 23:23:19 +00:00
Bill Wendling
1a3ab63cb5
Add a flag that indicates whether a target supports compact unwind info or not.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133662 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-22 23:16:51 +00:00
Rafael Espindola
d6379a993c
Reenable tail duplication of bb with just an unconditional jump, but
...
don't remove blocks that have their address taken.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133659 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-22 22:31:57 +00:00
Bill Wendling
aa0a8f3177
Add a __LD,__compact_unwind section.
...
If the linker supports it, this will hold the CIE and FDE information in a
compact format. The implementation of the compact unwinding emission is coming
soon.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133658 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-22 22:22:24 +00:00
Nick Lewycky
e6240e8b83
Fix the implementation of ConstantRange::sub(ConstantRange). Patch by Xi Wang!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133648 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-22 21:13:46 +00:00
Chad Rosier
f78b5952c3
Revert r133607. This is causing failures in the Clang gccTestSuite.
...
Specifically, gcc.c-torture/compile/pr21356.c.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133646 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-22 21:13:23 +00:00
Bill Wendling
bbdffa9ab0
Move class methods out-of-line. This reduces the indentation, and is more in
...
line with LLVM's general coding style.
No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133645 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-22 21:07:27 +00:00
Devang Patel
df3ad6697b
New binops need debug loc.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133642 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-22 20:56:56 +00:00
Daniel Dunbar
46d061c0fb
test/Unit: Fix enable shared test to follow check that we have actually loaded
...
the site config.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133641 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-22 20:41:53 +00:00
Jim Grosbach
d7d71a1859
Add missing header.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133640 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-22 20:40:30 +00:00
Jim Grosbach
2fc6898886
Move ARMMachObjectWriter to its own file.
...
Just tidy up a bit. No functional change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133638 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-22 20:14:52 +00:00
Devang Patel
a098bf1239
Set debug loc.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133636 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-22 19:52:36 +00:00
Nick Lewycky
6d3a0e287b
Needs a triple.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133634 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-22 19:42:14 +00:00
Nick Lewycky
5b7ac1402f
Emit trailing padding on constant vectors when TargetData says that the vector
...
is larger than the sum of the elements (including per-element padding).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133631 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-22 18:55:03 +00:00
Justin Holewinski
08d03168f2
PTX: Fix FrameIndex mapping bug
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133619 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-22 16:07:03 +00:00
Jay Foad
267010864e
Replace the existing forms of ConstantArray::get() with a single form
...
that takes an ArrayRef.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133615 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-22 09:24:39 +00:00
Jay Foad
a0c138429e
Make ConstantVector::get() always take an ArrayRef, never a std::vector.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133614 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-22 09:10:19 +00:00
Dan Bailey
3e8cff47a7
Test Commit.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133613 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-22 09:04:30 +00:00
Jay Foad
0df445b460
Eliminate a temporary std::vector in ConstantStruct::get().
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133612 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-22 08:55:11 +00:00
Jay Foad
2a4a6fecf0
Extend ConstantUniqueMap with a new template parameter ValRefType,
...
representing a constant reference to ValType. Normally this is just
"const ValType &", but when ValType is a std::vector we want to use
ArrayRef as the reference type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133611 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-22 08:50:06 +00:00
Andrew Trick
4383c282af
Only do config-time substitution of LLVM_BUILD_MODE in
...
test/lit.site.cfg, not Unit/test/lit.site.cfg.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133608 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-22 05:43:36 +00:00
Rafael Espindola
c9be257261
Reenable the optimization added in 133415, but change the definition of a "simple" bb to
...
be one with only one unconditional branch and no phis. Duplicating the phis in this case
is possible, but requeres liveness analysis or breaking edges.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133607 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-22 04:01:58 +00:00
Justin Holewinski
6332fdef15
PTX: Add signed integer comparisons
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133599 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-22 02:09:50 +00:00