Commit Graph

64877 Commits

Author SHA1 Message Date
Devang Patel d7fd6aba7c Keep track of metadata used by other metadata.
llvm-svn: 78012
2009-08-03 22:51:10 +00:00
Chris Lattner 09441faba9 use TLOF to compute the section for a function instead of
replicating the logic manually.

llvm-svn: 78011
2009-08-03 22:32:50 +00:00
Dan Gohman cb9630ddcd Minor whitespace fix, so this doesn't look like a unary *.
llvm-svn: 78010
2009-08-03 22:30:18 +00:00
Dan Gohman eaed26eb0e Add -disable-output. Thanks Bill!
llvm-svn: 78009
2009-08-03 22:24:22 +00:00
Ted Kremenek d7e467f39c Add test case testing field sensitivity. Reduced from <rdar://problem/7114618>.
llvm-svn: 78008
2009-08-03 22:23:24 +00:00
Chris Lattner 73ebe435ca convert macho stub emission to use SwitchToSection instead of
textual sections.

llvm-svn: 78007
2009-08-03 22:18:15 +00:00
Chris Lattner e7a932d145 hoist some common code out of a switch
llvm-svn: 78006
2009-08-03 22:16:57 +00:00
Dan Gohman f011f5a8a2 Add a new Constant::getIntegerValue helper function, and convert a
few places in InstCombine to use it, to fix problems handling pointer
types. This fixes the recent llvm-gcc bootstrap error.

llvm-svn: 78005
2009-08-03 22:07:33 +00:00
Chris Lattner feb01a100b this really shouldn't switch sections without telling the asmprinter, but
hey it uses .previous, so it should work :)

llvm-svn: 78004
2009-08-03 21:57:00 +00:00
David Greene ec9bc28812 Re-apply LiveInterval index dumping patch, with fixes suggested by Bill
and others.

llvm-svn: 78003
2009-08-03 21:55:09 +00:00
Chris Lattner d2c179c8f6 Eliminate textual section switching from the x86 backend, one
more step towards "semantics sections"

llvm-svn: 78002
2009-08-03 21:53:27 +00:00
Daniel Dunbar 4d93a4f9d4 Make sure UTF-16 strings end with a 16-bit null (as opposed to 8-bit).
llvm-svn: 78001
2009-08-03 21:47:08 +00:00
Ted Kremenek 0bb32e3e5d Handle disgusting corner case where a byte is loaded from the address of a function.
llvm-svn: 78000
2009-08-03 21:41:46 +00:00
Daniel Dunbar a1d8bcd33e When generating cleanup blocks for Obj-C @finally, mark them as catch all blocks
from the perspective of LLVM exception handling. Otherwise the C++ personality
function may decide not to run them, if it only detects cleanup handlers.
 - Test case for this is exceptions.m in llvm-test.

llvm-svn: 77999
2009-08-03 21:20:07 +00:00
Ted Kremenek 72ddac6cb8 Regression fix: reset 'DisplayedFunction' when a new function/method decl gets analyzed.
llvm-svn: 77996
2009-08-03 21:01:21 +00:00
Fariborz Jahanian d44bdb2926 assert(nyi) on attempt to destruct an array of objects.
llvm-svn: 77993
2009-08-03 20:51:29 +00:00
Bob Wilson f307e0bd6d Lower CONCAT_VECTOR during legalization instead of matching it during isel.
Add a testcase.

llvm-svn: 77992
2009-08-03 20:36:38 +00:00
Fariborz Jahanian 18c062361d ir-gen for destructor calls.
llvm-svn: 77991
2009-08-03 20:20:07 +00:00
John McCall 49bfce4227 Refactor methods on DeclSpec to take a diagnostic& parameter, and reflect this
elsewhere.  Very slightly decouples DeclSpec users from knowing the exact
diagnostics to report, and makes it easier to provide different diagnostics in
some places.

llvm-svn: 77990
2009-08-03 20:12:06 +00:00
Jakob Stoklund Olesen 5d8ace0902 Fix Bug 4657: register scavenger asserts with subreg lowering
When LowerSubregsInstructionPass::LowerInsert eliminates an INSERT_SUBREG
instriction because it is an identity copy, make sure that the same registers
are alive before and after the elimination.

When the super-register is marked <undef> this requires inserting an
IMPLICIT_DEF instruction to make sure the super register is live.

Fix a related bug where a kill flag on the inserted sub-register was not transferred properly.

Finally, clear the undef flag in MachineInstr::addRegisterKilled. Undef implies dead and kill implies live, so they cant both be valid.

llvm-svn: 77989
2009-08-03 20:08:18 +00:00
Eli Friedman 0519492cb6 Website updates for working with Visual Studio and making patches.
Patch by John Thompson!

llvm-svn: 77988
2009-08-03 19:42:28 +00:00
Jakob Stoklund Olesen a73416bd1c Minor stylistic cleanups in the Blackfin target.
Thanks Chris.

llvm-svn: 77987
2009-08-03 19:32:30 +00:00
Eli Friedman cfd3bbe643 Make SimplifyDemandedUseBits generate vector constants where
appropriate.  Patch per report on llvmdev.  No testcase because the 
original report didn't come with a testcase, and I can't come up with a case
that actually fails.

llvm-svn: 77986
2009-08-03 19:15:42 +00:00
Fariborz Jahanian 6782844874 Minor renaming/refactoring. No change in functionality.
llvm-svn: 77985
2009-08-03 19:13:25 +00:00
Chris Lattner 9170f36f5c make getObjFileLowering() return a non-const reference.
llvm-svn: 77984
2009-08-03 19:12:26 +00:00
Chris Lattner 87a2ebd77d remove a dead switch directive, replace it with some
code that I will be using shortly.

llvm-svn: 77983
2009-08-03 19:10:44 +00:00
Bob Wilson 5f6f72605b Revert 77974. It breaks 3 of the ARM tests.
llvm-svn: 77982
2009-08-03 19:06:29 +00:00
John McCall 898cd0fced Templatize BadSpecifier and introduce DeclSpec::getSpecifier(T) for the
remaining specifier enums T.

llvm-svn: 77981
2009-08-03 18:47:27 +00:00
Evan Cheng 3aa1e77572 Remove neverHasSideEffects on MMX_MOVD64rrv164 since it has a matching pattern.
llvm-svn: 77978
2009-08-03 18:07:19 +00:00
Chris Lattner 21f54a7572 eliminate textual section switching from intel asm printer.
This will cause it to enter the ".text" section instead of "_text"
but masm is already broken.

llvm-svn: 77977
2009-08-03 18:06:07 +00:00
Chris Lattner c85652192c make SwitchToSection accept null sections for now.
llvm-svn: 77976
2009-08-03 18:04:42 +00:00
Daniel Dunbar 1b7868ec54 Change C, CBE, MSIL to not provide target data via getTargetData().
- The theory is these should never actually be called, since these boil down to
   passes which can access the target data via the standard mechanism.

llvm-svn: 77975
2009-08-03 17:40:25 +00:00
Sanjiv Gupta 9503900c60 Allow targets to custom handle softening of results or operands before trying the standard stuff.
llvm-svn: 77974
2009-08-03 17:35:21 +00:00
Daniel Dunbar c0deed3263 Provide target data from the module if the target machine doesn't have any.
llvm-svn: 77973
2009-08-03 17:34:19 +00:00
Daniel Dunbar 59e476b1b9 Formatting fixes (trailing whitespace, 80-cols, indentation).
llvm-svn: 77972
2009-08-03 17:06:42 +00:00
Benjamin Kramer c28b306423 llvm_report_error already prints "LLVM ERROR:". So stop reporting errors like "LLVM ERROR: llvm: error:" or "LLVM ERROR: ERROR:".
llvm-svn: 77971
2009-08-03 13:33:33 +00:00
Eli Friedman 76df43c08b Fix assertion crash. I don't have a testcase, but the fix is pretty
obviously correct.

llvm-svn: 77969
2009-08-03 09:07:06 +00:00
Anton Korobeynikov f48daf5823 Unbreak win64 compilation callback.
Since we're generating stubs by hands we don't follow the ABI and don't
create a register spill area.
Don't use this area in compilation callback!

llvm-svn: 77968
2009-08-03 08:43:36 +00:00
Evan Cheng 093e124256 Fix a coaelescer bug. If a copy val# is extended to eliminate a non-trivially coalesced copy, and the copy kills its source register. Trim the source register's live range to the last use if possible. This fixes up kill marker to make the scavenger happy.
llvm-svn: 77967
2009-08-03 08:41:59 +00:00
Anton Korobeynikov 03056efe01 Create proper frame index for FP
llvm-svn: 77966
2009-08-03 08:14:30 +00:00
Anton Korobeynikov 7d80ab1593 Perform bitconvert to proper type
llvm-svn: 77965
2009-08-03 08:14:14 +00:00
Anton Korobeynikov 442beabbf7 Add 'Indirect' LocInfo class and use to pass __m128 on win64. Also minore fixes here and there (mostly __m64).
llvm-svn: 77964
2009-08-03 08:13:56 +00:00
Anton Korobeynikov 72bc3846bc Cleanup Darwin MMX calling conv stuff - make the stuff more generic. This also fixes a subtle bug, when 6th v1i64 argument passed wrongly.
llvm-svn: 77963
2009-08-03 08:13:24 +00:00
Anton Korobeynikov 71386e08fe Unbreak Win64 CC. Step one: honour register save area, fix some alignment and provide a different set of call-clobberred registers.
llvm-svn: 77962
2009-08-03 08:12:53 +00:00
Zhongxing Xu 9ad0b46a80 add a bunch of routine methods to AnalysisContext.
llvm-svn: 77961
2009-08-03 07:23:22 +00:00
Nick Lewycky 129bb4165f Remove the GCC path from libLTO. This has been superceded by setAssemblerPath.
llvm-svn: 77960
2009-08-03 07:16:42 +00:00
Devang Patel 79238d7e6b Add NamedMDNode destructor.
llvm-svn: 77959
2009-08-03 06:19:01 +00:00
Edward O'Callaghan 7578f80b0c Fix newlinew warning in floatundidf.c , Bulkout CMake system more, complete port to AuroraUX and Solaris.
llvm-svn: 77958
2009-08-03 05:59:48 +00:00
Daniel Dunbar f0e2ea2869 lit: Don't treat '\' as an escape in unquoted strings, on Win32. This turns out
to not be a very good idea.

llvm-svn: 77957
2009-08-03 05:29:22 +00:00
Rafael Espindola 70e9816624 Use movd instead of movq
llvm-svn: 77956
2009-08-03 05:21:05 +00:00